Privacy Policy
Last updated: 6 November 2026
Chess Review is built so that most of what you do never leaves your device. This page explains exactly what does.
What stays on your device
- Game analysis. The chess engine (Stockfish, compiled to WebAssembly) runs inside your browser. The moves you paste are analysed locally.
- Settings and progress. Board style, voice choice, training progress and similar preferences are kept in your browser's local storage. If you sign in, your session token and display name are stored there too. We do not use cookies.
- Daily habit progress. Your streak, XP, daily quests, badges, puzzle rating, daily puzzle results and the mistakes you chose to drill (the positions from your own reviewed games) are kept in local storage. They never need an account. If you are signed in they are also saved to your account so they follow you between devices; the server checks them for plausibility and keeps only what it needs. We send no reminders or notifications for them.
What is sent to our server
- Published reviews. When a review finishes, it is published to the public gallery by default so others can learn from it. The published copy contains the moves, the engine evaluations and the written commentary. By default the box Share anonymously is ticked: player names are replaced with "Player (white)" / "Player (black)" and the link to the original game is removed. If you untick it, the player names from the game are public. If you were signed in when you published, the review is linked to your account so you can find and remove it. You can remove a review you published while signed in from the gallery, or ask us to remove any review (see Contact).
- Game links. If you paste a chess.com or lichess link, our server fetches that game on your behalf so it can hand you the PGN. We do not keep the link; fetched lichess studies may be cached for a short time to avoid repeat downloads.
- Chat with Bodhi (signed-in accounts). Your question, a summary of the game you are looking at, and recent chat turns are sent to a language-model provider to write an answer. We may also run a web search using your question text to ground the answer.
- Discussions. Messages you post are public. If you do not choose a name you appear as an anonymous "guest-xxxx" label derived from a one-way hash of your network address; the address itself is not stored with the message. Please do not post personal information.
- Accounts. An email address, a password (we store only a salted, peppered hash; the password is also hashed in your browser before it is sent), the optional profile fields you fill in (display name, chess.com / lichess usernames, short bio), and usage counters for chat and cloud deep dives. Deleting your account from the profile page removes this data and unlinks your published reviews from your email. If you have an active subscription, deleting the account cancels it first. Two things are kept after deletion, and nothing else: a short marker, keyed by a one-way hash of your address, that says how many free trial reviews and chat questions were already used (so deleting and re-registering does not hand out the trial twice; it expires after 12 months), and, if you had used an invite, a marker that the invite was used (90 days). Neither holds your email, your games or your activity.
- Payments. Purchases are made through Paddle, our merchant of record, which collects and stores your payment details and handles tax and invoices; we never see your card number. We store only what is needed to give you what you bought: your plan, its renewal or end date, your credit balance, and Paddle's subscription and transaction identifiers. When you pay we attach a private account reference (a random identifier, not your email) so Paddle's confirmation reaches the right account.
- Anonymous usage counts. Unless you switch it off (Training Room, Today panel) or your browser sends Global Privacy Control or Do Not Track, Bodhi sends a few plain counters such as "a daily review happened" or "a streak day happened". They carry no account, no token, no identifier and no network address, and we add them up per day. Puzzle Rush runs are the exception: when you are signed in, your run and its answers are checked on our server so records cannot be faked, and your best scores are stored with your account.
- Waitlist. If you join a waitlist, we store your email address and the plan you were interested in.
- Technical data. To prevent abuse, our servers briefly use your IP address for rate limiting. Counters expire automatically (minutes to a day). We do not run advertising or cross-site tracking, and we do not sell data.
Reminders, friends and invites (all optional)
None of this is on unless you turn it on. Turning on reminders, or opening the Friends page while signed in, is what lets our server see when you were last active (until then, nothing about your habit leaves your device for this). You can download your own copy of everything below from Settings; in short:
- Reminders. If you tap Turn on reminders and allow notifications, we store your browser's push address, your reminder settings (types, quiet hours), your time zone offset, and when you were last active and what kind of activity it was. We send at most one notification per day, never while you are paused or inside your quiet hours, and only within 30 hours of something you did. Nothing is ever sent to bring you back after a break. The message is encrypted to your device; the push service (Google, Mozilla, Apple or Microsoft, depending on your browser) can see only that a notification was sent.
- One switch to stop everything. Stop all contact in Settings deletes every push address we hold for you and drops anything queued. Pause mode freezes your streak and silences all notifications.
- Friends. You connect with someone only by sharing a friend code or link. A friend sees your display name, your streak numbers, whether you did something today and whether you are on a break, plus your named (not anonymous) published reviews. There is no search, no public profile and no messaging. You can block and report people; a blocked person is not told. The only text you choose is a display name (letters, digits and spaces, no links).
- Cheers, Friend Streaks, challenge links. A cheer records that you cheered a review. A Friend Streak shares name and today-status with the other members. A challenge link contains one chess position and your display name and expires after 30 days; the person who solves it is never identified to you.
- Invites. If you invite a friend, we record the invite code, whether it was used, and a keyed hash (not the address itself) of the network you requested the code from, so that inviting yourself from one network earns nothing. When your invitee publishes their first review, you both get extra deep-dive reviews.
- Your copy and deletion. Settings can download everything in this section that is about you. Deleting your account removes it all.
Weekly league, events and Year in Review (all optional)
Nothing in this section is sent until you open the League, Events or Year in Review page while signed in. There is no public leaderboard, no global rank and no chat. This is what happens once you do:
- What your browser reports. When you finish a review, puzzle, drill or lesson, your browser tells our server the kind of action, a code for the item (not the game itself), the time, how many seconds you were active, and the XP it earned. The server checks it against the rules and daily limits and keeps the result. This record is what weekly XP, event quests and your yearly recap are built from. Signing out and switching accounts on a shared device clears the setting, so the next person starts with all of this off.
- League. You only take part if you tap Join. You get a generated name like "Brave Knight 42", never your real name or email, and you can ask for a new one. You are placed in a group of up to 30 players with similar activity and time zone. People in your group see your generated name, your XP for the week and your rank. If you have friends here, a friends-only board can show them the display name you chose for friends; you can switch that off on the League page. Taking a couple of weeks off moves you down one tier; it never affects your streak or progress.
- Fair play. If a week's activity looks automated, the score is flagged and hidden from the boards until a person reviews it, and an audit note is kept. This protects honest players; it is not used for anything else.
- Game of the Week. If you vote for a featured review, your vote is stored so each person counts once.
- Year in Review. For each review you publish while signed in, we keep its opening, accuracy, the biggest swing and a one-way code of the move list (not the moves themselves). The recap and its "top X%" line are made from these and from your XP record.
- How long it is kept. The XP record, weekly league rows and audit notes are deleted after 400 days. The review log and recap data are kept until you delete your account. Leaving the league removes your league rows. Deleting your account removes all of it: we delete the league and friends data first, and only remove the account once that has finished, so if something goes wrong you will be asked to try again rather than left with leftovers.
- Comparing two versions of a feature. To find out which of two versions helps people more, we count anonymous events (such as "this version was shown" or "came back the next day") with no account or identifier. These follow the same switches as the anonymous usage counts above: the Training Room switch, Global Privacy Control and Do Not Track all stop them.
Third parties
- Push services (only if you turn on reminders) deliver the encrypted notification to your browser: Google for Chrome and Android, Mozilla for Firefox, Apple for Safari, Microsoft for Edge.
- Cloudflare hosts the site and the API and stores published reviews, accounts and discussions.
- Fonts are hosted on this site, so loading a page does not contact Google Fonts or any other font service.
- Language-model and search providers receive chat questions as described above. We do not send your email address or account details to them.
- Bodhi's voice (optional). Narration for the reviews that ship with the site plays from recordings hosted here. Any other narration (a different voice, or a review you made yourself) is generated on your device by a speech model that your browser downloads once, about 90 MB, from cdn.jsdelivr.net and huggingface.co the first time you play it. The text is never sent to those hosts. If Bodhi cannot load the model he stays silent; he does not switch to your browser's built-in voice.
- chess.com and lichess receive requests when you ask us to fetch a game from them.
Your choices
- Use the app without an account; everything except cloud chat works that way.
- Keep Share anonymously ticked when you do not want names public.
- Delete your account, or remove reviews you published while signed in, at any time.
- Ask for removal of anything that identifies you, or for a copy of what we hold about you, via Contact.
Children
Chess Review is a general chess-study tool and is not directed at children under 13. Accounts should only be created by people old enough to do so in their country. We do not ask for a date of birth, so every social feature is built to be safe by default: friends, nudges, reminders and the league are off until a person turns them on; display names start as a generated "Player" name and are never taken from the name given at signup; nobody can send you free text, only fixed messages; nothing is public; and Stop all contact in Settings switches off every notification at once. If you are a parent or guardian and want something removed, use Contact below.
Changes
If this page changes in a meaningful way, the date above will change with it.
Contact
This service is operated under the trade name WhyThatMove, a sole proprietorship based in India.
Questions or removal requests: the Discuss page.
See also the Terms of Service and the Refund Policy.