FLINTTYPE
Legal

Privacy.

Plain-language summary of what flinttype collects, why, and what's done with it. Last updated 12 May 2026.

Short version

Anyone can use flinttype without an account. The practice surface, drills, and races against bots all run without ever introducing yourself. Your typing stays in the browser unless you sign in.

Signing in (via Clerk) lets us store your typing history, personal-best tracker, adaptive-drill model, and preferences on our database so they survive between sessions. That information is yours — request an export or deletion any time.

Account data (signed-in users)

Account creation goes through Clerk. We receive only what you give Clerk: an email address, optional username and display name, and the OAuth identifier from your social provider if you used one. Passwords never reach our servers — Clerk handles authentication entirely.

We mirror the minimum identity fields (Clerk user id, display name, email-localpart) into our database so we can attach your typing history to a stable handle. Email addresses are not surfaced publicly.

Typing data

Every completed test stores a row with: start / end timestamps, mode (casual / training / race), word count, WPM, accuracy, error count, reset count, and a boolean for whether the run was completed. Per-keystroke timings are processed transiently — they update your weakness model (bigram / trigram / word means and variances) and are then discarded. We don't keep the raw keystream.

The aggregated weakness model is yours and is what makes adaptive drills work. We don't sell, syndicate, or share it with anyone.

Preferences and theme

Theme, caret style, font, keyboard layout, and similar customisation live in two places: a copy in your browser's localStorage (so the page paints with your choices on the next visit, no flash) and a copy in our database when you're signed in (so the same choices follow you to a new browser).

Cookies

We use Clerk's session cookie to keep you signed in. No advertising cookies, no analytics scripts that load before consent, no third-party trackers.

Third parties we rely on

Service infrastructure, listed honestly:

  • Clerk — auth, session management, optional MonkeyType import handshake.
  • Vercel — hosting and CDN. Server logs include request paths and IP addresses; we don't aggregate or export them.
  • Neon — managed Postgres for the typing-history database.

Your rights

Export your data, delete your account, or correct what we have on you — open an issue on GitHub or email the address in the repo. We'll act within a reasonable window. Account deletion removes your test rows, preferences, adaptive model, and the Clerk-mirror identity row.

Children

Flinttype isn't directed at children under 13. If you believe a child has signed up, contact us and we'll remove the account.

Changes

Material changes to this policy will appear on the changelog with a one-line summary. The "last updated" date above tracks the most recent revision: 12 May 2026.

Questions? Open an issue on GitHub.