Messaging
No switch to turn encryption on.
Every direct message on Surf is end-to-end encrypted from the first hello, with no setting to find and no way to turn it off. The protocol does the work, not a promise.
Encrypted end to end.
X3DH key exchange, then a Double Ratchet per device, the same cryptography that secures Signal. Verify any contact with a 60-digit safety number. If encryption cannot complete, the message does not send.
How encryption worksCalls connect device to device.
Voice and video use WebRTC with DTLS-SRTP and go straight between devices whenever your network allows. When it does not, media is relayed by a service that carries it encrypted and holds no key to it.
Our security modelPriya Nair
Connected
Encrypted end to end. No Surf server holds a key.
Walk away. Catch up in seconds.
Group threads up to 256 people are end-to-end encrypted with sender keys. Fall behind, and a catch-up summary tells you what actually happened. Smart polls settle the next decision without the back and forth.
See Surf IntelligenceCatch up on 42 messages
You decide who reaches you.
Block anyone from their profile. No message, no notification, nothing on their end. On Sapphire Pro you can also limit replies to verified accounts.
Compare plansWhat's protected.
Encrypted by default
There is no switch to flip, and no plaintext fallback. If a message cannot be encrypted, it does not send.
Forward secrecy
The ratchet advances with every message, so a key captured in transit does not unlock what came before it.
Safety numbers
Verify any contact with a unique safety number to be certain you are talking to who you think you are.
Direct calls
Voice and video flow device to device when the network allows, and over an encrypted relay that holds no key when it does not.
Encrypted group chats
Group threads up to 256 people use sender keys, the same cryptography as a one-to-one thread.
Silent blocking
Block is invisible to the other person. They can't message you, find you, or tell that anything changed.
Under the hood
How a message stays sealed.
Key exchange
When two people first connect, an X3DH handshake derives a shared secret from public keys, and the client refuses to proceed if the signed prekey signature does not check out.
Double ratchet
Every message advances the ratchet and derives a fresh key, so a key taken off the wire today does not unlock tomorrow's messages.
Verification
Compare a 60-digit safety number in person or over another channel. Surf publishes the key directory, so this is how you check it did not substitute one.
We built on X25519, Ed25519 and AES-GCM through audited libraries rather than writing our own primitives. Check the safety number and you do not have to take our word for it.