Privacy Policy
Last updated 14 July 2026.
Kuantura is a personal portfolio-analytics tool. This policy explains what data we hold, where it lives, and the control you have over it. The short version: your financial data is yours, it stays under your own account, and we don't track you, advertise to you, or sell anything to anyone.
Who runs Kuantura
Kuantura is an independent product operated from Norway. The Kuantura operator is the data controller for the personal data described in this policy. For any privacy question, or to exercise your rights below, email support@kuantura.com.
What we collect
Kuantura collects only what is needed to run the service. There is no tracking pixel, no advertising identifier, no fingerprinting library, and nothing that follows you across other sites — just the items below, plus the two privacy-first tools described under Analytics and error monitoring.
- Account email — used to sign you in, send you transactional emails (confirm signup, reset password, sign-in code, security alerts), and contact you about your account when necessary.
- Display name (optional) — only the name you choose to enter in Settings; we use it to address you in the app and in emails. Defaults to the local part of your email if left blank.
- Authentication metadata — a hashed password and short-lived session tokens. We never store your password in clear text; it's hashed by Supabase before it reaches the database.
- Portfolio transactions — the date, ticker, type (buy / sell / dividend / fee / split / transfer), quantity, price, currency, account label, and optional notes for each transaction you enter manually or import from a broker CSV.
- Brokerage account labels — names and currency of the brokerage / custodian accounts you set up inside Kuantura, so transactions can be grouped per account.
- Broker connection key (only if you connect a broker) — if you choose to connect a broker (e.g. Trading 212) for automatic import, the read-only API key you provide is encrypted before it is stored and is held server-side only — never in your browser, and never readable by the app's front-end. We use it solely to read your holdings when you ask to sync; we never place trades. You can disconnect at any time, which deletes the stored key, and you can also revoke the key in your broker's settings.
- Per-ticker overrides — if you correct a ticker's name, sector, region, or asset class, those overrides are stored against your account.
- Display preferences — your chosen language (English / Norwegian / Swedish), display currency (NOK, USD, EUR, GBP, SEK, DKK, …), portfolio mode, and selected benchmark.
- Browser cache (localStorage) — for performance and offline-ish resilience, the app caches your recent transactions, account labels, language, currency, and the Supabase session token in your browser's localStorage. This is on your device only and is wiped when you sign out or clear browser data.
- Support correspondence — if you email support@kuantura.com, that email and your reply thread are stored in our Microsoft 365 mailbox so we can reply.
We do not collect advertising identifiers, build a marketing profile of you, embed advertising or tracking pixels, or share any of the data above with anyone for marketing. Our analytics is cookieless and cannot identify you (see below).
Our legal basis
Under the GDPR we rely on these bases to process your data:
- Performing our contract with you — we need your account email and the portfolio data you enter to provide the service you signed up for.
- Legitimate interests — keeping the service secure and working, such as the authentication session that keeps you signed in.
- Consent — for anything beyond the above; where we rely on consent, you can withdraw it at any time.
How CSV import works
When you import a broker CSV, the file is parsed in your browser. We store only the normalised transactions that result — the same data you'd get by typing them in by hand.
How broker connections work
Connecting a broker is optional. If you connect one (e.g. Trading 212), you generate a read-only API key in your broker account and paste it into Kuantura. That key is then:
- Encrypted before storage — a serverless function encrypts the key (AES-256-GCM) using a secret that lives in our hosting environment, not in the database, before saving it. The app's front-end never holds or sees the key.
- Used read-only — we only ever read your positions to import them as transactions when you press Sync. We never place orders or move money, and we ask you to grant only read permissions when you create the key.
- Yours to revoke — disconnecting deletes the stored key immediately, and you can revoke it any time from your broker's own settings.
Where your data is stored
- Storage — a PostgreSQL database hosted by Supabase in the EU region (Frankfurt, Germany). Your account email, portfolio transactions, accounts, overrides, and preferences live here.
- Isolation — row-level security means the database itself refuses to return rows that don't belong to your account. One user can never read another user's data, even if the application code had a bug.
- In transit — every request to Kuantura travels over HTTPS (TLS). HSTS is enabled, so browsers refuse to downgrade to plain HTTP after the first visit.
- Compute — projections, Monte Carlo simulations, risk metrics, allocation analysis and reports run in your browser, on your machine. The database stores your inputs; the math happens locally.
- Browser-side cache — recent transactions, account labels, language, currency and your Supabase session token are mirrored to your browser's localStorage so the app loads quickly and survives a flaky network. This cache is on your device only, never sent anywhere, and is cleared when you sign out or clear browser data.
- Backups — Supabase makes daily backups of the database in the same EU region for disaster recovery; these are encrypted at rest.
Who else touches your data
Your account and portfolio data are stored only with the infrastructure providers below. Each acts as a data processor on our behalf and operates under a data processing agreement (GDPR Art. 28).
| Subprocessor | Role | Region |
|---|---|---|
| Supabase | Database (PostgreSQL) and authentication for your account and portfolio data. | EU (Frankfurt) |
| Netlify | Hosts the website and a small serverless function that caches public market prices. Does not store your portfolio. | Global CDN; EU edge nodes for EU visitors |
| Microsoft 365 | Mailbox behind support@kuantura.com for incoming support correspondence. | EU |
| Resend | Sends transactional emails (sign-up confirmation, password reset, sign-in codes). Does not receive your portfolio data. | EU |
| Plausible | Privacy-first website analytics — counts page views and which links are clicked. Sets no cookie, stores nothing on your device, collects no personal data, and never receives your portfolio. | EU |
| Sentry | Error monitoring — tells us when the app crashes so we can fix it. Configured not to attach your IP address or your identity, never records your screen, and the values the app logs are stripped before anything is sent. | EU |
| Norges Bank | Public foreign-exchange reference rates fetched from the Norwegian central bank's open data service. The app sends only a currency code (e.g. USD) and a date range; it never sends your transactions or balances. |
Norway |
To show live prices, company names and logos, the app also requests public information from third-party providers — market-data sources such as Yahoo Finance, Finnhub, Stooq and CoinGecko, and, for company logos, Google's favicon service. These requests carry only what's needed to look up public data: ticker symbols, and for a logo the company's public web domain. Like any web request they include your device's IP address, but they never include your account details, your transactions, or your holdings as a list.
When a primary market-data source is temporarily unavailable, a ticker-only lookup may be relayed through a public CORS proxy service (currently api.codetabs.com, api.allorigins.win, or corsproxy.io) so the price still resolves. The proxy sees the public URL being fetched (e.g. query1.finance.yahoo.com/.../TSLA) and your IP address — nothing about your portfolio. These providers are not Kuantura subprocessors — they receive nothing about you as an identified user — and we don't control their own privacy practices.
We self-host our fonts, so simply loading a Kuantura page sends no request to Google or any other font CDN.
Analytics, error monitoring, and the one line we don't cross
That distinction is the whole point. The public demo renders our made-up portfolio, so watching how people use it tells us nothing about anyone's money. Your logged-in dashboard renders your holdings and your net worth, and no third party gets to see that — including us, in recorded form.
- Plausible (analytics, EU) counts page views and clicks. It sets no cookie, writes nothing to your device, collects no personal data, and cannot identify you or follow you to another site. It needs no consent, so it runs for everyone.
- Sentry (error monitoring) tells us when the app crashes so we can fix it. Configured not to attach your IP address or your identity, it never records your screen, and the values the app writes to the browser console are stripped before anything leaves your browser. It runs everywhere, including inside your account — because an unreported crash helps nobody.
- PostHog (product analytics, EU) records which buttons get clicked and, on the marketing site and the public demo, replays the session so we can see where people get stuck. It stores an identifier on your device, so we ask you first and it does not load unless you say yes. Whatever you type — your email, your phone number — is masked and never recorded. It is switched off entirely inside your account.
We deliberately do not use Google Analytics, advertising pixels, or ad networks of any kind. You can change your mind about PostHog whenever you like: the Cookies link in the footer re-opens the choice.
Cookies & tracking
What we store on your device: an authentication session (so you stay signed in), your own settings, and a cache of your own data — all strictly necessary, none of it needing your consent. On top of that, and only if you agree, PostHog stores an identifier so we can see how the marketing site and the demo are used. There are no advertising or ad-network cookies of any kind.
What we never do
No ads. No advertising pixels. No cross-site tracking. No session recording. We do not sell, rent, or share your data with anyone for marketing, and we never will.
Your rights
You can, at any time:
- Access & export your data — use the "Export data" button in Settings to download a single JSON file containing your account info, every transaction, every brokerage account label, every ticker override, and every preference. This is the same data we have. There is no separate "premium" tier of access.
- Correct any data by editing it directly in the app. Transactions, account names and overrides are editable; the display name and email are editable in Settings.
- Delete your data — use the "Delete account" button in Settings to permanently remove your account. The button calls a server-side function that, in a single transaction, deletes every row tied to your user ID from the database and then deletes the authentication record itself. After it succeeds your session is invalidated immediately and the email can be used to sign up again as a brand-new account.
- Restrict or object to a specific kind of processing — email support@kuantura.com.
- Withdraw consent wherever we relied on it (mostly: receiving non-essential emails — handled via the unsubscribe flow).
If you're in the EU/EEA, these mirror your rights under the GDPR. You also have the right to lodge a complaint with your local data protection authority (in Norway: Datatilsynet). To exercise any of them, email support@kuantura.com.
Data retention
We keep your data until you delete it or your account. Then it's removed from the live database.
Changes
If this policy changes, we'll update the date above. Because Kuantura is in active development, practices may evolve.
Contact
Questions about your data? Email support@kuantura.com. Every message is read and answered. There is also a general contact page for non-privacy matters.