Saivo

Security and limits

This page is meant to be honest. Saivo is an alpha, and nobody outside the project has reviewed its cryptography. Do not rely on it where your safety depends on it.

What is protected

  • Message and file contents are end-to-end encrypted. The relay stores only ciphertext and cannot read it.
  • Calls: audio and video frames are encrypted end to end with a separate key per sender, in addition to the normal WebRTC transport encryption.
  • Your data on the device sits in an encrypted database. The key is kept in the system keystore, and optionally wrapped by an app-lock passphrase (Argon2id and ChaCha20-Poly1305).
  • Authentication: only the owner can read a mailbox, through a signed challenge. The relay never sees your identity keys.
  • Post-quantum: one-to-one chats use X25519 plus ML-KEM-768. Groups use the X-Wing ciphersuite, which is still an IETF draft.

What the relay can see

The operator of a relay can see:

  • the IP address of each connection, and when it connects;
  • which mailbox mail is delivered to (a pseudonymous id, not a name);
  • when mail arrives, and its approximate size (messages are padded to buckets);
  • the size of attachments.

It cannot see names, contact lists, group membership, message text or file contents. If this matters to you, run your own relay, or use a VPN or Tor for the connection.

What Saivo does not protect against

  • Someone who has your unlocked phone, or who installs malware on it.
  • Screenshots and copies made by the person you talk to. Deleting for everyone removes the text on both devices, but not copies already made.
  • Traffic analysis by an observer of the network or the relay.
  • Losing your recovery key. Nobody can reset it.
  • The app lock keeps people at your keyboard out; the database is open in memory while the app runs.

What has not been checked

  • No external cryptography or security audit.
  • Cross-network behaviour of calls through real TURN servers is lightly tested.
  • Push wake-ups were not tested with a real distributor.
  • Screen readers (Orca, TalkBack) have not been tried.
  • Translations have not been checked by native speakers.

Reporting a problem

Write to darius.kazlauskas@gmail.com. If you found a security problem, say so in the subject line.