Messages that
only you can read
End-to-end encrypted chat built on the Signal Protocol with post-quantum protection, a zero-knowledge relay server, and 156 automated security tests. Fully open source.
Production Readiness
What CipherLink Protects
True End-to-End Encryption
Messages are encrypted on your device before sending. Not even the server can read them.
Anonymous Messaging
Sealed Sender hides who sent each message. The server only knows where to deliver.
Quantum-Resistant
Hybrid encryption protects your messages even against future quantum computers.
Secure Groups
TreeKEM-based group chat with forward secrecy. Adding or removing members rotates all keys.
Encrypted Backups
Passphrase-protected backups with Shamir key splitting. No single point of failure.
Verify Contacts
Safety numbers let you verify contacts in person via QR code. Detects MITM attacks.
a91c4e2f...8b73
3d7f1a9b...c5e8
f2b8d4e6...1a93
Architecture
Encrypts before sending
Zero knowledge
Decrypts on receive
Tech Stack
Quick Start
Protocol Deep Dive
X3DH Key Agreement
Ed25519 identity keys, signed prekeys, and one-time prekeys.
Asynchronous session setup allows messaging offline contacts. The protocol performs 3 DH computations
(identity-signed, identity-onetime, ephemeral-signed) plus an optional 4th (ephemeral-onetime) to derive
the initial shared secret via HKDF-SHA256.
Double Ratchet Protocol
Post-Quantum Hybrid KEM (X25519 + ML-KEM-768)
X25519 with ML-KEM-768 (Kyber) in a hybrid construction.
If either component remains secure, the combined secret is secure — defense against harvest-now-decrypt-later
attacks. Combined shared secrets are mixed via HKDF-SHA256. Currently uses Kyber wire format
placeholder, ready for native drop-in when standardized.
TreeKEM Group Key Agreement
O(log n) path secrets to the root, deriving per-epoch group secrets.
All updates are Ed25519-signed. Member additions and removals trigger immediate key rotation,
ensuring forward secrecy for group messages.
Metadata Resistance
4096-byte envelopes, making them indistinguishable by size.
Cover traffic generates dummy envelopes at random intervals. Message batching with timing jitter prevents
timing correlation. Combined with Sealed Sender (encrypted sender identity), this defeats most traffic analysis.
Sealed Sender
Key Transparency (Merkle Tree)
Protocol State Machine
UNINITIALIZED → PREKEY_PUBLISHED →
KEY_AGREEMENT → RATCHETING → CLOSED.
Each transition has enforced invariants. Invalid state transitions throw errors, preventing protocol misuse.
Epoch counters track key rotation cycles.
SecureBuffer & Key Management
.wipe()),
RAII auto-cleanup scopes, JSON.stringify and toString leak prevention (returns
[REDACTED]). Zero raw key material exposure in logs or serialization.
Server Hardening (v3)
ws://), IP-based connection limiting with token bucket
rate limiter (30 burst, 5/sec), WebSocket ping/pong keepalive, structured logging with sanitized output
(no keys/ciphertext in logs), group fan-out cap (256 members), Dependabot + lockfile integrity
+ SBOM generation.
Protected Against
- Server reading messages (E2EE)
- Past message exposure (forward secrecy)
- Key compromise persistence (post-compromise security)
- Sender identity leakage (sealed sender)
- MITM attacks (safety number verification)
- Replay attacks (dedup + 50K server cache)
- Message length analysis (4096-byte envelopes)
- Quantum computing (hybrid PQ KEM)
- Traffic analysis (cover traffic + jitter)
- Key directory tampering (Merkle transparency)
- Backup SPOF (Shamir 2-of-3 splitting)
- Key material misuse (SecureBuffer)
- Insecure transport (TLS enforcement)
- Connection flooding (IP rate limiting)
- Log data leaks (sanitized logging)
- Supply chain attacks (Dependabot + SBOM)
Open Items
- Multi-device: design complete, implementation pending
- PQ KEM: wire format placeholder (native drop-in ready)
- No disappearing messages yet
- No server integration tests
- Independent audit required for production
Encryption in Action
Watch a message travel from Alice to Bob. The server sees only ciphertext.
What's Next
Concrete milestones for CipherLink's path to production.
Get CipherLink
Currently in development. Source code available now.
iOS (TestFlight)
Planned for Q4 2026.
Coming SoonF-Droid
Planned for Q4 2026.
Coming SoonSecurity Hall of Fame
We recognize security researchers who responsibly disclose vulnerabilities.
No submissions yet. Be the first!
Report a Vulnerability