Privacy & How It Works
CryptoTaxCalc is a static website that runs every calculation locally in your browser. When you type numbers into the calculator, they never leave your device — not to our server, not to a database, not to any third party. There is no account to create and nothing to log in to.
What happens when you use the calculator
Here is the full technical flow for a single trade calculation:
- You open the page in your browser.
- You type your cost basis, sale price, and fees into the form.
- Plain JavaScript running inside your browser tab performs the arithmetic using tax rates baked into the page code.
- The result appears on your screen. No network request carries your numbers anywhere.
The same is true for the CSV batch importer and the tax-loss harvesting calculator: files are read by the browser's FileReader API, parsed in memory, and the results are drawn on the page. The CSV file is never sent over the network.
What we do not collect
- No financial data. Cost basis, sale price, gains, fees — none of these leave your browser.
- No CSV contents. Imported exchange files are parsed locally and discarded when you close the tab.
- No accounts. There is no sign-up flow, no username, no password, no session.
- No local storage of your inputs. Values are not written to localStorage or cookies; refreshing the page clears them.
What we do collect
- Anonymous aggregate analytics via Google Analytics (GA4). This records page views and button clicks (e.g. "copy result", "calculate") so we can understand which calculators people use. It does not capture the numbers you entered. You can block GA with any common ad blocker and the calculators still work perfectly.
- Standard server access logs that Cloudflare Pages keeps for a limited period: IP address, user-agent, and the URL requested. We do not link these to any user identity.
Why "local" matters for crypto tax
Crypto tax software normally asks you to connect your exchange accounts or upload your full trade history so its servers can do the math. That is convenient, but it means a third party holds a complete record of your trading activity. CryptoTaxCalc takes the opposite approach: the math comes to your device instead of your data going to a server. For users who would rather not hand that history to anyone — especially for a free estimate — this is the trade-off we chose.
The downside is honesty: without seeing all your trades, a single-trade calculator cannot produce a complete tax return. It gives you a per-disposal estimate. For a full filing you still need a complete record of every buy, sell, swap, and fee — which is why the CSV importer exists and why every result includes a "copy" button for your own records.
Open source
The full source code is available on GitHub. Anyone can inspect the JavaScript and verify that there is no upload mechanism. If you find a data-handling issue, please open an issue or pull request.
Contact
Questions about privacy or a correction to this page? Email [email protected]. We aim to reply within a few business days.
This page is a general explanation of how CryptoTaxCalc handles data. It is not legal advice and does not constitute a formal privacy policy in any jurisdiction. For a formal legal assessment of your obligations, consult a qualified privacy or legal professional.