Legal

Privacy

Privacy Policy

Last updated: 14 May 2026

Touch Typer is built by an individual developer (Robert Koch). This policy explains what data is collected when you use Touch Typer, how it is used, and what choices you have.

If you have questions, email robert@kochie.io.


1. What we collect

Account information

When you create an account we collect your email address, display name, and a username (used on the public leaderboard). You may also sign up via a third-party OAuth provider, in which case we receive the information that provider shares with us.

Typing performance data

Every time you complete a typing test, we store:

  • Characters per minute (CPM) and accuracy
  • Per-keystroke timing and correctness (used to generate heatmaps and coaching insights)
  • The language, keyboard layout, difficulty level, and test duration
  • The date and time of the session

This data is linked to your account and is used to display your history, calculate your leaderboard score, and power AI coaching features.

Streak and goal data

We store your current streak, longest streak, streak freeze count, and any goals you set in the app.

Subscription and billing data

We record your subscription plan, billing period, renewal date, and subscription status. Payment card details are handled exclusively by Stripe or Apple and are never stored on our servers.

PvP match data

When you play a PvP challenge we record the match settings, your result (CPM, accuracy, keystroke data), the outcome, and the IDs of participants. Match invite codes are ephemeral and expire.

Push notification tokens

On macOS and Windows we may store a device-level push notification token to deliver streak reminders. You can disable notifications in the app settings.

Diagnostic data

We collect crash reports, performance traces, and event data to diagnose issues and monitor app health. This may include your platform (macOS / Windows / Linux), app version, and a pseudonymous user identifier.


2. How we use your data

We use the data we collect to:

  • Provide, maintain, and improve Touch Typer
  • Calculate leaderboard rankings and display your typing history
  • Generate personalised progress reports and AI coaching recommendations
  • Send streak reminder notifications (if enabled)
  • Process subscription payments and manage your plan
  • Investigate crashes and fix bugs
  • Detect and prevent abuse

We do not sell your data, use it for advertising, or share it with third parties beyond the services listed below.


3. Third-party services

Supabase

Authentication and database hosting are provided by Supabase. Your account data, typing results, and all app data are stored in Supabase's hosted PostgreSQL database. Supabase is SOC 2 Type 2 certified. Supabase privacy policy →

Sentry

Crash reports and performance monitoring are provided by Sentry. Sentry may receive your app version, device platform, a pseudonymous user ID, and stack trace information when an error occurs. Sentry privacy policy →

Fathom Analytics

Website analytics are provided by Fathom Analytics, a privacy-first analytics tool that does not use cookies, does not track individuals across sites, and is fully GDPR compliant. Fathom privacy policy →

Stripe

Stripe processes subscription payments on the web and in the desktop app (non-Mac App Store builds). Touch Typer does not receive or store your card number, expiry, or CVV. Stripe privacy policy →

Apple

Mac App Store builds use Apple's in-app purchase system for subscriptions. Apple processes payment data under their own privacy policy. Apple privacy policy →


4. Data retention

We retain your account and typing data for as long as your account is active. If you delete your account, your data is permanently deleted from our database within 30 days, except where we are required to retain records for legal or tax purposes (e.g. Stripe billing records).

Diagnostic data held by Sentry is retained for 90 days. Fathom Analytics data is anonymised and aggregated — it cannot be linked back to you.


5. Your rights

You can:

  • Access your data — your typing history and profile information are visible in the app.
  • Correct your data — update your display name, username, and email in account settings.
  • Delete your account — go to Settings → Account → Delete Account. This permanently removes your profile, results, and all associated data.
  • Request a copy of your data — email robert@kochie.io and we will send you an export within 30 days.
  • Object to processing — if you have concerns about how your data is used, contact us and we will work with you to address them.

If you are located in the European Economic Area, you have additional rights under the GDPR, including the right to lodge a complaint with your local supervisory authority.


6. Children's privacy

Touch Typer is not directed at children under 13. We do not knowingly collect personal information from children under 13. If you believe a child under 13 has provided us with personal information, please contact us and we will delete it promptly.


7. Security

We use industry-standard security practices including encrypted connections (HTTPS/TLS), row-level security policies on our database, and restricted access to production systems. No method of transmission or storage is 100% secure; we cannot guarantee absolute security.


8. Changes to this policy

We may update this policy as the app evolves. We will update the "Last updated" date at the top of this page. For significant changes, we may notify you by email or through the app.


9. Contact

Questions or requests about your data: robert@kochie.io