A private message. Any chat.
Write here. Paste the locked link in your usual chat.
This browser is too old for Cipher. Update it, or try another browser, to send and open messages.
Swap ID links once, then message each other.
Tap someone's emoji to check their identity.
Messages for you
Recent
Conversation
Help & details
-
Swap IDs once
Share your Cipher ID link and open theirs to add them. Then check your safety emoji together once.
-
Write, then lock & copy
Press Ctrl ↵Tap Lock & copy, then paste the copied link into any chat, email or post. More options are under More.
-
Tap to read
Open their link in the browser where your Cipher ID is saved. Locked text still works: paste it here to read.
Files work the same way. Drop one on the page to get a locked .cipher file you can attach in
your chat app; its real name and type are hidden inside.
If you prefer the share menu, install Cipher from Chrome's menu on Android. Then, in apps that offer sharing, choose
Share → Cipher to open a locked message or .cipher attachment. Availability depends on your
browser and device; on iPhone, use message links or paste instead.
About your Cipher ID
- Made for you
- Your browser creates it the first time you visit. There's nothing to sign up for.
- Safe to share
- It works like a mailing address: anyone with it can send you private messages, but nobody can use it to read them. The part that opens your messages never leaves this device.
- Saved in this browser
- Clearing your browsing data deletes it. To keep a backup, or to use it on another device, copy a transfer code from My ID.
Security details
- Encryption
- AES-256-GCM, with a fresh key for every message (HKDF-SHA-256, random 128-bit salt).
- Quantum-safe
- Every message key combines X25519 with ML-KEM-768, the NIST post-quantum standard. Reading a message would mean breaking both, so messages recorded today stay private even from future quantum computers.
- Sender
- A message that opens is proven to come from the person shown.
- Safety emoji
- 10 emoji from a set of 256: 80 bits of SHA-256 over your whole ID, too many to fake.
- Integrity
- Any change, reorder or cut to a message or file makes it fail to open.
- Network
- None. The page's security policy blocks every outgoing connection, and it works offline.
- Code
- The browser's own WebCrypto, plus one pinned, checked copy of the noble ML-KEM library. Nothing else.
What it can't hide
- Your chat app still sees that you sent something, when, to whom, and roughly how long it was.
- The part of your ID that opens messages is saved in this browser. If someone copies it, they can open earlier messages sent to you that they've kept.
- You trust this page each time it loads. If your device itself is compromised, no encryption can help.