Receive anonymous tips from sources without a server trail
A source who wants to talk to you should not have to create an account, install an app, or leave a record on a company server to do it. Btwinus is a browser-only encrypted chat that opens from a link, needs no identity from either side, and disappears when the tab closes.
The problem
The hardest part of source protection is not the encryption. It is the first contact. A person with something to tell you is usually nervous, non-technical, and on a phone. If the first step is "download Signal and send me your number" or "set up a Tor browser and find our SecureDrop", most of them stop right there. The ones who push through often make a mistake along the way, like messaging from a work account, that undoes the whole point.
You need a channel that a first-time source can open in ten seconds, that does not ask them who they are, and that does not leave a record anywhere a subpoena, a leak, or a curious IT department could later reach.
Why ordinary tools leak
- Email stores every message on at least two mail servers, indefinitely, with full headers showing who wrote to whom and when. Even if you delete it, your provider and theirs still have it.
- Twitter/X, Instagram, or LinkedIn DMs tie the conversation to two real, logged-in identities. The platform can read it, and the account itself is the leak.
- WhatsApp is end-to-end encrypted, but the source needs your phone number and you get theirs. Contact lists and message metadata sit with Meta, and backups to iCloud or Google Drive are often not encrypted.
- Signal is excellent for ongoing relationships, but it still requires a phone number and an app install. For a one-off, anonymous first contact that is a lot to ask.
- SecureDrop is the gold standard for document submission, but it requires a newsroom to run and maintain a server, and it requires the source to use Tor. Many newsrooms, especially small and independent ones, cannot run it.
How Btwinus fits
Btwinus is a single web page. When you start a chat, your browser generates an encrypted invite link and a human-readable passphrase. The WebRTC handshake is encrypted with AES-256-GCM (key derived from the passphrase with PBKDF2, 100,000 iterations) and packed into the URL fragment, the part after the #, which browsers never send to a server. Once both sides connect, messages travel directly browser to browser over a WebRTC data channel. There is no account, no relay, no message store, and no history. Close the tab and it is gone.
The security comes from splitting two things across two channels: the link goes one way, the passphrase goes another. Someone who intercepts only the link has an encrypted blob they cannot open. A short authentication string shown to both sides lets you confirm nobody sat in the middle of the handshake.
Step by step for a newsroom
- Publish a standing invitation. On your contact page, tell sources: "Open btwinus.com, click Start a new chat, and send the link it gives you to us at [a public inbox or DM]. Send the passphrase a different way, for example by voice, or a different platform." The source starts the chat, so they never have to trust a link you published.
- Keep a window open at agreed times. Btwinus needs both people online at the same moment. Publish a window, for example "weekdays 14:00–16:00 UTC", when a reporter will watch the inbox and open incoming links promptly.
- Enter the passphrase, get the reply link, send it back. When you open a source's link and type the passphrase, Btwinus generates a reply link and copies it to your clipboard. Send it back the same way the link came in. The source pastes it and you are connected.
- Compare the short authentication string. Read the code out loud to each other if you have a voice channel, or compare it on the platform used for the passphrase. Matching codes mean no one intercepted the handshake.
- Move documents through a separate path. Btwinus is for the conversation. For files, agree a method in the chat and, if you have it, direct them to SecureDrop.
- Keep your own notes. Nothing is saved. Write down what you need, offline, before you close the tab.
For the newsroom-side detail on inboxes, timing, and burner accounts, see the fuller guide to receiving anonymous tips without a server trail.
Honest limitations
- Both people must be online at once. There is no inbox. If the source opens a link and you are not there, nothing happens.
- One to one only. A source talks to one reporter, not a desk.
- IP addresses are visible to each other's browsers. This is true of every WebRTC connection. A source who needs to hide their network location should connect through a VPN or a network that is not their own. Btwinus never sees either IP, but the two browsers do.
- It is not a daily messenger. Use it for first contact and sensitive moments, then move to Signal for an ongoing relationship.
- No history means no record. That protects the source, but it also means you must take your own notes.
- The public inbox you use to receive links is still a channel. Choose it with care, and never let the passphrase travel through it.
Btwinus is free and open source, so anyone can read exactly what the page does before trusting it with a source.
Give a source a way to reach you that needs no account, no app, and no server. Start a chat and see how the link and passphrase work.
Start a private chat →