secure-chat end-to-end encrypted relay
Step 1 of 3 — Identity · Room · Chat
Checking for an identity on this device…
Step 2 of 3 — Identity · Room · Chat
Both of you must use the same code. Send it however you like — it is useless on its own, because the messages are encrypted end-to-end.
Security options — currently: DHKE (recommended)
Every option here is end-to-end encrypted. The default suits almost everyone; change it only if you know you need to.
Generate a pad, or import one your contact gave you in person.
Generate / share a pad
Generate on ONE device, then export the encrypted file and give it to your contact in person (Bluetooth, USB, QR…). They import it. A pad is a shared secret for exactly two devices — never import it on more than one.
Optional: draw in the box below to fold your own physical randomness into the pad.
Entropy from drawing: none yet (the OS random generator is used regardless).
A pad may be imported on only ONE device per side. Importing the same file on more than one device causes catastrophic key reuse — generate a separate pad for each contact.
If you paste the handle they gave you, we can check the person who joins is really them. Leave it blank and you will compare a safety number instead.
They know your chat code. Let them in only if you are expecting them — check the key fingerprint below against the person you invited.
Compare this safety number with your contact over a trusted channel (in person, or a call where you recognise their voice). It must be identical on both devices. If it differs, a relay may be intercepting you — do not send anything.
Profile — your identity on this device
Your profile shows the identity stored on this device. Enter your passphrase to unlock it here.
Scanning only pre-fills your handle on their device — they still verify you by comparing fingerprints in person.
Signing out revokes this device's directory session on the relay, so a copied session token stops working. Your identity and contacts stay on this device.
Users — known public keys & trust
Contacts are stored encrypted under your identity passphrase. Enter it to unlock them here.
Chats — direct messages
Chats are stored encrypted under your identity passphrase. Enter it to unlock them here.