21 August 2026

What your crypto tax app knows about you

To compute your crypto taxes, a tool needs your complete financial history. Every trade on every exchange, every wallet address, every transfer between them, timestamped and valued. That single requirement, more than anything about crypto itself, is what makes the choice of tax software a privacy decision, because the tool that computes your taxes ends up holding the most complete financial picture of you that exists anywhere outside your own head.

This page is about where that picture lives. It names companies only for things they publish about themselves, and it ends with a claim you can check rather than trust.

The standard architecture, and what it implies

Almost every crypto tax product, Koinly and CoinLedger included, works the same way. You connect exchange APIs or upload files, your history is transmitted to the company’s servers, computation happens there, and your reports live in your account. This is a perfectly normal software architecture, and it is why these products can offer login-anywhere dashboards and background syncing.

It also has plain implications, stated without drama. The company holds a copy of your complete history, so its security is now your security. The copy persists under the company’s retention policies, is subject to legal process in the company’s jurisdictions, and appears in whatever gets breached if the company is breached. None of that requires bad intent anywhere. Holding valuable data is simply a liability that someone else now carries on your behalf, and you are trusting them to carry it well, indefinitely.

For crypto specifically the picture is richer than most financial data, because wallet addresses connect to public chains. A dataset linking your identity to your addresses describes more than your past, it indexes your future, every subsequent transaction those addresses ever make is publicly visible to anyone who holds the link.

The encrypted middle ground

One UK competitor deserves separate treatment. Recap encrypts your data on your device before upload and states that decryption keys stay with you, so their staff cannot read your information. That is a genuinely stronger design than the default, materially reducing what a breach or an insider could expose, and it would be dishonest to lump it in with plaintext server storage.

The structural facts still stand, encrypted data still leaves your machine, still lives on their servers, and access to your reports still ends when their subscription does. Better custody of the copy, rather than no copy.

The no-copy architecture

The remaining option is for the copy to never exist. gains.tax’s engine is a single file that runs in your browser. Your files are parsed on your machine, the matching rules are applied on your machine, reports are rendered and downloaded on your machine, and no account exists because nothing needs one. Optional features that inherently need the network, fetching market prices, scanning public explorers for addresses you type, syncing Kraken or Binance through a stateless relay, announce themselves and touch only what they must, and your assembled history is never transmitted anywhere.

The reason this is rare is not technical difficulty, it is business models. A server-side product monetises through the server, subscriptions, per-year report fees, upsells at the moment of download. Computation on your machine costs the vendor nothing, which is why our reports can be free below 1,000 transactions. The privacy architecture and the pricing are the same decision viewed from two sides.

The checkable claim

Privacy policies are promises, and promises change with an unannounced edit and a new effective date. Architecture is checkable now. Open the app, press F12, watch the network panel, then import a file and run a full report suite. The panel stays empty, not because a policy says so, but because there is no server in the design for your data to go to. We keep a live counter of this very website’s API calls on our homepage for the same reason, verification beats reassurance, every time.

None of this makes server-based tools wrong, sync and convenience are real, and adults weigh trade-offs. It makes the trade-off worth seeing clearly before your complete financial history becomes someone’s production database. If it already is one, exporting it back out is surprisingly quick.

Launch the app Free up to 1,000 transactions, nothing uploaded.