What we measure
Your broker file and your results never leave your browser. Usage statistics don't change that. To know whether capi.tax works and where people get stuck, we do count which steps get used. This page lists exactly what is sent to us – and what never is.
In short
- No numbers from your taxes. No amounts, no securities, no file names, no account numbers, no results.
- No cookies. By default the analytics script stores nothing on your device. Your IP address is not stored.
- Switchable off. Under Analytics settings in the footer you can turn statistics off with one click. If your browser sends "Do Not Track" or "Global Privacy Control", they are off automatically – unless you choose otherwise in the settings.
The three settings
| Setting | What happens |
|---|---|
| Anonymous (default) | We count steps without cookies and without storing anything on your device. We can't tell whether you were here yesterday. |
| Anonymous + return visits | Your browser additionally stores a random ID, so we can see whether people come back. This setting applies only with your consent. |
| Off | The analytics script isn't loaded at all. Nothing is sent. |
Your browser remembers your choice, and whether you've seen the notice, locally – just like the language and theme setting. These entries never leave your device.
Exactly these events are sent
| Event | Details sent |
|---|---|
| Page view / page left | The page address without extras, e.g. /help/tax/fifo; only the results tab and campaign tags (utm_source, utm_medium, utm_campaign) are kept |
| Landing page shown, landing page button clicked | Which button (e.g. "Test Sample File") |
| Sample result opened, new calculation started | – |
| File selected | Detected format (e.g. "IBKR Flex XML") and a size class, e.g. "1–5 MB" |
| Unsupported broker detected | Only the guessed broker name (e.g. "Trade Republic") – so we know which broker to support next |
| Broker and tax year selected | Broker (Tastytrade/IBKR) and tax year |
| Calculation started / completed | Broker, tax year, a duration class (e.g. "2–5 s") and the number of processing notes in classes (0 / 1–5 / 6+). Plus only yes/no flags for whether derivatives (options/futures), funds, Vorabpauschale, foreign withholding tax, currency gains or corporate actions occur. |
| Calculation failed | Broker, tax year, error code (e.g. CSV_MISSING_COLUMNS) and stage (file / calculation / system) |
| Processing note | Note code (e.g. "crypto rows skipped"), broker and tax year – without the affected transaction |
| Results tab switched | The tab's name |
| Export | Format (PDF/Excel/CSV/JSON) and whether it worked |
| Technical error | Error type and the call path in the program code (file name, function, line). We don't send the error message itself. |
| Load times | Page loading speed measurements (Web Vitals) |
| Setting changed | Whether you chose "Anonymous" or "Anonymous + return visits" |
Events around a calculation or the results tabs also say whether it was your own calculation or the sample result. Every event includes the page language (de/en).
In addition, your browser transmits standard technical details: the browser identifier (user agent) with browser, version and operating system, the device type, the browser language and the website you came from (domain only). On top of that come random IDs for the individual page view, which PostHog needs for counting. In "Anonymous" mode, PostHog combines these with your IP address into a daily value that changes every night. The IP address itself is discarded.
Feedback
If you write to us via the feedback button, we send exactly the text you enter. It is sent without any session or device ID, browser identifier or page address, so it can't be linked to your other events. Please still don't enter personal or tax data there.
Where the data goes
Statistics run on PostHog, on servers in the EU (Frankfurt), and are kept for up to 12 months. Details and your rights are in the privacy policy (German).
See it for yourself
Open your browser's developer tools and switch to the network tab. Filter for posthog and process a file. You'll see requests to eu.i.posthog.com carrying the details described above – and nothing from your file. If you set statistics to "Off", no new events are recorded from that moment; from the next page load on, the script isn't loaded at all.