privacy & terms

last updated july 2026
what we collect

keypace collects the minimum data needed to provide the service.

  • typing test results — wpm, accuracy, raw wpm, character counts, and test duration. stored locally in your browser and, if you sign in, in our database.
  • diagnostic metrics — inter-key intervals, character error rates, bigram timing, and hesitation patterns. calculated locally. a structured summary is sent to the ai coach when you request coaching. raw keystrokes are never transmitted.
  • account information — email address and display name, used for authentication and leaderboard display. your email is never shared with third parties or sent to anthropic.
  • replay timestamps — millisecond keypress timestamps for your most recent tests are stored locally for the ghost replay feature. these are not uploaded to our servers.
how we store your data

locally — test history, personal bests, settings, themes, and replay timestamps are stored in your browser's localStorage. clearing your browser data removes this.

in the cloud — if you sign in, your test history, personal bests, and display name are stored in a supabase database. your data is associated with your email address and protected by row-level security — only you can read or write your own data.

leaderboard — if you set a display name, your best scores for standard modes appear on the public leaderboard. your email address is never shown publicly.

third-party services
deleting your data
signing out does not delete your account or data. it only ends your session on that device.

to clear local data — go to your browser settings and clear site data for keypace.io.

to delete your account and all cloud data permanently — email contact@keypace.io with the subject line "account deletion request". we will permanently delete your account, test history, display name, and leaderboard entries within 7 days.

contact

questions about this policy: contact@keypace.io

how ai coaching works

after you complete a typing test, keypace runs a deterministic diagnostic engine entirely in your browser. this engine calculates factual metrics from your keypress data — no inference, no guessing.

these metrics are then summarized into a structured object and sent to anthropic's claude api (via a secure cloudflare worker) to generate a concise, evidence-based coaching insight.

what is sent to anthropic

only structured diagnostic metrics. for example:

accuracy: 94% · slowest bigram: "th" at 340ms (2.1× your baseline) · limiter: consistency · speed decay: 8% · punctuation accuracy: 81%

what is never sent to anthropic:

  • your raw keystrokes or the exact text you typed
  • your email address or display name
  • your authentication tokens or account information
  • any personally identifiable information
what the ai coach can and cannot do
  • the coach provides educational guidance only — it is not a substitute for professional ergonomic, medical, or physical therapy advice
  • coaching insights are based on supplied metrics only — the model is instructed not to invent claims not supported by the data
  • ai responses may occasionally be imprecise or imperfect — use your own judgment
  • keypace does not diagnose physical conditions, finger placement, posture, or health issues
  • if the anthropic service is unavailable, a deterministic fallback insight is generated entirely locally from the same metrics
ai security

the anthropic api key is never exposed in the browser or in any client-side code. all requests to anthropic go through a cloudflare worker that validates requests, restricts allowed origins to keypace.io, enforces payload size limits, and applies an 8-second timeout. the worker does not log typing content.

using keypace

keypace is a free typing practice and coaching tool. by using it you agree to these terms.

  • you may use keypace for personal, educational, and non-commercial purposes
  • you may not attempt to reverse-engineer, scrape, or abuse the service
  • you may not create accounts for the purpose of spamming or manipulating leaderboards
  • accounts must be used by a single person — shared or automated accounts are not permitted
leaderboard and display names
  • display names are public — choose one you're comfortable with
  • display names must not impersonate others, contain offensive content, or violate any applicable law
  • we reserve the right to remove display names or scores that violate these rules
disclaimers

keypace is provided as-is without warranty of any kind. coaching insights are educational in nature and may be imperfect. keypace is not liable for decisions made based on coaching output. the service may be updated, changed, or discontinued at any time.

contact

questions or concerns: contact@keypace.io