Last updated: 2026-05-24. The operator (data controller) is {{ LEGAL_OPERATOR }}, {{ OPERATOR_JURISDICTION }}. Registered with the UK Information Commissioner’s Office under reference ZC098928. Questions: {{ OPERATOR_EMAIL }}.
This page describes exactly what we collect, what we don’t, where it lives, and how long we keep it. It is written from the code, not from a template — every claim corresponds to an explicit code path we’re happy to point a reviewer at.
localStorage. The server’s view is the anonymous
ticker universe described above.
We rely on the following lawful bases:
sessionStorage).
You can withdraw consent at any time by disabling sync in
Settings; the cached key is cleared and the server-side blob is
removed.
The Service does not make decisions about you that produce legal or similarly significant effects in an automated way (UK-GDPR Art. 22). The AI portfolio analysis is editorial commentary on the holdings you upload; it does not approve, reject or rank you, and you remain the sole decision-maker about anything in your account.
localStorage on your device. They never leave the
browser.
localStorage on your device. If you enable
cloud sync, the derived encryption key is cached in
sessionStorage so you don’t have to re-enter
your PIN on every navigation. This caching is performed only with
your consent (given when you enable sync); it is cleared when you
close the tab or disable sync.
The server runs in {{ OPERATOR_JURISDICTION }}. Data is stored in a MariaDB database on the same host, backed up locally.
Two flows can take personal data outside the UK:
X-OR-Allow-Training: false on OpenRouter); see the
Third parties section below for the caveats.
X-OR-Allow-Training: false header, which
signals to OpenRouter and any compatible upstream that the prompt
must not be used to train or improve models. DeepSeek does not
currently expose a per-request opt-out; if you do not want your
holdings to leave our server at all, do not use the AI portfolio
analysis feature. We do not control retention or training policies
on the provider side beyond the headers we set — the provider’s
own published data policy is the binding statement on that point.
You have the right to:
Email {{ OPERATOR_EMAIL }} to exercise any of these.
The Service is not directed at, and is not intended for use by, anyone under 18. Do not create an account if you are under 18. If you believe a child has provided personal data to us, contact {{ OPERATOR_EMAIL }} and we will delete it.
If we discover a personal-data breach likely to result in a risk to your rights and freedoms, we will notify the ICO within 72 hours of becoming aware of it, as required by UK-GDPR Art. 33, and notify affected users without undue delay where Art. 34 requires.
Material changes will be flagged in-app and dated above. Trivial edits (grammar, restructuring) won’t.