Privacy Policy
Effective / Updated: October 17, 2026
1. Operator and scope
This policy applies to the iOS and Android app "Checkers" (iOS bundle ID and Android package com.osj.checkers), published by Next Studio, an individual developer based in South Korea. Contact: dhalska2@gmail.com.
2. Account and progress
No sign-up is needed: the app automatically creates an anonymous account. Your progress (stats, achievements, solved puzzles, missions, settings and an unfinished game) is saved on our server against that account so it is not lost. Coins, hints, undos, owned skins, attendance bonuses, daily free uses and claimed achievement and mission rewards are granted, deducted and recorded by the server; the app only shows the values the server returns. A rewarded ad counts once and only after AdMob server-side verification, for which your account identifier and a one-time token are passed to our server. Signing in is optional. On iOS you can use Sign in with Apple: Apple shares an identifier and, if you allow it, an email address (which may be a private relay address). On Android you can use Google Sign-In: we receive only your Google account identifier and email address, and we do not request your name or profile photo. These are used only to create or link your account and recognise it on your devices. When you sign in to an existing account, the progress of the anonymous account is merged into it.
3. Online play, rankings and spectating
When you play online, your nickname, country, avatar, rating, and the moves, result and emoji reactions of the game are stored on our server and shown to your opponent and in the rankings. Other players may watch your live online games (with your nickname shown); you can turn this off in Settings. You can report or block other players in the app; reports (the reported player, reason and time) are kept to review nicknames and conduct that break the rules.
4. Friends and tournaments
If you use friends, the app creates an 8-character friend code and stores your friend list and your challenges (game requests) on our server. Friends can see your nickname, rating and when you were last online (updated while you use the app). If you share your friend code, others can find and add you. If you join a tournament, your entry (score, games, wins, rating, rank and prize coins) is stored on our server and used for the standings.
5. Game record sync
Finished games (against the computer, online, nearby, and two players on one device; not practice) are saved on your device and also synced to our server so you can view them on another device. A record can contain the game ID, time, rules, mode, result, all moves, the starting position (for example one made in the board editor), the level, and the opponent’s nickname for online and nearby games. The server keeps your latest 20 games (200 with Premium) and the oldest are removed first. You can delete individual records in the records list.
6. Nearby play (Wi-Fi and Bluetooth)
Nearby play lets you play a device close to you directly, without internet, over the same Wi-Fi or Bluetooth LE. On Wi-Fi the room is announced and found on the local network with Bonjour (mDNS); on Bluetooth the opponent is found by advertising and scanning. While you host, your nickname is visible to nearby devices. Once connected, your nickname, avatar, rules, moves, resign and draw offers and emoji reactions go straight to the other device and are not sent to our servers. The app does not use your location. iOS asks for Bluetooth and local network access the first time; the rest of the app works if you decline, and you can change it in iOS Settings. Nearby games do not count toward rating, stats, missions or coin rewards. However, a finished game is saved on your device as a game record with the mode “nearby” and is included in the game record sync above, so it is also uploaded to our server (with the opponent’s nickname). Nearby play has no report or block function. On Android 12 and later the app asks for the "Nearby devices" permission for Bluetooth; on Android 11 and earlier the system requires the location permission for Bluetooth scanning, but the app does not read or collect your location.
7. Features processed on your device
The 13 rule variants, house rules, positions made in the board editor, move notation and game analysis are calculated on your device. PDN import only reads text you paste or type, and export only copies to the clipboard; the app does not send either to a server. When you open an analysis, only a hash identifier of the game is sent to the server to count your free uses per day, not the moves themselves. If such a game is finished and kept as a record, it is included in the game record sync above.
8. Purchases and subscriptions
Purchases are billed by the store, and we never receive your card or other payment details. On iOS, in-app purchases (remove ads, theme pack, hint and undo packs) and the Premium subscription are billed by Apple; we store the transaction ID, product and subscription status to grant and restore what you bought. On Android, purchases go through Google Play Billing and only one-time items are offered (remove ads, skin pack, bundle, hint packs and undo packs); there are no subscriptions on Android. The app sends the purchase token to our server, which checks it with Google (Google Play Developer API), stores only a SHA-256 hash of the token with the product ID, status and time in a purchase ledger, and grants the item. Refunded or cancelled purchases are reconciled later through Google's voided purchases API and Google Play real-time developer notifications, and the item is taken back.
9. Notifications
Only if you turn on notifications (on Android 13 and later, by allowing the notification permission) is a push token (Firebase Cloud Messaging) stored together with your language, time zone and per-game notification settings, to tell you when it is your turn or a game has ended. You can turn this off in the app or in the system settings of iOS or Android.
10. Ads
Google AdMob shows non-personalized ads. Where required (for example the EEA and UK), a Google consent form (UMP) is shown before ads and you can change your choice in Settings. The app does not show an App Tracking Transparency prompt and does not track you across other companies' apps or websites. On iOS it does not ask for access to the advertising identifier. On Android the app declares the advertising ID (AD_ID) permission for ads; ads stay non-personalized, and you can reset or delete the advertising ID in Android settings. AdMob may still process device information, the advertising ID where available and an approximate (IP-based) location to deliver ads, limit how often they appear, measure them and prevent fraud. Ads can be removed with an in-app purchase.
11. Crash reports
In release builds only (not in development builds), Firebase Crashlytics collects crash and error reports (device model, OS and app version, stack traces and technical logs, and a random installation ID) so we can fix problems. These reports contain no payment details.
12. Service providers and storage
Supabase (database and sign-in), Apple (Sign in with Apple and App Store payments) and Google (Google Sign-In, Google Play billing, AdMob ads, Firebase notifications and crash reports) process data under their own privacy policies; their servers may be located outside your country. These pages are hosted on GitHub Pages and use no analytics or advertising scripts.
13. Retention and deletion
Server data is kept while your account exists. When you delete your account in the app (Settings > Account) or request deletion on the Delete Data page, it is deleted or anonymized within a reasonable time. On deletion, purchase records linked to your account are deleted; only an unlinked refund marker (a SHA-256 hash of a Google purchase token and a timestamp, with no link to any user) remains to stop refunded purchases from being granted again. Deleting the app removes only the data stored on the device.
14. Your rights, children and changes
You can ask to access, correct or delete your data at dhalska2@gmail.com. The app is not directed at children under 13, and we do not knowingly collect their data. Changes to this policy are posted on this page with a new date.