Double-layer encryption for incoming external email
Every email that arrives from outside Private.Ki is PGP-encrypted to your key the moment it lands — even if the sender already encrypted it. Why we do it.
Email from other providers — Gmail, a company mail server, anyone not on Private.Ki — reaches our mail server the way the sender's provider delivered it. Our server does not store it that way. Before anything is written to storage, the whole incoming message is PGP-encrypted to your public key. If the sender had already PGP-encrypted the message to you, it now carries two layers: theirs on the inside, ours on the outside.
What happens on arrival
Our mail server handles every incoming external email the same way, whether or not it is already encrypted:
- It reads the routing headers it needs — the recipient (to find your mailbox), the sender, subject, Message-ID, In-Reply-To and References — and checks whether the message contains a PGP-encrypted part.
- It encrypts the complete raw email (headers, body, attachments) to your public key.
- It encrypts the header summary and the sender's name and address to your public key as well.
- It stores those three ciphertexts and notifies your device that mail has arrived.
The plaintext exists only in the mail server's memory during those steps. Nothing unencrypted is written to a mailbox, a queue or a log.
Reading a double-encrypted email
When you open the message, your device removes the outer layer with your private key. What is left is the original email exactly as the sender's software produced it. If that email contains a PGP part, your device decrypts it with the same private key and shows you the result. You do not do anything twice; the message simply opens.
After you have opened it once, your device stores the message again — this time encrypted with AES-256-GCM under your master key, so it opens faster next time. The sender's inner PGP layer is kept as part of that stored copy. See What is encrypted, and where for the full picture.
The outer layer means our server treats every incoming email identically: nothing it stores for you is ever readable without your key, and the sender's choice of client does not change that. Because PGP uses a fresh random session key for every encryption, the stored copy in your mailbox is also a different ciphertext from what the sender transmitted, or from what any other recipient of the same message holds.
What our server sees
Cannot see
- The body of an email the sender already encrypted to your key — it arrives as ciphertext and stays ciphertext
- The body of any external email after the moment it is encrypted to your key
Can see
- The body of a plain external email while it is being encrypted on arrival — unavoidably, because it arrived unencrypted
- Sender, recipient, subject, Message-ID and date of every external email, as delivered over SMTP
- Whether the message contained a PGP part (that sets the padlock you see later)
The second layer protects the stored copy. It cannot undo what happened before the mail reached us: the sender's provider saw the addresses and subject, and so does any server on the way. If you want the subject and addresses protected too, both of you need to be on Private.Ki — see Encrypted email between Private.Ki users.
Common questions
How can I tell that an incoming email was encrypted by the sender?
Open it and look at the icons beside the sender's address. A green closed padlock means the message arrived PGP-encrypted; a red open padlock means it arrived in plain text and was encrypted only on arrival — such a message also opens with the banner External message: Not end-to-end encrypted, but stored in an encrypted form. See Check the encryption status of a message.
Does the sender need my public key for this?
Only for the inner layer. The outer layer is added for every email, so a plain email from someone without PGP is still stored encrypted to your key. To let external contacts encrypt to you themselves, share your public key.
Is my reply encrypted too?
Only if you hold the recipient's public key. If you reply to an external contact whose key you have not imported, the Encrypt switch is off and a warning tells you the reply leaves unencrypted — including any quoted text. See Encrypted email with external contacts.