Encryption & signatures
S/MIME and PGP: add keys, send encrypted, verify signatures — and where the limits are.
What is encrypted — and what is not
Astreo supports S/MIME and OpenPGP. Both protect the content of a message end to end: it is encrypted by the sender and decrypted by the recipient. Nobody in between can read it — not even a mail server.
That is different from the two layers that always apply anyway:
- Transport encryption (TLS) only secures the hop between two servers.
- Encryption at rest secures the data on our disks — see Settings & security.
- S/MIME and PGP protect the message itself, no matter how many servers it passes through.
What is not protected: the subject and the addresses. They live in the headers every mail server needs for delivery and therefore stay outside the encryption. This applies to S/MIME and PGP alike and is not an Astreo peculiarity. If someone sends you a message using protected headers (Thunderbird and others do), Astreo shows the real inner subject instead of the placeholder on the outer envelope.
Adding your own key
Everything lives under Settings → Encryption. You need a key of your own in order to sign and to read encrypted mail addressed to you.
- Import S/MIME: upload your certificate file (
.p12or.pfx) and enter its passphrase. It holds both the certificate and the private key. You get such files from a certificate authority or from your own PKI. - Import PGP: paste an ASCII-armored key — private (your own) or public (someone else's).
- Generate PGP: Astreo can create a new key pair (RSA, 2048 bit) for an address. Handy if you do not have a PGP key yet.
Every key can be bound to a mailbox or kept personal. The first key of your own per method automatically becomes the default; use Make default to change that at any time. The list shows the method, address, fingerprint, validity and whether it is your own key or a recipient's. Expired keys are marked as such.
Private keys never come back out: Astreo does not display them again after import and does not hand them out through the APIs.
Your correspondents' keys
You can only encrypt to recipients whose public key you hold. Astreo usually collects those on its own:
- From signed mail: when someone sends you a signed message, Astreo picks up their S/MIME certificate or PGP key automatically. A single exchange of signed messages in both directions is therefore enough for both sides to start encrypting.
- From the Autocrypt header and from attached PGP key files — including on unencrypted messages.
- Via WKD: if a PGP key is missing when you encrypt, Astreo queries the recipient domain's Web Key Directory (the usual, privacy-friendly route — no central key server) and picks up a key published there for that address.
- By hand: you can always paste a public PGP key yourself via Import PGP.
Signing & sending encrypted
The composer has toggles for Sign and Encrypt plus the choice of method (S/MIME or PGP). Either can be used on its own or both together.
- Signing proves the message is from you and was not altered in transit.
- Encrypting makes the content readable to the recipients only.
- Before sending, Astreo checks that you have a key of your own and that a key exists for every recipient address. If one is missing, the send is stopped and the address named — nothing is ever quietly sent in the clear.
- Your own address is always encrypted to as well, so the copy in Sent stays readable for you.
Encrypted sending works across all connected mailbox types — SMTP as well as Microsoft 365 via Graph.
Reading encrypted mail
Astreo detects incoming protected messages by itself, decrypts them with your stored key and verifies any signature. At the top of the message you will see:
- Encrypted — the content arrived protected.
- Signature valid with the signer's name — verification succeeded.
- Signature invalid — do not trust it, the content does not match the signature.
- Signed, not verified — the matching public key for checking is missing.
Encryption details expands to show the method, signer, fingerprint and expiry date. If no matching key is available for decryption, Astreo says so plainly instead of showing an empty message.
Limits — a deliberate choice
So you know what you are relying on:
- The keys live on our server, encrypted at rest with a separate server key. This is not zero-knowledge: technically the operator could decrypt them. The reason is how Astreo works — a team should be able to read a shared mailbox, and search and AI features should keep working. If you need a model where the key never leaves your device, a local mail program serves you better.
- Decrypted content is stored, so that threads, full-text search and AI features also work on protected messages. Deleting a key later does not make already received messages unreadable.
- The trust chain of an S/MIME certificate is not verified — Astreo checks the signature itself, not whether the issuing authority is trustworthy. For important mail, compare the fingerprint with your correspondent over a second channel.
- Subject and addresses stay visible (see above).