Security, in plain language

SimTether moves sensitive messages — verification codes, carrier alerts — between two phones. Here's exactly what protects that traffic, stated plainly enough to verify.

The short version

Pairing: one scan, then keys

When you scan the bridge's QR, your phone learns the bridge's public key and a one-time pairing token. From then on:

The encryption itself

LayerWhat it is
HandshakeNoise IK — mutual authentication with X25519 (Curve25519 key exchange)
TransportChaCha20-Poly1305 — every frame encrypted and authenticated
Key storageAndroid Keystore–backed AES/GCM on both phones; the app warns you if Keystore is unavailable
Relay linkTLS (wss://) — the relay token and room tickets never travel in cleartext

The relay, honestly

Remote access is off by default. If you turn it on, your phones meet at a small splice server that:

You can also run your own relay — it's a single small jar — and point both phones at it, in which case we see nothing at all.

Want the details? The protocol, crypto, and relay are open source — the trust model is verifiable, not promised.