Encryption
Encryption in Inboxes
Only an end user can create an Inbox, by providing a set of public keys for the users who should have access to the Inbox.
Asymmetric public key is used to write to the Inbox, which allows anonymous external users to submit Inbox entries.
A key for reading the Inbox (Inbox Encryption Key) is generated always by the Inbox author/owner and securely stored on the server, encrypted using public keys of users assigned to the Inbox and all its submissions. This ensures that only the authorized users have access to the Inbox Encryption Key. Unencrypted keys never leave user Endpoints.
When accessing an Inbox and its submissions, the encrypted Inbox Encryption Key is sent to each user based on their access. Only the users with proper Private Keys can decrypt Inbox Encryption Key. Using this key, submissions are decrypted in the Endpoint environment.
This process is handled by the PrivMX Endpoint Library and is completely seamless for Endpoint Users.