Privacy Policy — Sudoku

Last updated: 2026-06-14  ·  Applies to Sudoku on Google Play (Android) and the 2DGameClub website

What We Collect

Account information

  • Username / display name — chosen by you, auto-generated for guest players; used as your name in casual Race and on your profile
  • Email address — only if you sign up with email and password (optional)
  • Google account / Google Play Games ID — only if you sign in with Google
  • Player ID — a randomly generated UUID created on first launch, used to identify your account, sync your stats, and enable private Race rooms

The Player ID is generated automatically when you first open the app, even before you create an account. It is stored on your device and linked to your Supabase account record.

Game data

  • Single-player solve results — variant (Classic / Killer / X-Diagonal), difficulty level, solve time, mistake count, hints used, perfect-solve flag
  • Daily Challenge results and streak — which days you solved it and your current/best streak
  • Casual Race results — opponent's display name, puzzle seed and level, who won (or a dead heat / void), your finish time. Race produces a casual win/loss record only — there is no ELO, ranking, or rating consequence
  • Coin balance and theme/cosmetic ownership

What a Race does NOT transmit: Sudoku Race players solve their own private grids. Your in-progress board — the digits you place, your pencil notes, which cells you have filled — never leaves your device. The only thing sent to your opponent during a Race is your aggregate progress (e.g. "53/81, mistakes 1/3") — never any cell, value, or the puzzle's solution-in-progress. Your completed grid is sent to our server once, only to verify a winning submission, and is never shown to your opponent.

Usage data (analytics events — stored on our servers, not sent to any third-party analytics service)

  • Session starts and durations
  • Puzzles started and completed (variant, difficulty, opponent type: solo, Daily, online Race, practice/Zen)
  • Tutorial progress
  • Theme purchases and theme switches
  • Ad interactions (rewarded ads watched, interstitials dismissed)
  • Achievements unlocked
  • Daily login streak events
  • Feedback submissions and Play Store rating prompt responses

None of these events include your name or email — only your anonymous Player ID.

Device information (for crash reporting only)

  • App version
  • Android OS version
  • Device model (e.g., "Samsung Galaxy A52")

What We Don't Collect

  • Passwords — handled entirely by Google or Supabase Auth; we never see them
  • Precise or approximate location
  • Contacts or address book
  • Microphone or camera
  • Payment card or billing details — handled entirely by Google Play Billing; we never see payment information
  • Chat or messages between players — Sudoku has no in-game chat; the only player-to-player text is a username shown in a Race invite or on the Race screen
  • The contents of your puzzle grid during a Race (your cells and notes stay on your device)
  • Device identifiers such as IMEI, MAC address, BSSID, SIM Serial, or phone number

We never sell your personal data.

How We Use Your Data

Game functionality: Your single-player and Daily Challenge results are stored in Supabase so they sync across your devices when logged in and so we can show your personal-best times and streaks. For a casual Race, we store the shared puzzle and each player's aggregate progress counts to run the match and decide a winner; your completed grid is sent once for win verification only.

Race results: Your username and casual win/loss result appear to the opponent you raced. Race results are not ranked and do not appear on any public competitive leaderboard. The only public-facing comparison is the anonymous Daily Challenge global comparison — others do not see your name there.

Personalisation: Your chosen theme, coin balance, and settings preferences are stored on your account so they sync across devices when logged in.

Analytics: Usage events are stored to help us understand how players use the game and where to improve it. These are associated with your anonymous Player ID — never with your name or email in analytics queries.

Notifications: If you grant notification permission, your device's push token is stored to send Race-related alerts (e.g., "Match found", "Your opponent finished — submit your grid"). The daily reward/streak reminder is scheduled locally on your device and does not require sharing any data with our servers.

Third Parties

Sudoku relies on a small number of trusted services. Each has its own privacy policy:

ServicePurposeTheir Policy
SupabaseDatabase, authentication, realtime Race sync (hosted in the United States)supabase.com/privacy
Google AdMobAdvertisements (non-personalised by default)policies.google.com/privacy
Google Sign-In / Google Play Games ServicesSign-in, achievements syncpolicies.google.com/privacy
Google Play BillingIn-app purchasesplay.google.com/about/play-terms
RevenueCatPurchase management and entitlement trackingrevenuecat.com/privacy
Expo / React NativeApp framework and push notification deliveryexpo.dev/privacy

We do not share your data with these services beyond what each needs to perform its function. Sudoku has no Facebook integration.

Advertising — AdMob non-personalised ads

Sudoku requests non-personalised ads from Google AdMob. AdMob does not build a behavioural profile based on your identity or cross-app activity, and does not use interest-based targeting or remarketing. It may still use contextual signals (e.g., general location derived from IP, language) to select relevant ads. Ads are shown as full-screen interstitials (after every 5th completed puzzle) and player-initiated rewarded videos only — no banner ads, no ads during active solving, tutorials, or within 3 seconds of launch. A one-time Remove Ads purchase removes all interstitials permanently.

RevenueCat — purchase data

RevenueCat receives your Google Play purchase receipts and the entitlements they unlock. RevenueCat does not receive your name, email, or gameplay data. It uses an anonymous user ID to associate purchases with your account.

Your Rights

Access: Request a copy of the data we hold about you by emailing [email protected].

Deletion: Delete your account from within the app: Settings → Account → Delete Account. This begins a 30-day grace period. After 30 days, all personal data — username, email, solve history, Daily streak, Race results, coin balance — is permanently deleted from our servers. Analytics events are anonymised rather than deleted.

Correction: Change your username at any time from Settings → Profile (up to 3 times per 30 days for logged-in accounts; no frequency limit for guest accounts).

Portability: Request your complete solve and Race history as a JSON file by emailing [email protected]. We will respond within 30 days.

Opt out of analytics: Contact us and we will flag your account to exclude it from all analytics aggregation. Operational data (a Race's shared puzzle and progress counts while a match is live) cannot be excluded while you are in an active Race.

Data Storage — Supabase (United States)

All account data, synced solve results, Race data, and analytics events are stored in Supabase, hosted in the United States. By creating an account, you acknowledge that your data will be transferred to and stored in the United States, which may have different data protection laws than your country of residence.

Data Retention

  • Active accounts: All data retained while the account exists.
  • Deleted accounts: Personal data removed within 30 days of deletion request. Analytics events anonymised permanently.
  • Inactive accounts: Accounts with no activity for 24 months may be flagged for deletion with 30-day email notice if an email is on file.
  • Race progress data: Per-player progress counts are transient and not persisted after the match ends — only the final casual result is stored.
  • Raw analytics events: Retained for 12 months in raw form; aggregated into statistics and raw events deleted after 12 months.

GDPR (European Economic Area)

If you are in the EEA, you have the following additional rights under the General Data Protection Regulation:

  • Right of access: Request a copy of all personal data we hold about you.
  • Right to rectification: Request correction of inaccurate personal data.
  • Right to erasure: Request deletion of your account and all associated personal data (completed within 30 days).
  • Right to restriction: Request that we stop processing your data while a dispute is pending.
  • Right to data portability: Request your solve and Race history in a machine-readable format (JSON).
  • Right to object: Object to processing based on legitimate interest. Operational data (a live Race's shared puzzle and progress) is necessary for the Race feature to function and cannot be excluded while a match is active.

Our lawful basis for processing your data is contract performance and legitimate interest (anonymised analytics to improve the game). To exercise any of these rights, email [email protected]. We will respond within 30 days.

CCPA (California Residents)

If you are a California resident, you have the right to know what personal information we collect and how it is used, request deletion of it, and opt out of its sale. We do not sell your personal information and do not share it with third parties for their own marketing purposes. To exercise your rights under CCPA, email [email protected].

Children's Privacy (COPPA)

Sudoku is rated Everyone (E) on Google Play. The target audience is 13 and older, and we are not in the Google Play Families Program. We do not knowingly collect personal data from children under 13. If we learn that we have done so without parental consent, we will delete that data within 30 days. If you believe a child under 13 has provided us with personal data, contact [email protected].

Security

All data in transit is encrypted using TLS. Supabase enforces Row Level Security (RLS) — you can only read and write your own records. Passwords are never stored by us; they are handled by Google or Supabase Auth (bcrypt-hashed at rest). During a Race, your puzzle grid never leaves your device except for the single final win-verification submission — an opponent can never read your cells or notes. No method of transmission or storage is 100% secure — if you become aware of a security concern, contact [email protected].

Changes to This Policy

We will notify players of significant changes via the What's New screen in the app. Minor corrections may be made without notification. The "Last updated" date at the top always reflects the current version.

Contact

2DGameClub Studio
[email protected]