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.
resend — transactional email (magic links). your email address is processed to send authentication emails. resend privacy policy
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.
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.
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.