Introduction to aesmsg
aesmsg is a privacy-first encryption layer over the communication channels you already use. Encrypt sensitive content locally, share an opaque link through any app, and only the intended recipient can ever open it.
What is aesmsg?
The channels people use to send credentials, files, and confidential notes — Slack, WhatsApp, email — were never designed to keep that content private from the channel itself. aesmsg sits one layer above: it encrypts before you send, so the channel only ever transports an opaque link to ciphertext.
How it Works
Every message follows the same six-step path from your device to your recipient's — and at no point does plaintext touch our servers.
Quickstart
Send your first encrypted message in under a minute.
Encryption Model
aesmsg uses HPKE (RFC 9180) — DHKEM(X25519, HKDF-SHA256) for key encapsulation, AES-256-GCM for the payload, and HKDF-SHA256 as the KDF. Every message gets a fresh symmetric key.
| Layer | Primitive |
|---|---|
| Key encapsulation | DHKEM(X25519, HKDF-SHA256) |
| Payload encryption | AES-256-GCM |
| Key derivation | HKDF-SHA256 |
Keys & Identity
Every user has a PKI keypair generated on-device. Your private key never leaves your device unless you explicitly export an encrypted backup. Trust between users is established by manual fingerprint verification or QR scan.
Secure Links
A secure link is a pointer, not a secret. Without the recipient's private key it is useless. Public link previews are safe — messaging apps that auto-fetch the URL never consume an open or expose ciphertext.
Expiry & Revocation
Links can self-destruct after a set time (10m, 1h, 24h, 7d, or custom), cap the number of opens (1, 3, or unlimited until expiry), and be manually revoked at any time. Revocation purges the ciphertext from the server immediately.
Threat Model
aesmsg protects the confidentiality and integrity of your message contents against the server, the transport channel, and anyone with later access to the conversation. It does not hide that communication occurred, nor protect a device already compromised at the OS level.
Zero-Knowledge
The server stores only: message ID, ciphertext, creation time, expiry, max opens, and status. It never stores plaintext, private keys, message previews, or unencrypted attachments. This is the core guarantee — everything else follows from it.