TillTom

How encryption works (and its limits)

We’d rather be precise than impressive. Here’s the honest version.

What happens

When you create a chat, your browser generates a random 256-bit key using the operating system’s secure randomness. That key is placed in the QR code’s link — specifically in the part after the “#”, which browsers do not send to servers. When the other person scans the QR, their browser reads the key from the link and then removes it from the address bar.

Every message is encrypted with AES-GCM in your browser before it’s sent, and decrypted in the other browser. The server stores only the encrypted payload. The server never receives or stores the key, so it cannot read your messages.

What this protects

Someone who only sees what’s stored on the server sees ciphertext, not your words. Each message is also bound to the room and sender, so a stored message can’t be silently moved to another chat or relabelled without decryption failing.

What it does not protect — stated plainly

What we claim, and don’t

We claim: messages are encrypted and decrypted in your browser, and the server stores only encrypted payloads and never the key. We don’t claim anonymity, untraceability, or that TillTom is as secure as a dedicated secure messenger. It’s a light, honest tool for a brief conversation.

tilltom.com