Security
Vutalk uses a published, peer-reviewed encryption design rather than one of our own invention. This page describes what it means in practice and, just as importantly, what it does not protect.
Message encryption
Every conversation starts with an X3DH key agreement to establish the session, then runs a Double Ratchet that derives a fresh key for each message. Keys advance forward and cannot be rewound, so an attacker who compromises a device today cannot decrypt yesterday's messages, and a session recovers its secrecy once a compromise ends.
Group messages, attachments, group names and membership lists are encrypted the same way. Attachments are encrypted before upload, so what sits on our storage is ciphertext with no key alongside it.
Calls
Voice and video calls are end-to-end encrypted. When a direct connection between two devices is not possible, media is relayed through a server that only ever forwards encrypted packets; it cannot decode audio or video.
Verifying who you are talking to
Encryption only helps if the key belongs to the person you think it does. Every conversation has a safety number derived from both parties' identity keys. Compare it in person or over another channel and mark the conversation verified; if the other side's key ever changes, Vutalk stops and tells you before anything is sent.
Identity keys are generated once, on your device, and are reused rather than regenerated on every launch — so a safety number that changes is a signal worth taking seriously, not routine noise.
Key transparency is enabled: the mapping from an account to its public keys is published in an append-only log, so a server that tries to hand out a substituted key leaves permanent evidence.
How people find each other
By username, and only by username. Vutalk never uploads your address book and performs no contact matching of any kind. Searching by email address or by number does not work either — an email address is how you sign in, not a way to be found.
Usernames are stored as a hash for lookup plus a ciphertext only holders of your link can open, so possessing the database does not yield a directory of who uses Vutalk.
On-device storage
The local message database is encrypted with a key held in the device keychain, protected by your device lock. Vutalk can additionally require Face ID, Touch ID or a passcode before it opens.
What end-to-end encryption does not hide
We would rather state this plainly than let the phrase do more work than it can.
- We know that an account exists and roughly when it last connected, at day-level precision.
- We store your email address, because you need it to sign in again after reinstalling.
- To wake your device, we send Apple a content-free push notification. Apple therefore learns that your device received a Vutalk notification.
- Anyone watching your network can see that you are connected to Vutalk, even though they cannot see what you send.
- If your device is unlocked and in someone else's hands, encryption in transit is not what protects you.
Reporting a vulnerability
Email xiaosan9288@gmail.com. Please include enough detail to reproduce the issue. We will not pursue legal action against research conducted in good faith against your own account and data.