Privacy Policy
Last updated: August 24, 2026
Draft — not yet reviewed by a lawyer. This page is a good-faith, accurate description of what this product actually does, written as part of production hardening. It has not received professional legal review and should not be treated as a final, binding policy until qualified counsel has reviewed it.
What we collect
- Account data: your email address and password (handled entirely by our authentication provider, Supabase — we never see or store your password ourselves), plus an optional Google account connection if you choose to sign in that way.
- Profile data: a display name you choose, an optional WPM goal, your training-length preference, and your profile visibility setting (private, friends, or public).
- Typing performance data: aggregated results from each completed test or exercise — words per minute, accuracy percentage, consistency, and character counts. We also store per-key and per-key-pair accuracy statistics (e.g. “you tend to mistype q after p”) to power skill analysis and training recommendations.
- What we deliberately do not store: your raw keystrokes, the exact sequence or timing of individual keystrokes, or the passages you typed. Every typing statistic we keep is a rounded, aggregated number — never a reconstructible record of what you actually typed.
- Competitive and social data: Arena race results, game results (Speed Duel, Accuracy Battle, Word Hunter, Ghost Race), friend requests and friendships, blocks, challenges you send or receive, achievements you unlock, and an accumulated XP total.
- Reports: if you report another user, we keep a record of that report (reason, optional description, who filed it) for trust-and-safety purposes, described further below.
- Timezone: captured automatically from your browser once, to calculate your daily practice streak against your own local day rather than a server clock.
- Local browser storage: your dark/light theme preference is stored only in your browser’s local storage. It is never transmitted to us and is specific to that one browser.
Cookies
We use one essential cookie, set by our authentication provider, to keep you signed in and to refresh your session automatically. We do not use advertising or third-party tracking cookies.
How we use your data
- To compute and show you your own progress, level, streak, and skill breakdown.
- To power friends, leaderboard, Arena, games, and challenge features — always scoped by your own visibility and privacy settings, and never shown to a user you’ve blocked or who has blocked you.
- To power the AI Typing Coach, when enabled: if you use it, a summary of your aggregated skill statistics (accuracy by key/key-pair, WPM figures) is sent to our AI provider, Anthropic, to generate a coaching response. Your name, email, account id, timezone, and raw session history are never included in that request.
Who we share data with
We do not sell your data. We share it only with the infrastructure providers necessary to run the product:
- Supabase — our database and authentication provider. All account and typing data is stored in a Supabase-hosted database.
- Anthropic — powers the optional AI Typing Coach feature, receiving only the aggregated skill summary described above, only when you actively use that feature.
Your controls
- Change your profile visibility (private, friends, or public) at any time in Settings.
- Remove a friend, block a user, or unblock a user at any time.
- Report a user you believe is violating acceptable use.
- Delete your account permanently from Settings. This removes your profile, typing sessions, game results, Arena history, friendships, friend requests, blocks, challenges, achievements, and XP. Reports you filed, or that were filed about you, are retained with the identifying user reference removed (anonymized) rather than deleted outright — this is standard practice so a trust-and-safety record can’t be erased simply by deleting an account, while still no longer being tied to your identity once your account is gone.
Children
This product is not directed at children under 13, and we do not knowingly collect data from anyone under that age.
Changes to this policy
If this policy changes materially, we’ll update the date at the top of this page. Continued use of the product after a change means you accept the updated policy.
Contact
A dedicated privacy/support contact address has not yet been configured for this deployment — add one here before public launch.