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