PGP Encryption
What is PGP?
Pretty Good Privacy (PGP) provides end-to-end encryption for email. Only the intended recipient can decrypt the message. MonoMail also supports cryptographic signing to verify the sender's identity.
Key management
Access from Settings → PGP Keys. You can:
- Generate a new Ed25519 (signing) + X25519 (encryption) key pair. Optionally protect with a passphrase.
- Import an existing ASCII-armored PGP key (public or private). Optionally provide the passphrase.
- Export a public key — copies the armored key to clipboard for sharing.
- Delete a key — removes private key, public key, and metadata.
Encrypting outgoing email
- Import or generate a PGP key pair.
- Import the recipient's public key (or generate one for them if you control both ends).
- In the compose screen, tap the lock icon (encrypt) in the toolbar.
- When you send, the body is encrypted for all recipients using their stored public keys.
- Optionally, tap the pen icon (sign) to also sign the message cryptographically.
Receiving encrypted email
- Incoming PGP/MIME and inline PGP messages are detected automatically.
- If you have the corresponding private key, the email is decrypted transparently.
- A green lock badge appears below the body if decryption succeeded.
- A signature badge shows whether the signature is valid and who signed it.
- If decryption fails (missing key, wrong passphrase), a "PGP Encrypted" placeholder is shown.
Key storage
| Data | Storage |
| Private keys | ASCII-armored files, encrypted via Android KeyStore AES-GCM |
| Public keys | Plain ASCII-armored files |
| Passphrases | Encrypted blobs on disk |
| Metadata | EncryptedSharedPreferences (fingerprint, algorithm, creation date) |
Exporting a public key
- Go to Settings → PGP Keys.
- Find the key and tap Export.
- The armored key is shown in a dialog with a Copy button.
- Share the copied key with your contact.