Zero-knowledge by architecture, not by promise

Messages only you and your buddy can read.

Flamenet Messenger is an end-to-end encrypted instant messenger built on a zero-knowledge server. We never hold a key that could decrypt you — because we never have one. The server is a dumb relay that shuttles sealed envelopes it cannot open.

iOS · Android · Web · Open AIM/ICQ bridge for the old crowd

X3DH + Double Ratchet key agreement AES-256-GCM message encryption X25519 / Ed25519 identity keys No key escrow. Ever.

What zero-knowledge actually means

The server can't read you. By design, not by policy.

"Zero-knowledge" isn't a setting we could flip off, and it isn't a privacy policy we ask you to trust. The plaintext of your conversations and your private keys never leave your device. Here's the difference it makes.

TYPICAL CHAT APP

  • The server holds the keys or can read messages at rest.
  • A breach, subpoena, or rogue admin exposes your history.
  • "Encrypted" often means in transit only — decrypted on their servers.
  • You're trusting a promise that they won't look.

FLAMENET MESSENGER

  • Keys are generated and kept on your device. There is no key escrow.
  • The server stores public keys and opaque ciphertext — nothing it can open.
  • Encryption is end-to-end: sealed on your device, opened only on your buddy's.
  • You're trusting math, and you can verify it with safety numbers.

How it works

Signal-grade cryptography, three moving parts.

Every device publishes a bundle of public keys to the directory. Senders use them to derive a shared secret without either party being online at the same time, then ratchet a fresh key for every single message.

Establish a secret (X3DH)

Your device fetches your buddy's published prekey bundle and runs Extended Triple Diffie-Hellman to derive a shared secret — asynchronously, even if they're offline. The server only ever hands out public keys.

Ratchet every message

The Double Ratchet rolls a new encryption key forward for each message. A key recovered today can't decrypt yesterday's messages (forward secrecy) or tomorrow's (post-compromise security).

Seal & relay

The message is sealed with AES-256-GCM and dropped into the server's envelope queue as an opaque blob. The server delivers it without ever being able to open it.

Built in from day one

Privacy you can actually verify.

Security features that ship in v1 — not "on the roadmap."

🔑

Per-device identity

Each device is its own encryption endpoint with its own long-term keys. A new phone is a fresh identity — no silent key handoff.

🔢

Safety numbers

Compare a short fingerprint with your buddy to confirm there's no machine-in-the-middle. Get warned the moment a peer's key changes.

Forward secrecy

Every message gets its own key. Compromise one and the rest of the conversation stays sealed — past and future.

🗄️

No history on the server

The server holds sealed envelopes only until delivery. There's no decryptable archive to breach, subpoena, or mine.

📟

Open AIM/ICQ bridge

Talk to legacy OSCAR clients through an open bridge. Those threads are transport-encrypted and clearly badged as not end-to-end — no false promises.

🌐

Web that's still E2E

We chose AES-256-GCM so the browser's native WebCrypto can do the math too. The web client is real end-to-end encryption, not a downgrade.

For the people who read the spec

The whole stack, on the table.

No proprietary mystery box. Standard, audited primitives — the same building blocks the security community already trusts.

PurposeAlgorithmNotes
Key agreementX25519Asynchronous X3DH handshake
SignaturesEd25519Signs prekeys, anchors the safety number
Key derivationHKDF-SHA256RFC 5869
Message AEADAES-256-GCM12-byte nonce, 16-byte tag
RatchetDouble RatchetForward secrecy + post-compromise security
Server roleRelay + directoryPublic keys & opaque ciphertext only — no escrow

Questions

The honest answers.

If the server is a dumb relay, can Flamenet read my messages?

No. The server only ever holds your public keys and sealed ciphertext envelopes. The keys that decrypt anything live on your devices and are never uploaded. There is no escrow copy, so there's nothing for us — or anyone who compels us — to hand over in readable form.

What happens to my history if I lose my phone?

It's gone — and that's the point. A new device is a brand-new identity with new keys; it can't read messages sent before it registered. We don't sync a decryptable history to the cloud, because doing so would defeat zero-knowledge.

How do I know I'm not being man-in-the-middled?

Every device pair has a safety number derived from both identity keys. Compare it with your buddy once (in person, over a call, however you like) and you've verified the channel. If a peer's key ever changes, the app warns you before you keep talking.

Is the web version really end-to-end encrypted?

Yes. We deliberately picked AES-256-GCM as the wire cipher so browsers can do the encryption natively with WebCrypto. The web client encrypts and decrypts locally, exactly like the mobile apps.

What about my old AIM / ICQ buddies?

An optional open bridge lets you reach legacy OSCAR clients on the same buddy list. Be clear-eyed: those legacy networks can't do modern E2E, so those conversations are transport-encrypted and the app badges them as not end-to-end. Flamenet-to-Flamenet chats are always fully end-to-end.