End-to-end encrypted messenger without a server
Messages only two people can read.
AES256CHAT encrypts on your device and sends the envelope over whatever channel you already use – Telegram, WhatsApp, e-mail, or straight from phone to phone. No account, no server, no data anywhere.
- No server
- No account
- Post-quantum handshake
- Open source (AGPL)
How it works
Three steps, no sign-up. Encryption stays entirely on your devices.
- 1
Pair contacts by QR code
Hold the phones screen to screen – both show a code and scan with the front camera at the same time. Afterwards each device holds the other's keys. Alternatively step by step, or as a text code.
- 2
Write – the envelope is copied or shared
You type as usual. The app encrypts and puts an envelope like “🛡️MSG:…” on the clipboard or opens the share sheet. Paste it into Telegram, WhatsApp, an e-mail, anywhere.
- 3
Receive: Share → AES256CHAT
Your contact taps the envelope, chooses Share and AES256CHAT – the message appears decrypted in the chat. When both are online, the devices can link directly and messages arrive instantly.
The transport channel only ever sees ciphertext. What it cannot see, it cannot store, analyse or hand over.
What makes AES256CHAT different
No server – really none
The app talks to no server. No relay, no account, no telemetry. The Content Security Policy enforces it technically.
Post-quantum handshake
Contacts are paired with X25519 plus ML-KEM-768. An attacker must break both – a future quantum computer cannot open traffic recorded today.
Forward secrecy
Double Ratchet as in Signal: every message has its own key. A compromised key opens no past messages.
Nothing is stored
By default messages live in memory only. Locking or closing wipes them. History is opt-in, encrypted, with auto-delete.
Access control
Master passphrase with Argon2id, auto-lock, lock on app switch, exponential lockout, optional self-destruct. No screenshots on Android.
Free to spread
Pass the APK on, open it in a browser, install it as a PWA – the app is bound to no domain and no service and works offline.
Security – specific, not “military grade”
We name the algorithms. Everything is readable in the source code.
- Identity
- Ed25519 (signatures) + X25519 (key agreement) + ML-KEM-768 (post-quantum KEM), generated on the device
- Contact handshake
- PQXDH pattern: four X25519 agreements + ML-KEM-768, signed, via QR or text
- Messages
- Double Ratchet (X25519, HKDF-SHA-512, AES-256-GCM) – forward secrecy and post-compromise recovery
- Envelope
- 🛡️MSG:<base64url>, no sender or recipient identifier; the receiver trial-decrypts against its contacts
- Files
- As an encrypted .aes256 file; images are downscaled first (EXIF dropped)
What the app does not protect
- Metadata in the transport channel: Telegram knows you sent Bob something at 14:02 – just not what.
- A compromised device: malware or someone reading along sees plaintext – as with any messenger.
- The handshake, if you never compare the safety number and the exchange channel is hostile.
Threat model and crypto details: SECURITY.md in the repository. There has been no external audit yet – and we do not claim one.
SECURITY.md →Frequently asked questions
- What is AES256CHAT?
- An end-to-end encrypted messenger without a server. It encrypts messages on the device and transports them as text envelopes over any channel – Telegram, WhatsApp, e-mail, QR code – or directly from device to device.
- Do I need an account or a phone number?
- No. On first start the app generates an anonymous identity on your device. Contacts are paired by QR code. There is no server to sign up with.
- How secure is the encryption?
- Contacts are paired with X25519 and ML-KEM-768 (post-quantum); messages use a Double Ratchet with AES-256-GCM – the same protocol family as Signal. Every message has its own key.
- What does “quantum-resistant” mean here, concretely?
- The session secret is derived hybridly from X25519 and ML-KEM-768 (standardised by NIST in 2024). Whoever records traffic today cannot open it with a future quantum computer unless both schemes are broken.
Support the project
AES256CHAT is free, ad-free and has no server – nothing about it pays for itself. If the project is worth something to you, a Bitcoin donation is welcome. It goes into development, audits and the website.
13VUvHa7YLZwLayexJxeTCxXBAwWf5LmNNReady for conversations that belong to you alone?
Two minutes to your first encrypted envelope.
Get started