Encrypted files --------------- - Each encrypted file has at least two components: the encrypted data file ('catfile'), and it's corresponding key file ('keyfile'). Shared files have an additional key file ('share key'). The catfile contains the encrypted data concatenated with delimiter text, followed by the initialisation vector ('IV'), and padding. e.g.: [encrypted data string][delimiter][IV][padding] [anhAAjAmcGXqj1X9g==][00iv00][MSHU5N5gECP7aAg7][xx] (square braces added) Notes ----- - The user passphrase is required in order to set up or upgrade the app. New keypair generation, and the re-encryption of legacy encrypted files requires it. Therefore an appinfo/update.php script cannot be used, and upgrade logic is handled in the login hook listener.