Privacy Policy
What stays on your device, what leaves it, and who receives it. No hedging.
Last updated 11 August 2026
Correction, August 2026. An earlier version of this policy said TypeCrt collected no data and used no cookies. That was inaccurate: the site loads Google Analytics and records anonymous usage events. Nothing about the product changed — the policy was simply wrong, and this version describes what the site actually does. Everything below is verifiable in your browser's network inspector.
Stored on your device
Your typing history, personal bests, per-key statistics and all 35 settings live in your browser's
localStorage. They are not required to leave your device, and TypeCrt works fully offline
once loaded.
- Typing history — results with WPM, accuracy, consistency and timestamp
- Settings — theme, font, caret, sound and every other preference
- KeyForge state — per-key confidence scores and unlocked letters
Sent off your device
Two things transmit, and both are described exactly here.
1. Anonymous usage analytics
On page load and on each completed test, TypeCrt records an event to its own backend. No account is needed for this and it is not linked to an identity unless you are signed in.
| Field | Example |
|---|---|
| Event type | visit, test_complete |
| Result metrics | WPM, raw WPM, accuracy, mode, duration |
| Active theme | fw-dark |
| Approximate location | Country and city, derived from IP |
| Account identifier | Only if you are signed in — otherwise null |
The text you type is never transmitted. Only the resulting numbers are.
2. Your account, if you create one
Signing in is entirely optional and exists for two reasons: syncing your typing history across devices, and submitting a run to the public leaderboard. If you sign in, your results are stored against your account so they follow you. If you never sign in, this never happens.
3. The leaderboard, if you submit to it
Nothing is ever submitted automatically. A finished run is screened locally and you are shown whether it qualifies; it reaches the board only when you press Submit. Submitting is per-run, so signing in does not put you on the board and neither does any past result.
A submitted entry is publicly readable by anyone and contains:
| Field | What it is |
|---|---|
| Display name | Derived from your Google account — first name and last initial,
e.g. Ada L. You cannot choose a different one, and your full name is not published |
| Account identifier | Your Firebase user ID, used to keep one best run per person |
| Result metrics | WPM, raw WPM, accuracy, consistency, mode and duration |
| Keystroke timings | The gaps in milliseconds between your keypresses during that run, at half resolution — the evidence the screening reads |
| Screening verdict | The result of the checks described on the verification page |
The timing record is intervals only. It is not the text you typed, and the words themselves are still never transmitted — a list of gaps cannot be turned back into characters. It exists so a ranked score carries its own evidence instead of being an unbacked number, and so entries can be re-checked later if the screening improves.
To remove an entry, email us; see Deleting your data.
Third parties
Every external request the site makes, and why:
| Service | Purpose | Receives |
|---|---|---|
| Google Analytics | Aggregate traffic measurement | Page views; sets cookies |
| Google Firebase | Analytics events, optional accounts, leaderboard | The event fields listed above; leaderboard entries you submit |
| Google Fonts | Typefaces | IP address, user agent |
| jsDelivr CDN | Chart rendering library | IP address, user agent |
| GetGeoAPI | Country/city from IP | IP address |
| Cloudflare Pages | Hosting | Standard server logs |
Cookies. TypeCrt itself sets none. Google Analytics does — the standard
_ga measurement cookies. A browser-level tracking blocker or an extension will stop them
without affecting anything else on the site.
Deleting your data
- Local data — use your browser's Clear site data for typecrt.com. This erases all history, settings and KeyForge progress immediately and permanently
- Account data — email us and we will delete the synced copy and any analytics rows tied to your account
- Leaderboard entries — email us and we will remove them. Entries cannot be edited or deleted from the app itself: a board whose rows can be changed after the fact could not claim to have verified anything
Contact
Questions, corrections, or a deletion request: [email protected]. If you find anything on this page that does not match what the site actually does, tell us — that is a bug, and it gets fixed.