Encrypted messages

Connecting

Encrypted messages

Turn on Encrypted Messages in User Settings by choosing a passphrase. Your browser creates an encryption key of its own, locks it under that passphrase, and stores only the locked copy on the server - the passphrase itself never leaves your device, and the server never holds a key it could read your messages with.

A conversation becomes end-to-end encrypted once both people have turned this on - it takes both keys. From then on, new messages in that thread are unlocked and read in your browsers only; older messages from before stay as they were. Conversations with people on other Fediverse servers are never encrypted, because the protocol between servers has no way to carry it - those threads say so.

Opening an encrypted conversation asks for your passphrase once per browser tab. Because the locked copy of your key lives on the server, the same passphrase works from any browser or device.

Choose the passphrase carefully. It is the only thing guarding every encrypted message you will ever have, on every device, and there is nothing behind it - no second step, no lockout, no reset that keeps your messages. A long phrase of several words beats a short complicated one, and needs to be at least twelve characters. It must not be your account password: that one is sent to this server when you sign in, and your passphrase must never be.

What this design does not do is forget. Because your passphrase unlocks your history from any browser, the keys that open old messages still exist - so if someone ever learns your passphrase, everything you have is open to them, not just what arrives afterwards. Apps that guard against that (Signal and the like) throw old keys away, which is why a new phone there starts with an empty conversation. Keeping your history readable and throwing old keys away are opposites; this site keeps the history. If a conversation is sensitive enough that its past should not survive a future mistake, the answer here is to delete it, not to trust the encryption to forget it for you.

There is no way to recover a lost passphrase - not by you, not by the administrator; that is the point of the design. If you lose it, the reset option in Settings creates fresh keys under a new passphrase, but messages encrypted with the old keys are gone for good. You can change your passphrase any time in Settings without losing anything, as long as you still know the current one.

Check the safety code. Every encrypted conversation shows a short code standing for the two keys it is locked with. Read it to each other some other way - out loud, in person, over a call - and if it matches on both sides, nobody is sitting between you. It is worth doing once, because the server is what tells each of your browsers the other's key, and a dishonest one could hand over a key of its own; it cannot make both of your codes agree, so a mismatch is the tell. Mark it verified once you have checked, and you will be warned if it ever changes - which happens when one of you resets your keys, and is also what an interception would look like.

What this does not cover: the code is worked out by the page you are reading, so it can only tell you about the keys, not about the software itself. Nobody reading the database, the backups, or the traffic can read your messages - that part is unconditional.

You can still report an encrypted message. Reporting reveals to the moderators the content of that one message only - never your key, and never the rest of the conversation - and the server checks the revealed message against a seal it made when it relayed it, so a report can't be faked either.

Back to All Help