Privacy Policy — CheckMate Chess
Last updated: 26 July 2026
CheckMate Chess (“the app”, “we”) is a single-player, offline chess puzzle game. This policy explains what data the app does and does not handle. It is written to be honest and specific — if a practice is not listed here, the app does not do it.
Summary
- No account required. You can play without providing any identity. An optional email sign-in exists only to back up and sync your progress.
- We collect anonymous usage analytics — which modes and levels are played and roughly how long — to improve the game. It is tied to a random per-install id, never to your identity, and you can turn it off in Settings.
- We do not collect personal data for analytics. No board positions and no email address are ever included in analytics events.
- Your progress stays on your device by default. Levels solved, stars, and hearts are saved in local device storage; if you sign in, a copy is synced to our processor (Supabase) so you can restore it.
- Google AdMob serves the optional rewarded ads used to refill hearts / unlock an extra hint.
- Reminders are local and off by default. If you turn one on, it is scheduled entirely on your device — there is no push service, and no schedule or notification text ever leaves the phone.
- Feedback you send is yours to send. The “Send feedback” form transmits only what you typed, plus the optional technical context you tick, plus your email if (and only if) you are signed in.
Data the app stores on your device
The app uses local on-device storage (shared_preferences) to remember:
- which levels you have solved and how many stars you earned;
- your current hearts and when they last refilled;
- your sound on/off preference;
- whether each reminder is on and the time you picked for it;
- how many times the app has been opened and when it last asked you for a store review (so it does not ask again).
This data stays on your device unless you sign in (see “Account & cloud sync”), and is removed when you use Reset progress in Settings or uninstall the app.
Anonymous usage analytics
To understand what players enjoy and where they get stuck, the app records a small stream of anonymous usage events (for example: the app was opened, a mode or level was started or solved, a hint was used, a rewarded ad was watched). These events are processed on our behalf by Supabase (see “Account & cloud sync”) and are used only in aggregate to improve the game.
What each event contains:
- a random per-install identifier (a UUID generated on your device), which is not linked to your name, email, or advertising id;
- if you are signed in, your account's opaque user id;
- the event name and a few non-identifying values (such as a level number, a star count, seconds spent, or an ad's purpose).
What analytics events never contain: your board positions or moves, and your email address. Which puzzle you solved is recorded only as a world and level number, never as a position.
Opt-out: analytics collection is on by default but can be turned off any time under Settings → “Share anonymous usage data.” Turning it off stops all recording immediately and discards anything not yet sent.
Account & cloud sync (optional)
Signing in is optional and uses a one-time email code (no password). If you sign in, your email is used only to authenticate you, and a copy of your game progress is stored so you can restore it on another device. Authentication, cloud save, and the anonymous analytics above are hosted by Supabase, acting as our data processor. You can keep playing fully offline and never sign in.
Advertising (Google AdMob)
The app shows rewarded video ads — you choose to watch one to refill hearts or reveal an additional hint. Ads are provided by Google AdMob, a third-party service. To serve ads, Google may collect and process data such as a device advertising identifier, general (coarse) location, IP address, and ad-interaction information, as described in Google's own policies:
- How Google uses information from sites/apps that use its services:
policies.google.com/technologies/partner-sites - Google Privacy Policy: policies.google.com/privacy
- AdMob/Google Ads help: support.google.com/admob/answer/6128543
Consent (EU/UK)
For users in the European Economic Area, the UK, and Switzerland, the app uses Google's User Messaging Platform (UMP) to request consent for personalized advertising before ads are requested. Your choice is handled by Google's consent framework. If consent cannot be gathered (for example when offline), the app skips it and remains fully playable; ad personalization is limited accordingly.
Children
The app is a general-audience puzzle game and is not directed at children under 13. We do not knowingly collect personal data from children. Because we operate no account system, we hold no user identities.
Reminders (notifications)
Both reminders — the Daily Mate nudge and the streak guard — are off by default. Notification permission is requested only at the moment you switch one on, never at first launch. Reminders are scheduled locally by your device: there is no push service, no server involvement, and nothing about your reminder time or the notification text is transmitted anywhere. Turning a reminder off, or disabling notifications in your device settings, stops it immediately.
Feedback you send us
If you use Send feedback, we receive the message you typed and the same random per-install id used for analytics. Your email address is attached only if you are signed in, so we can reply. The optional “Include my stats” toggle attaches nothing but the app version, the platform name, and how much you have solved — it is on by default and you can switch it off before sending. Nothing else about your device is collected. Messages are stored with our processor (Supabase) and are readable only by us.
Permissions
The app requests only the standard permissions required to display ads, post the reminders you opted into, and run on the device:
- network access — ad loading, optional cloud sync, analytics;
- notifications (
POST_NOTIFICATIONSon Android 13+) — requested only when you switch a reminder on; - run at startup (
RECEIVE_BOOT_COMPLETEDon Android) — so a reminder you already set survives a device restart.
The app does not request exact-alarm permission, and does not request access to contacts, photos, precise location, microphone, or camera.
Changes to this policy
We may update this policy as the app evolves (for example, if a new feature changes what data is handled). The “Last updated” date above will change accordingly.
Contact
Questions about this policy: [email protected]