Nothing to breach, because nothing arrives.

Every server-based tax platform holds a copy of its users' complete financial history, and every copy is a liability, theirs to secure and yours to worry about. gains.tax removes the copy. The app is a single file that runs in your browser. Your transactions are parsed, matched, pooled and reported on your machine, and they stay there.

What you can verify yourself

Open the app, press F12, and watch the network panel while you import files and run every report. There is no traffic to inspect, because there is no server waiting for your data. This is not a policy promise that could be rewritten next quarter, it is how the software is built, and it is checkable on every visit.

The optional exceptions, stated plainly

Three features talk to the network, all optional, all visible before they happen. Wallet scanning fetches public blockchain data about addresses you type in, from public explorers. Price lookups fetch market prices for valuations. Exchange sync signs requests to Kraken or Binance in your browser with read-only keys and passes them through a small relay, because browsers cannot call exchange APIs directly. The relay forwards and forgets. It has no database, no accounts and no logs of your data, and you can run your own copy instead.

No account, so no account to lose

There is no signup, no password and no profile. Nothing links your identity to your figures. If you buy the account fee, the payment happens on Stripe's page and activates the app with a key, and no system of ours ever holds your identity and your transactions together.

Keep your own backups

Sovereignty cuts both ways. Because we hold nothing, we can restore nothing. The app saves your session in your browser and exports it to a file whenever you want, keep that file somewhere safe, it is yours.

Launch the app and check