Privacy
The short version. Terminal runs in your browser. Your trades, journal and settings are stored on your own device, and by default nothing is sent to us. Creating an account is optional: if you sign in and turn on cloud sync, a copy of your book is stored on our server under your account, end-to-end encrypted when you set a passphrase. There is no analytics, no tracking and no telemetry of any kind, and we take no payments yet.
What is stored, and where
Terminal is a single HTML file that runs in your browser. Everything you enter — trades, positions, journal entries, session reviews, goals, risk caps, settings and layout — is written to your browser's IndexedDB storage on the device you are using. It stays there until you delete it.
Without an account we hold nothing about you. If you create one (Settings → Cloud Sync → Your account), sign-in is handled by Supabase Auth on our project: we hold your email address and a salted password hash, and nothing else — no name, no card. Sign-in exists only to scope your cloud copy to you; the app works in full without it.
What leaves your device
Four things can, and each is either explicit or narrow:
-
Market data requests. To draw a chart or price a position,
the app fetches from public third-party sources (for example Yahoo Finance,
Stooq, the SEC, FRED and, if you supply keys, Finnhub or marketdata.app).
Those requests carry a ticker symbol and a date range — never
your positions, sizes, P&L or journal. (True of market-data requests. The
AI-assist flow below is the exception, which is why it is spelled out
separately rather than folded in here.)
All of it sits behind one switch (Settings → Market Data). With the
switch off, the app makes no market-data request of any kind — no chart, quote,
news, filing or macro fetch, and no live socket — and every window runs on your
journal alone. A fresh install starts with the switch off; a profile that had
already cached market data before September 2026 keeps it on, so nothing changed
underneath it. Some are routed through public CORS
proxies, which see the same ticker-level request. Option chains can also be
routed through a relay you deploy yourself (
/api/chain): it sees the same ticker-level request and forwards it upstream, and it runs on your own hosting rather than a third party’s. - Cloud sync — off unless you sign in and turn it on. With an account and cloud sync on, your book is mirrored to our database (a Supabase Postgres project) under your account, so a new device can restore it. If you set a passphrase it is end-to-end encrypted in your browser first (PBKDF2-SHA256 → AES-256-GCM), and the server stores a single opaque blob it cannot read. The passphrase is held in your browser's memory for the session only — never written to your device, never sent anywhere — so you enter it once per session. Without a passphrase the copy is stored in plain text on our server — so set one. Screenshots never leave your device either way.
-
AI assist — off unless you configure it, and it DOES send your journal.
This is the one outbound flow that carries your own trading data, so it is
described in full. If you turn on the AI features (Ask the Journal, the coach
digest, screenshot import), the app builds a journal digest — a summary
derived from your trades — and sends it, plus your question and, where you attach
one, a chart screenshot, to the model provider you choose:
- Anthropic — the digest leaves your machine and goes to Anthropic's API, authenticated with a key you supply. Their terms and retention apply to it, not ours.
- Ollama or LM Studio — the request goes to the address you configure. Pointed at a model running on your own machine, nothing leaves it.
- Optional integrations you enable. Cloud Backup to Dropbox or Google Drive, and Web Push alerts, only operate after you connect them. Push stores a browser-issued subscription token and the price levels you set, so a scheduled job can notify you; it never receives your trades.
API keys you paste in
Keys for market-data providers are kept in your browser's local storage and are sent only to the provider they belong to. They are never routed through a proxy or relay, and never to us. They are never written into a backup export, encrypted or not — a backup carries your book, not your credentials — and turning the market-data switch off does not clear them.
Cookies and tracking
Terminal sets no cookies and includes no analytics, advertising, fingerprinting or session-replay code. Nothing counts your visits. The app uses browser storage purely to hold your own data on your own machine. One exception, only when you sign in or create an account: the sign-in form may run a Cloudflare Turnstile check (a bot check, usually invisible), which means Cloudflare sees that request. Nothing else on the site loads a third-party script.
Exporting and deleting
- Export: Settings → Backup writes a JSON file of everything. An encrypted export (AES-256-GCM, passphrase-derived) is also available.
- Delete: clearing this site's browser data removes your book from that device permanently. If you enabled cloud sync, sign out and write to the contact below and we will delete your cloud copy and your account.
Because the data is yours and local, please keep your own backups. There is no server-side copy for us to restore.
Children
Terminal is a tool for adults managing their own trading records and is not directed at children.
Changes
If this policy changes, the date at the top changes with it. Material changes to what leaves your device will be called out in the app.
Contact
Questions or a security report: admin@stantonanalytica.com. Security contact details are also published at /.well-known/security.txt.