Why your chat history might disappear, and what you can do about it.
This chat client uses OMEMO end-to-end encryption. When you receive an encrypted message, your browser decrypts it and stores the plaintext in your browser's local database (IndexedDB — part of your browser's site data, not the page cache). The server only ever sees encrypted ciphertext.
Because the decrypted messages only exist in your browser's site data, they are permanently deleted if you clear your browser history and include cookies and site data in what you clear. The server cannot restore them — it holds encrypted copies, but those can only be decrypted by a device that already had the right session keys when the message was originally sent.
The backup includes your OMEMO identity keys. These are the long-lived keypair that identifies your device to other users. Restoring them has two practical benefits:
Note that OMEMO identity keys do not help decrypt old archived messages. The per-session ratchet keys used to encrypt each individual message are ephemeral and are discarded after use. The only copy of those decrypted messages is in IndexedDB — which is exactly what the message backup saves.
OMEMO encrypts each message separately for every device that is registered at the time it is sent. A device you add later can decrypt new messages from the point it was registered — but it cannot decrypt messages that were sent before it joined. There is no catch-up decryption. Each device maintains its own independent copy of your chat history.
No. If a chat is not OMEMO-encrypted, the plaintext is stored on the server and your client will re-sync it automatically on login. You only need to worry about backups for encrypted conversations.
You can tell whether a chat is encrypted by the lock icon at the bottom of the chat window: a closed green lock means the conversation is encrypted; an open lock means it is not. Encryption is enabled by default when you choose This is a trusted device at login.
Group chats can be OMEMO-encrypted, but only if the room is set to members-only and every member is using a client that supports OMEMO encryption. If everyone in the group is using an @undeadcavity.com account and accessing it through this web client, that condition is met.
The 💾 Export Backup button (visible after you log in, below your username in the top-left) downloads two files:
To restore, visit Restore Message Backup on the home page before logging in, import your JSON file, and you'll be redirected to login. Your messages and OMEMO keys will be in place when you arrive.