Zero-knowledge · End-to-end encrypted · Text only

Messages the server
can never read.

IronSeal is a zero-knowledge encrypted messaging platform. Your private keys never leave your device. Even we couldn't decrypt your conversations if we tried.

Pure text. No files. No images. No attack surface. 30-day auto-delete.

See how it works
Plaintext (your device)
encrypted·sent
↑ Live demo · The server only ever sees the green text
IronSealECDH P-256
AES-256-GCM
Perfect Forward Secrecy
Passkeys (WebAuthn)
30-Day Auto-Delete
Features

Built for people who refuse to trust the server.

Every primitive is selected so that compromising the server reveals nothing about your messages.

IronSeal
Text-only by design
Files are the #1 attack vector in messaging apps — malware, tracking pixels, exploit payloads. IronSeal eliminates the entire category. Pure encrypted text, nothing else.
IronSeal
Zero-knowledge architecture
Server stores ciphertext, IV, and ephemeral public keys. No plaintext field exists in the database. A subpoena yields nothing readable.
IronSeal
Keys on your device only
ECDH P-256 keypairs are generated in your browser and encrypted at rest in IndexedDB with PBKDF2. They never traverse the network.
IronSeal
Perfect Forward Secrecy
Every message uses a fresh ephemeral key. Compromising one message reveals nothing about the rest. Past conversations stay sealed.
IronSeal
Passkey-primary, no passwords
The same FIDO2 / WebAuthn passkey standard Microsoft, Apple, and Google use across 5 billion+ active credentials. Face ID, Touch ID, Windows Hello, or a hardware security key — phishing-resistant by design.
IronSeal
Biometric-gated decryption
Every message decrypt requires a fresh biometric. Three failed attempts triggers the dead man's switch — messages are destroyed and both parties are notified in real time.
IronSeal
Tamper protection
Detected bypass attempts purge the conversation and notify both the sender and the recipient in real time. No silent failures.
IronSeal
30-day auto-delete
Every message is permanently deleted after 30 days — no exceptions, no opt-out. Less data means less risk. Set shorter lifetimes (30 seconds to 7 days) per conversation, or pin important messages to keep them.
IronSeal
Encrypted group chat
Sender Keys protocol means each group member holds a unique symmetric key. When someone leaves, all keys rotate. Past messages stay sealed.
IronSeal
Hash-chained audit log
SHA-256 chained entries make tamper-evident compliance reporting trivial — without ever recording the content of a single message.
IronSeal
Per-conversation security
Each chat has its own security profile — message lifetime, forwarding rules, screenshot detection, sensitivity level, and a computed security score.
IronSeal
Compromise recovery
One-tap panic button revokes all encryption keys and kills all sessions. If a device is lost or stolen, your conversations die with it.
IronSeal
Real-time WebSocket relay
Django Channels delivers ciphertext live. The server is a dumb pipe that validates delivery and forgets — exactly how it should be.
How it works

Four steps. No middlemen.

01
Generate
Your browser creates an ECDH P-256 keypair. The private key is encrypted and stored in IndexedDB — it never leaves.
02
Exchange
Public keys are uploaded to the server. Recipients fetch them on demand and cache them locally.
03
Encrypt
Your client derives a shared secret with ECDH and encrypts the message with AES-256-GCM before it ever leaves.
04
Decrypt
The recipient unlocks their private key with biometrics, derives the same secret, and reveals the plaintext locally.
What zero-knowledge actually means for you

Messages sent before your keys sync are unrecoverable.

Every message is encrypted on the sender's device against your public key at the moment of sending. If your device hadn't published a public key yet — or you're signing in on a fresh device — any messages sent in that window are mathematically sealed. Not even we can open them. Ask the sender to resend and it will arrive normally.

Similarly, your own outgoing messages are encrypted to the recipient's key, not yours. To let you re-read what you sent after a reload, we keep a local plaintext copy on your device, gated behind the same biometric prompt. Tap decrypt on your own message to reveal it — just like a recipient would.

This isn't a bug. It's the cost of a server that can't read your messages — and the reason it can't.

By design, not by limitation

No files. No images. No attack surface.

Every major messaging CVE in the last five years involved a malicious file, a crafted image, or an exploit-laden document. WhatsApp, Telegram, Signal — they all share files, and it's where their vulnerabilities live.

IronSeal is pure encrypted text. We deliberately excluded file sharing, image uploads, and media attachments. The attack surface is the message text itself, encrypted with AES-256-GCM. That's it. Nothing to parse. Nothing to exploit. Nothing to scan.

No file uploads·No image rendering·No media parsing·No tracking pixels
Who it's for

Built for people who can't afford a leak.

If your messages getting exposed means lawsuits, lost clients, or lives at risk — IronSeal is for you.

Healthcare
HIPAA-compliant team communication. Audit trails for every message event without exposing patient data.
Legal
Attorney-client privilege enforced at the protocol level. Messages self-destruct, forwarding is blocked, and the audit trail proves it.
Finance
SEC and FINRA-grade communication records. Hash-chained audit logs that external auditors can independently verify.
Journalism
Source protection that doesn't rely on trust. Biometric-gated messages that self-destruct on unauthorized access attempts.
Pricing

Free. Full encryption. No catch.

Every security feature, unlimited messaging, forever. We build the Business tier when there's proof people want it.

Free forever
Personal
$0.00/ mo
Full zero-knowledge encryption. Every security feature. No compromises.
Unlimited contacts
Groups up to 10 members
Text-only · No file sharing
  • Full encryption stack — ECDH P-256 + AES-256-GCM + PFS
  • 30-day message auto-delete
  • Encrypted group chat
  • Tamper protection (dead man's switch)
  • Self-destructing messages
Start free →

Need admin controls, compliance exports, and team management for your organization? Business plans coming soon

Work email preferred · We only email once, when Business launches
Security manifesto

If we got subpoenaed, we'd have nothing to hand over.

IronSeal's database has no plaintext column. The WebSocket relay validates that ciphertext exists and rebroadcasts it — it never inspects the bytes.

Private keys are generated client-side, encrypted with a PBKDF2-derived key, and stored in IndexedDB. They never traverse the network. Lose the device, lose access — that's the point.

Every message uses a fresh ephemeral keypair, so even a complete server breach plus identity-key compromise doesn't retroactively decrypt past conversations.

The audit log is hash-chained (SHA-256, append-only) so any tampering with the security record is mathematically detectable — without ever recording the content of a single message.

We deliberately excluded file sharing, image uploads, and media attachments. Every CVE in WhatsApp, Telegram, and Signal's history involving malicious files, crafted images, or exploit-laden documents — none of that exists here. The attack surface is the message text, encrypted with AES-256-GCM. That's it.

NIST-approved algorithms
Open-source crypto (Web Crypto API)
Zero data collection
No third-party auth

Stop trusting servers with your private conversations.

It takes 30 seconds to create an account. Your keys never leave the browser.