Security model

This messenger is designed to be anonymous-by-default (no phone/email) and end-to-end encrypted (E2EE) so that the server stores only ciphertext.

What the server can and can’t access

How encryption works

Key verification & trust

Like many secure messengers, this app uses a trust-on-first-use approach unless you verify a key fingerprint with your contact out-of-band.

Important limitations

Tip: In production, set COOKIE_SECURE=1 and terminate TLS via Caddy or Nginx.