Privacy
PaceBoss is local-first. Your race data stays on the device you load it on. The architecture isn't a privacy policy — it's how the tool is built: there is no server that could receive your data, because nothing is sent.
What lives on your device
All state is written to your browser's storage. Nothing travels to a server we operate.
IndexedDB — acc-explorer-db
The bulk of your data lives in three IndexedDB object stores in a database called acc-explorer-db:
| Store | What it holds |
|---|---|
savedImports |
Every CSV you import. Each record stores the raw CSV text, the parsed workspace (sessions, drivers, laps, sector splits, results), the user-editable name, the filename, the file size, and the import timestamps. |
championships |
Every championship you create. Each record stores the championship name, optional season label, optional class filter, the chosen points scheme, the drop-worst-rounds count, and the created-at timestamp. |
rounds |
The links between championships and saved imports. Each record stores a championship id, the import id it points at, the round number, and an optional label. |
Practical scale: a typical SimResults CSV imports to roughly 1.5 MB on disk (raw text plus parsed workspace). A library of 100 imports therefore lives in roughly 150 MB of IndexedDB. Browsers grant tens of GB of quota on most devices, so the practical ceiling is your own disk space, not a PaceBoss limit.
localStorage — acc-explorer-settings
A single localStorage key, acc-explorer-settings, stores a small JSON object with your in-app preferences:
| Field | Holds |
|---|---|
accent |
Your chosen accent colour. |
paceBandsEnabled |
Whether pace-band tinting is on. |
appearanceMode |
system, light, or dark. |
meDriverName |
The driver name you've claimed as yours, used to surface the /me career view and the "this is you" highlights across the app. Only set after you click Claim on a row. |
All four can be cleared at any time. Clear all local data on the import screen wipes both IndexedDB and localStorage and reloads the app to a fresh state.
What's not stored
PaceBoss never stores or transmits:
- Email addresses, phone numbers, or any contact details. There are no accounts.
- Your IP address. Vercel Analytics (see below) records the originating country at session level for performance routing; it does not log per-visitor IPs that we have access to.
- Browser fingerprints, device identifiers, or cross-site cookies.
- Anything you type in form fields unless you submit the feedback form.
The one external service
The site includes Vercel Analytics. It records anonymous page views and basic performance metrics — response times, error rates, browser type, country. It does not see your imported race data. It does not use cookies. It does not fingerprint visitors. It has no access to driver names, lap times, sector splits, or anything else in your CSV.
Bug reports
If you submit feedback through the in-app form, that goes to a third-party form host (Tally) and contains only what you type. Your imported CSV is never attached automatically.
Why local-first
Race telemetry contains server names, league names, driver identities, and finishing positions you may not want broadcast. A local-first design is the simplest guarantee that none of that leaks: if your data never leaves your device, it can't end up anywhere you didn't put it.
If you want to share a result, the Share buttons on the results, driver, league standings, and /me pages produce a PNG you control entirely. Nothing is uploaded to share — the artefact is generated client-side and downloaded straight to your device.