Privacy policy
Last updated 7 November 2026.
Sudoku·AD (“we”, “us”) is the sudoku site at sudoku.ad and its iOS and Android apps. We are the controller of the personal data described here. Contact: support@sudoku.ad.
The short version
- You can play without an account. We do not need your name or email to do that.
- No ads and no tracking scripts. We do not sell or rent data, and do not share it for advertising.
- Our only analytics is our own count of how visits go (opened a puzzle, solved it, signed up). No cookies and no IP addresses stored. We also use Cloudflare Web Analytics, which is cookieless. Details.
- You can delete your account, and everything tied to it, at any time from inside the app.
What we collect
If you play without an account
- Your progress stays on your device. Solves, the board you are working on, saved puzzles, settings, adventure stars and lesson progress are kept in your browser’s storage (in the app, its private storage) until you clear it — see Stored on your device. We do not receive them.
- Usage counts. To see whether people find a puzzle, play it and come back, the site
sends us, with or without an account, at most once or twice a visit:
- a random ID made by your browser and kept in its storage (
sudoku-ad.anon). It is not a cookie, is never linked to an account, and only lets us count one browser once a day and see if it returns within 7 days; - which of these happened that day: you arrived, opened a puzzle, made a first move, solved it, created an account, signed up for puzzle emails, shared a link (only what kind: a puzzle, a replay, a profile…, never the link), with the puzzle’s number;
- the kind of device (phone, computer or the app) and where you came from: a campaign tag on the link
(
utm_source,utm_campaign) or the referring site’s name, never the full address.
- a random ID made by your browser and kept in its storage (
- Page-view counts. On sudoku.ad (not in the app, on embedded puzzles or on private pages) we also use Cloudflare Web Analytics to count visitors and pages. It sets no cookies, does not track you across sites and gives us no personal data, only totals. It does not run in a browser that has opted out of our analytics, or with Do Not Track or Global Privacy Control on.
- Error reports. If the app hits a JavaScript error, it sends us the error message (at most 300 characters, at most ten per visit). These are counted per day, contain no identifiers, and are deleted after 14 days.
- Abuse limits: to stop usage counts and error reports being flooded, a one-way hash of your IP address is held in Cloudflare’s edge cache for up to 10 minutes. It is never written to our database.
- Race names. If you join a head-to-head race, the name you race under and your finishing time are shown to the other racers and stored with the race.
- Daily-puzzle notifications (web only). If you turn them on, your browser gives us a push subscription (an address at your browser maker’s push service, such as Google, Apple, Mozilla or Microsoft). We store it, without any link to an account, only to send the daily reminder. Turning notifications off deletes it.
If you create an account
- Account details: your username, an optional display name, whether you are a player or a setter, and when you joined. Your password is never stored — only a salted PBKDF2 hash of it — and the same goes for your one-time recovery code. If you add an email address (it is optional; you can add, change or remove it in Account at any time), we keep it only to help you back in if you forget your password, by sending a reset link when you ask for one. It is never shown publicly.
- Sign-in with Google or GitHub (web only, where offered): we store the provider’s account ID and, if the provider confirms it is verified, your email address, solely so the same person can sign in again and so an existing account can be linked. We do not receive your password or contacts, and we do not email you.
- Sessions: a random session token, stored in our database with an expiry (30 days). On the web it is kept
in a single cookie (
sid, HttpOnly, Secure) used only to keep you signed in. In the app it is kept in the app’s private storage on your device and sent with each request. - Game data: your solves (variant, grid size, difficulty, time taken, when), daily-puzzle times, saved puzzles and games in progress, adventure and lesson progress, and puzzles you add to your shelf.
- Things you publish or post: puzzles you publish, comments, ratings, difficulty votes, who you follow, share links you create, and — for setters — the website, Discord handle, links and bio you add to your public profile. These are visible to other people; that is their purpose.
- Setter consent requests: if you tell us a setter’s decision about their puzzles, we keep the request, the contact details and note you give, so a person can verify it.
If you sign up for puzzle emails
- Your email address, when you give it in the Get new puzzles by email form, with when you signed up, which form you used, the version of the wording you agreed to, and — if you were signed in — your account. We use it only to send you new puzzles and news about Sudoku·AD, and never share or sell it.
- Unsubscribing: every email carries an unsubscribe link, which takes you off the list at once. You can also write to support@sudoku.ad. We keep the address marked as unsubscribed so it is not emailed again; ask us and we will delete it entirely.
- Abuse limits: to stop the form being misused, a one-way hash of your IP address is held in Cloudflare’s edge cache for up to an hour. It is never written to our database.
Stored on your device
The app keeps your progress, settings and any results waiting to be sent while you are offline in your
browser’s storage or, in the native app, its private
storage. In a web browser this is localStorage, with or without an account, so closing the browser does not
lose your game; it stays on this device until you clear it. Signing out asks whether to keep this device’s progress or
clear it; clearing removes your game data, drafts and the usage-count ID from the device, and device settings such as the theme stay, as does a
note of whether you have signed up for or closed the puzzle-email card (sudoku-ad.newsletter), so it is
not offered again. So does a note that this browser has had an account (sudoku-ad.has-account, which names
no one), so that signing in opens on Sign in rather than Create account. If you are asked to sign in
in the middle of something (posting a comment, following someone), that one action and its text are kept for up to
15 minutes so it can finish once you are signed in, then removed.
Why we use it
To run the service you asked for: keeping you signed in, saving and syncing your progress across devices, leaderboards, the community library, comments and profiles (performance of our agreement with you). Usage counts and error reports are used to see what works for players and to fix bugs (our legitimate interest in running a working site; they name no one and are not linked to accounts). Push subscriptions and puzzle emails are used only with your consent, which you can withdraw at any time.
Who else processes it
- Cloudflare hosts the site, the API and the database. Like any host, it processes connection data such as IP addresses to deliver and protect the service; we do not store them (beyond the short-lived hashes used to limit abuse of the puzzle-email form, usage counts and error reports).
- Google or GitHub, only if you choose to sign in with them.
- Google (Gmail) sends the puzzle emails, so it handles your address to deliver them.
- Browser push services (Google, Apple, Mozilla, Microsoft), only if you turn on notifications.
- Puzzle sources. When you import a puzzle from a link (an online puzzle player, f-puzzles, Cracking the Cryptic, YouTube), our server or your device fetches that link to read the puzzle. Only the link is sent.
Fonts and all other assets are served from our own domain. There are no ad networks, social widgets, tracking SDKs in the site or the apps; the only outside script is Cloudflare’s cookieless Web Analytics counter on the website. We will disclose data if the law requires it.
How long we keep it
- Account data: for as long as the account exists, then deleted as described below.
- Sessions: until you sign out or after 30 days, whichever is first.
- Error reports: 14 days. Usage counts: daily totals 90 days; each ID’s row 90 days after its last visit. Old page-view counters (no longer collected): aggregate daily totals, which identify no one.
- Puzzle-email sign-ups: until you unsubscribe (then kept, marked unsubscribed, so you are not emailed again) or ask us to delete them.
- Race results: kept with the race. Push subscriptions: until you turn notifications off or the push service reports them expired.
- Database backups: kept for a limited time for disaster recovery, after which deleted data is gone from them too.
Deleting your account
In the app or on the web: sign in, open the account menu (your name, top right) and choose Account (it is also on your profile page), then Delete account, and confirm with your password (or, if you signed up with Google or GitHub, by typing your username). Deletion is immediate and permanent. It removes your account, sessions, sign-in links, profile, solves, daily times, saves, adventure and lesson sync, shelf, follows, ratings, comments, share links, setter consent requests, a puzzle-email sign-up made while signed in, and the puzzles you published (along with other people’s comments and ratings on them).
Not linked to an account and so not affected: race entries (stored under the name you typed), push subscriptions (stored per browser), and the anonymous usage counts, page-view and error counters.
Can’t sign in? Use your recovery code to reset your password first. If that is not possible, email support@sudoku.ad from any address with your username and we will help; we may ask you to prove the account is yours.
Your rights
Depending on where you live (for example under the GDPR or UK GDPR) you can ask to access, correct, export or delete your data, object to or restrict how we use it, and complain to your data-protection authority. Most of this you can do yourself in the app; for anything else, write to support@sudoku.ad. We answer within one month.
Children
Sudoku·AD is a general-audience puzzle site and is not directed at children under 13. We do not knowingly collect personal data from children under 13; playing does not require an account. If you believe a child under 13 has created an account, contact support@sudoku.ad and we will delete it.
Security
Connections are encrypted (HTTPS). Passwords and recovery codes are stored only as salted hashes. Session tokens are random, expire, and are deleted on sign-out.
Changes
If this policy changes we will update the date at the top, and for significant changes say so in the app.