TypingPractice.ai

Privacy

Your typing profile stays in your browser unless you choose to sign in, which is optional. Otherwise all the app sends us is a few anonymous usage events, and nothing at all if your browser asks not to be tracked. When you use an AI feature, a summary of your typing numbers goes to OpenAI through our server, never what you typed.

Your profile stays in your browser

Your habit profile, round history and settings are saved in this browser’s local storage, under keys that start with typingpractice. Unless you sign in, the profile itself is never uploaded: not your keystrokes, not the text you type or paste, not your timings per key. (The AI features send a summary of some of its numbers, and only when you use them.) Erase it at any time with “Erase my data” on your habits, or by clearing this site’s data in your browser.

If you sign in

Accounts are optional: practice, the typing test and your habits all work without one. If you sign in with Google, so that your progress follows you to other browsers and devices, our servers store:

  • Who you are: your name, email address and the link to your Google profile picture, as Google shares them each time you sign in, and when you signed up and last signed in. We never see your Google password.
  • Your typing profile: the same profile this browser keeps. That is your timings and misses for each key and pair of keys, the keys you hit by mistake, the words you have practiced with how fast and accurately you typed each one (single words, never your text in order), your round history and totals, a summary of each day you practiced (rounds, time, and each key’s and common key pair’s timings and misses that day), your daily goal and learning path, the lessons you have passed, the pacer’s speed, how often your keystrokes overlap (each round’s share of keys pressed before the last one was released), the AI coach’s latest review if you asked for one, and the color theme you picked, if any. Your other settings, including any text you paste to practice with, stay in this browser.
  • A session cookie keeps you signed in, for up to 30 days. It is encrypted, only our server can read it, and signing out removes it.

Signing in goes through Google, so Google knows you signed in to TypingPractice.ai. The anonymous usage events below stay as they are and are never linked to your account. “Erase my data” on your habits page also empties the profile saved in your account. To delete your account and everything stored with it, email liu.gavan@gmail.com from the address you sign in with.

AI practice text and the AI coach

Two optional features use an AI model from OpenAI: AI practice text, a kind of text in the practice options, and the AI coach on your habits. Nothing is sent unless you use one. When you do, this site’s server sends OpenAI’s API:

  • For AI practice text: your stage and learning path (such as “Intermediate” and “Speed”), the topic you picked, the round length, up to four letters and three letter pairs to practice, and your three most common slips as pairs of letters (such as hitting r for e).
  • For a coach review: a summary of your typing numbers, built in your browser. For each letter, how often you pressed and missed it and how long it took; your slowest letter pairs, common slips and swapped letters; up to ten problem words, only ever words from the site’s own word list; your speed and accuracy on recent practice days, counted back from today; your stage, learning path and daily goal; how often your keystrokes overlap; how often you practice and your streak; and today’s day of the week.

Never your keystrokes in order, the text you typed or pasted, times finer than a day, or your name, email or account. Our server checks every field before anything goes to OpenAI, and the model sees nothing else. Each request asks OpenAI not to store the answer for later retrieval (the API’s store: false). Under OpenAI’s API data policy, data sent to its API isn’t used to train its models, and OpenAI keeps abuse-monitoring logs of API use for up to 30 days.

To keep the AI features fair and their cost in check, our server counts AI requests per day: by account if you are signed in, otherwise by IP address, held in memory only and never logged or stored. For each request it logs how many tokens it used and what it cost, never what was in it. The coach’s latest review is saved in your profile with the rest of your habits, so it stays in this browser (and in your account if you sign in) until you refresh it or erase your data.

Anonymous usage events

To see how the site is used and what to improve, the app sends short usage events to our own server, not to an analytics company. Each event has a name, the time, the page it happened on, and only these facts:

  • Page views: the site you came from (its name only, like google.com, and only when you followed a link from another site), the campaign tags in that link (utm_source, utm_medium and utm_campaign), whether your device has a touch screen, and your browser’s language.
  • Rounds and tests: when one starts (its kind of text and length, and the topic for AI text), ends, or is restarted (how far you got), and when you go on from the results (to new text, or the same text again). For a finished one: its speed, raw speed, accuracy, consistency, words typed, time taken, kind of text, and whether it was a personal best. For practice rounds also your learning path, the keyboard guide’s setting, the lesson and whether you passed it, whether stop on error was on, the pacer’s speed and whether you beat it, how often your keystrokes overlapped, and whether the round suggested the touch typing path.
  • Other actions: opening your habits (whether it shows your own patterns or the example, and how many), starting a drill from them or from the AI coach (which kind of pattern, and how many keys and moves), and changing a setting (which one and its new value; for your own text, only how many words it has; for your learning path, also where you picked it).
  • Your progress, in numbers: how many rounds this browser has finished, on how many different days, how many days ago the first one was, and whether practice has found your weak keys yet.

Events carry no cookies, no name or account, and no lasting ID, whether or not you are signed in. Each page load gets a random ID that lives only in memory, so the events of one visit can be grouped, but two visits can’t be linked to each other or to you. Our server uses your IP address only in memory, to limit how many requests one address can send, and never stores or logs it. Of your browser’s user agent it keeps only whether it says “mobile”.

Global Privacy Control and Do Not Track

If your browser sends a Global Privacy Control or Do Not Track signal, the app sends no usage events at all. Everything else works the same.

Nothing is sold

We don’t sell any of this. The only other company that receives any of it is OpenAI, and only the AI requests described above, when you use an AI feature. There are no ads, third-party trackers or social media widgets on the site.

Credits

The practice word list is adapted from wordfreq by Robyn Speer, whose data is built from Wikipedia, OpenSubtitles, SUBTLEX (freely available data by Marc Brysbaert and colleagues), news, Google Books Ngrams, web text, Twitter and Reddit. It is licensed under CC BY-SA 4.0, and so is our adapted list (filtered to everyday words, with extra words for rare letters).

Contact

Questions or requests, including deleting your account: liu.gavan@gmail.com. Because the usage events identify no one, there is no way to look up the events of one person.

Last updated 5 November 2026.