Private, encrypted messages over any app
Lock a message here, then paste it into any chat app. Only the people you choose can open it, and nothing you write ever leaves this browser.
Write
Lock a message so only the people you pick can read it
This browser is too old for Cipher. Update it, or try another browser, to send and open messages.
To write to someone, you each need the other's Cipher ID.
-
Send them your Cipher ID
It's like your mailing address: it lets them lock messages for you, but it can't be used to read anything. It's safe to send over any app.
-
Add the ID they send you
Paste it in the box below, or anywhere on this page.
Pick one or more people. The emoji next to each name are their safety emoji: tap them to see the full set.
Read
Open locked messages and files sent to you
Conversation
How it works
-
Swap IDs once
Send your Cipher ID to the other person and add theirs. Then check your safety emoji together once.
-
Write, then lock & copy
Press Ctrl ↵Tap Lock & copy, then paste the scrambled result into any chat, email or post.
-
Paste to read
Copy what they sent and paste it here. Paste a whole conversation and every locked message in it opens.
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.
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.