Privacy Policy

Last updated: June 12, 2026

1. Information We Collect

Typence (“we,” “our,” or “us”) is a typing practice application. We collect the following types of information:

Account Information

When you register, we collect your email address and username. Your password is hashed using bcrypt and never stored in plain text.

Typing & Game Data

As you practice, we record your typing performance data: words per minute (WPM), accuracy, XP earned, rank, session durations, streak data, character-by-character error rates, and game mode preferences.

Leaderboard Data

Your username, avatar, rank, total XP, and best WPM are displayed publicly on our leaderboard to enable competitive gameplay.

Browser Storage

We use your browser’s localStorage to store game preferences (theme, background mode, language, row layouts), session statistics, practice scores, race scores, cascade scores, SRS flashcard data, lesson progress, and custom content. This data remains on your device and is not transmitted to our servers unless you are logged in and actively syncing.

Cookies

We set a single functional cookie to remember your sidebar open/closed preference. This cookie expires after 30 days and is essential for UI functionality. See our Cookie Policy for details.

Email Communications

We send transactional emails for account verification and password reset only. We do not send marketing emails or newsletters. If SMTP is configured, emails are sent via the configured mail server.

Server Logs

Our server logs request method, path, status code, and duration for operational purposes. These logs do not contain personal data beyond what is inherent in HTTP requests.

2. How We Use Your Information

  • To create and manage your account
  • To track your typing progress and provide statistics
  • To display your performance on public leaderboards
  • To enable competitive features (race mode, cascade)
  • To send email verification and password reset links
  • To improve the application through aggregated analytics

3. Data Storage & Security

Account data and typing history are stored in a PostgreSQL database. Passwords are hashed with bcrypt. Authentication uses JWT tokens (HS256) with configurable expiration. All API endpoints employ rate limiting, CORS validation, and security headers (Content Security Policy, X-Frame-Options, X-Content-Type-Options).

Browser-local data (localStorage) is stored only on your device and is not accessible by our servers unless you have authenticated and choose to sync.

4. Data Sharing

We do not sell, rent, or share your personal data with third parties. We do not use third-party analytics, advertising, or tracking services in the application.

The only external service is the SMTP mail server used to send transactional emails, configured by the application administrator.

5. Data Retention

Your account data and typing history are retained until you delete your account. Session history on the server is limited to your most recent entries. Browser localStorage data persists until you clear your browser data or delete your account through the application.

6. Your Rights

Under applicable data protection laws (including GDPR and UU PDP No. 27/2022), you have the right to:

  • Access your data via your profile page and API endpoints
  • Rectify inaccurate data by updating your profile
  • Delete your account and all associated data through the profile page
  • Portability— request a copy of your data
  • Withdraw consent at any time by deleting your account

To exercise these rights, contact us at the email address listed below or use the account deletion feature in your profile.

7. International Data Transfers

Our servers may be located outside your country of residence. By using Typence, you consent to the transfer of your data to our server location. We take appropriate safeguards to ensure your data is protected.

8. Children’s Privacy

Typence is not directed at children under the age of 13 (or 16 in the EU). We do not knowingly collect data from children. If you believe a child has provided us with personal data, please contact us immediately.

9. Changes to This Policy

We may update this Privacy Policy from time to time. Material changes will be communicated via the application or email. Continued use after changes constitutes acceptance.

10. Contact

For privacy-related inquiries, contact: noreply@typence.app