Privacy
Last updated 27 October 2026. Plain English, not legal advice.
The short version
- You sign in with a wallet. We never ask for your name, email, phone number or a password.
- Messages are end-to-end encrypted on your device with MLS, through the XMTP network. Only the people in a chat can read them. Chainmail has no server that receives your messages.
- Your chat history, contacts, drafts and settings are stored only in your browser. They aren't encrypted there, so anyone who can use this browser can read them.
- Two things can't be hidden: the people you chat with can see your wallet address, and payments are public on the blockchain, like all crypto transactions.
On your device
These stay in your browser and are never sent to us:
| What | Why | Where it goes |
|---|---|---|
| Your messaging keys and chat history | To read and send encrypted messages | Your browser's private storage. Not encrypted on disk: anyone with access to this browser profile can read your chats |
| Contact names you give people | To show names instead of addresses | Your browser only |
| Drafts, pins, mutes, read positions, settings | To remember how you use the app | Your browser only |
| Cached ENS names (e.g. jack.eth) | So lookups aren't repeated | Your browser only, refreshed daily |
| Light or dark theme | To remember your choice | Your browser only |
Clearing your browser's site data removes all of this. Back up your chats first (Settings → History) if you want to keep them.
Messages are encrypted while they travel and on the XMTP network, but once they reach your browser they're stored as readable data. Use Chainmail only on a computer and browser profile you trust, and on a shared or lost device, remove it in Settings → Devices from another device.
What leaves your device, and to whom
| What | Why | Where it goes |
|---|---|---|
| Encrypted messages, reactions, receipts and photos | Delivering them to the people in your chats | The XMTP network (run by XMTP Labs and partners). They can't read content. |
| Metadata: your inbox ID, which conversations you're in, message timing, your IP address | Routing messages | The XMTP network. This is the part encryption can't hide. |
| Your wallet address, and that of anyone you message or look up | Starting chats and checking they can receive messages | The XMTP network; Ethereum and Base RPC providers (balances, ENS names) |
| Payments you send | Moving money | The Base blockchain. Public and permanent, like any transaction. |
| Wallet connection requests | Connecting your wallet, especially mobile wallets by QR code | WalletConnect (Reown), or your wallet's own provider (e.g. MetaMask, Coinbase) |
| An encrypted copy of your history, only if you use Transfer | Moving chats to a new device | XMTP's history server, encrypted with a key only your devices have |
| ENS names of people whose profile picture is shown | Fetching their ENS avatar | Our own server, which asks ENS's metadata service. The image's host never sees your IP address. |
| Links in messages you can see (only in chats you've accepted) | Showing a link preview | Our own server, which fetches the page so the website never sees your IP address. The link travels inside the request, not in its address, so it isn't kept in our logs or our host Vercel's request logs. The website does see our server's visit, and could guess you just read the message, so we only fetch by ourselves for your own messages or when your read receipts are on (the chat already knows you've read it). Otherwise you tap to load each preview. Turn off in Settings → Privacy. |
| Nothing, for the phishing check | Warning you about dangerous links | Every link is checked on your device. The list of known phishing sites is downloaded from our own server; your links are never sent anywhere to be checked. |
| Crash reports: the error, where in the code it happened, the page, and your browser type | Fixing bugs | Our own server. Addresses, names, hashes and links are removed on your device first. No IP address is kept. Turn off in Settings → Privacy. |
| Standard web request data (IP address, browser) | Serving the app | Our host, Vercel, as with any website |
Read receipts tell people when you've read their messages. They're never sent to message requests, and you can turn them off in Settings → Privacy.
What we don't do
- No analytics, tracking pixels or advertising in the app.
- No accounts, and no database of users or messages.
- We never hold your money or your wallet keys. Payments go directly from your wallet to theirs.
- We don't sell or share anything, because we don't collect anything to share.
Notifications
Desktop notifications are off unless you turn them on. They're created by your browser while Chainmail is open and never pass through our servers. You can hide message text in them in Settings.
More privacy, if you want it
Anyone you chat with can see your wallet address, so they can look up its public balance and history. For more separation, sign in with a wallet you only use for chatting, and fund it from an exchange rather than from your main wallet.
Your choices
- Block anyone, and choose which message requests to accept.
- Turn on disappearing messages for any chat.
- Remove old devices in Settings → Devices.
- Leave at any time: Settings → Devices → Remove this browser signs you out and erases your chats and Chainmail data from that browser. Disconnecting your wallet also stops messaging there.
Changes and contact
If this page changes in a way that matters, we'll update the date at the top and say what changed.
A contact address for privacy questions will be published here before public launch.