Privacy notice
Short, because there is not much to say.
what you give us
A username and a password. That is the whole of it — no email address, no phone number, no name, no date of birth, no contact list. Your username is your identity here.
what we cannot read
Your messages, your files and your one-to-one calls are encrypted on your device before they leave it, and decrypted on the devices of the people you sent them to. The server holds ciphertext and has no key that can open it. Nobody running this service can read your messages, and no amount of asking changes that.
Your password never reaches the server either. Your private key is wrapped with a key derived from your password in your browser, and only the wrapped copy is stored.
what the server necessarily sees
Routing a message means knowing where to send it, so the server does see:
- usernames, and which accounts exchange messages with which
- the size of each message or file, and when it was sent
- which accounts belong to which group
- when you are connected
- the name of a group only if its creator listed it publicly with
/open; a private group's name is encrypted like its messages
This is metadata, and it is real. Encrypted contents with visible metadata still show who talks to whom and when.
the one exception, stated plainly
Group calls are not end-to-end encrypted. Audio and video in a group
call are forwarded by the server, which means the server can hear and see them. A mesh
would have been end-to-end but does not work past a handful of people. The call bar says
via server for the whole length of such a call. One-to-one calls are
end-to-end encrypted.
what is stored on your device
No cookies. Nothing is set for the purpose of following you, here or anywhere else.
- one
IndexedDBrow holding your session token and your identity key, so closing the app does not sign you out. The key is stored non-exportable: script cannot read it back out, including ours localStoragefor your own settings — volumes, notification choices — and a single flag recording that this browser has a session, which is what lets the app avoid showing you a login form you do not need
/logout removes all of it.
third parties
None. No analytics, no advertising, no fonts or scripts loaded from anywhere else, no crash reporting, no embedded anything. The one outside service involved is the push service your own browser vendor provides, if you turn notifications on — and a push message carries who sent you something, never what it said, because the server does not know what it said.
keeping and deleting
Messages and files stay on the server until somebody deletes them.
/delete withdraws your own message and its attachments for everyone,
/delgroup destroys a group and everything in it. Deleted means removed, not
hidden.
what we would hand over
If compelled, we could produce what is written above: account names, timestamps, sizes and group membership. We could not produce message contents, because we do not have them and cannot obtain them.
changes
If this notice changes in a way that matters, the change will appear in
/changelog along with everything else.