The privacy model, the complete network surface on one page
Checked against app build 2026-08-26-01-41 on 2026-08-26.
What does gains.tax send over the network?
By default, nothing. Open the app, import files, reconcile, compute, download reports, and nothing crosses the network, which you can watch for yourself in the browser’s network panel.
The complete list of exceptions fits on one page, this one, and each is optional and off until you use it.
What are the three optional network features?
Wallet scanning, price lookups, and exchange sync.
One, wallet scanning, when you use it. Paste an address and the app fetches that address’s public history from public block explorers. What travels is the address you typed, already public on a public ledger. See wallet scanning.
Two, price lookups, when you use them. Valuing an asset needs a market price, fetched from public price sources. What travels is which asset and when, never your holdings or amounts.
Three, exchange sync, when you use it. Requests signed in your browser pass through a stateless relay to Kraken or Binance. Your API secret never leaves your machine, the relay stores nothing, and you can run your own, see the relay.
What happens when I share a workspace?
It is sealed in your browser before it moves, and the key travels only inside the link.
A shared workspace is encrypted in your browser and the key sits in the link’s fragment, the part a browser never sends to any server. We store a box we cannot open, the full story is on the security page.
What never exists anywhere?
No account, no signup, no profile, no analytics tied to you, and no copy of your transactions on any server of ours.
Not encrypted, not anonymised, not at all, except the sealed shares you create on purpose. A licence key verifies offline in the browser. The strongest privacy promise is the one that requires no trust, and this page is short because the design is.