← Home

Security and Privacy

How your broker data and personal information is handled, stored, and protected.

Uploaded files are temporary

When you upload a broker export (IBKR Flex Query XML, Questrade Activity XLSX, Wealthsimple activity CSV, an ActiveACB Raw Trades export, or any other broker's CSV or XLSX via the column mapper), the request is validated and written to an isolated temporary processing directory on the application server. That directory is removed when processing finishes, including when parsing or calculation fails. Uploaded files are never written to the account database.

The application stores calculation output for history, but it does not retain the original broker file. Temporary files may exist only for the duration of the active calculation.

Calculation results are stored in your account

After a calculation completes, its structured output - including capital gains summaries, dispositions, and warnings - is saved to your account. PDF and spreadsheet reports are regenerated from that output when requested. Your 25 most recent calculations are retained. You can delete an individual calculation from its history page or delete your account from the profile page.

Calculation data is stored in Supabase. Direct browser access is denied by database permissions and row-level security. The backend independently scopes every history, export, and deletion query to the authenticated user ID.

Encryption in transit and at rest

All connections to ActiveACB are served over HTTPS with TLS 1.2 or higher. There are no unencrypted HTTP endpoints. Data stored in Supabase is encrypted at rest using AES-256. Your session tokens are short-lived JWTs issued and verified by Supabase Auth.

No third-party analytics or advertising

ActiveACB does not load Google Analytics, Meta Pixel, advertising scripts, or session-recording tools. The application uses the Supabase client library for authentication and Thumbmark to create a one-way device identifier used only to limit free-trial abuse. The identifier and its purpose are disclosed in the Privacy Policy. Where we tag our own campaign links to see which of them bring people here, including before sign-in, that measurement happens on our own servers with no third party involved and no advertising network receiving anything.

Payments are processed by Stripe. When you purchase season access, your payment details go directly to Stripe. They never pass through our servers.

Account and data deletion

You can delete your account at any time from your profile page. Deleting the account erases your calculation history and every stored report, and cannot be undone. A one-way hash of your email is kept afterward so repeat free sign-ups can be recognized, which means that address cannot be used on the free tier again unless you buy season access. The deletion workflow removes active calculation and analytics records before removing the authentication account. If a required data purge fails, deletion stops and reports an error so it can be retried instead of leaving orphaned records.

You can also delete individual calculations from your history without closing your account. Each calculation has a Delete button on its detail page that prompts for confirmation before removing the record.

PIPEDA compliance

ActiveACB operates under the Personal Information Protection and Electronic Documents Act (PIPEDA), Canada's federal private-sector privacy law. The principles that govern how we collect, use, and protect personal information are:

Incident response

In the event of a breach that creates a real risk of significant harm, we will report it to the Office of the Privacy Commissioner of Canada and notify affected individuals as soon as feasible, as required by PIPEDA. The notification will explain the significance of the breach and the steps available to reduce or mitigate harm.

Contact

For security concerns, vulnerability reports, or privacy-related requests, contact support@activeacb.ca. We will respond within two business days.