Privacy policy
Last updated 28 August 2026.
In short: we store your email and what you do in the trainer, because without it there is no progress to come back to. Payments go through Stripe; we never see a card number. Your results are public under a nickname we generate (never your name, never your email) on the leaderboard and on your profile page, and everyone is listed by default. No advertising trackers, nothing sold. Delete your account from Settings and it all goes with it.
1. Data controller
The controller of your personal data under the EU General Data Protection Regulation (GDPR) and the French Data Protection Act is:
ANKT SERVICES
SAS (Société par Actions Simplifiée) with a share capital of EUR 100
SIREN: 843902156 · RCS: Angers
EU VAT: FR78843902156
25 Rue Lenepveu, c/o WeForge
49100 Angers, France
President and publication director: Antoine Tamano
Email: hello@chesstactics.app
2. Data we collect
2.1 Account data
- Email address, for sign-in and service email. If you sign in with Google, we receive your email address and basic profile from Google.
- Nickname. A pseudonym we generate at signup (never your name, never your email), which you can change or reshuffle at any time in Settings. It is the name we publish. It stands next to the rest of your public profile, which any signed-in visitor can read: your avatar, the month you joined, your rating, your best rating and your rank, your XP and level, your current and longest streak, how many puzzles you have solved and attempted, how far you are through the journeys, your three sprint bests, and your achievements with their dates. Everyone is listed by default; write to us and we take you off.
- Settings and preferences: time zone, email preferences, and your avatar, generated from your account id at signup, changeable in Settings, and shown wherever your nickname is.
2.2 Training data
What you do in the trainer: which lessons, drills and tests of the path you have played, your rated puzzle and sprint attempts and their results, your rating, and the XP, level, streak and achievements derived from all of it.
2.3 The scan
If you give us a Lichess or Chess.com username, we read that account's public game history through the platform's own public API. We store the games we analyse (the moves, the game URL, the opponent's username, the date and the result, as published by the platform) and what the analysis found in them: the positions where you missed a tactic, with the move you played and the tactic, plus how you did when you replayed them. Both are kept for the lifetime of your account and deleted with it. We never touch anything private on those platforms, and the scan needs an account here: there is no anonymous scan.
2.4 Payment data
Purchases are processed by Stripe; we store your Stripe customer id and whether the purchase settled, never your card details.
2.5 Technical data
Standard server logs kept by our hosting provider (IP address, user agent, timestamps) for security and debugging. The IP address is also what the rate limiter counts on the scan, so that one visitor cannot get us blocked by the chess platforms we depend on.
2.6 Messages you send us
The name, email address and message you submit through the contact form, which reaches our inbox via Web3Forms from this website, or via Resend when you write from inside the mobile app.
3. Legal bases (GDPR)
- Contract (Art. 6(1)(b)): running your account, tracking progress, delivering what you bought, answering support.
- Legitimate interests (Art. 6(1)(f)): the leaderboard and the public profile, a pseudonymous ranking being the core of the product and the pseudonym being generated by us rather than taken from you (you can change it at any time, anyone can report or block a name, and we ban a name that deserves it); security, abuse and fraud prevention, debugging, and improving the product. You can object to the leaderboard processing at hello@chesstactics.app.
- Consent (Art. 6(1)(a)): optional email (the three onboarding notes, streak reminders and the streak-lost note, the weekly digest, achievement notices). Withdrawable at any time, in Settings.
- Legal obligation (Art. 6(1)(c)): tax and accounting records, and answering lawful requests.
4. How we use your data
- Running the product: accounts, journey progress, puzzle sessions, the rating, the scan, XP, streaks and achievements.
- The leaderboard and your profile: your nickname, your rating, your sprint scores, your XP and your rank. The nickname is a pseudonym we generate, so nothing there identifies you unless you rename yourself into something that does. Anyone can report or block a name from the board; a name that impersonates or abuses gets blanked.
- Email you asked for: the three onboarding notes, streak reminders and the streak-lost note, the weekly digest, achievement notices, a reminder if you leave a checkout unfinished and, three days later, one discount code for yourself if you still have not bought, and (once, three days after you buy) one discount offer on a sibling chess product of ours. Each is a switch in Settings and each carries an unsubscribe link. On top of that, transactional mail (receipts, account notices) that we send whether or not you opted into anything.
- Improving the trainer: which puzzles are missed most often, which lessons fail, and debugging.
- Security and compliance: rate limiting, abuse prevention, legal obligations.
We never sell your personal data and we do not share it with anyone for advertising.
5. Third-party processors
These providers process data on our behalf and on our instructions only, under data processing agreements:
- Supabase: authentication and database hosting.
- Vercel: website hosting, content delivery and server logs.
- Stripe: payment processing (PCI-DSS certified); receives your email address for the receipt.
- Resend: delivery of transactional and opted-in email, and of support messages sent from inside the mobile app.
- Web3Forms: delivery of the contact form on this website; your name, email address and message pass through it to reach our inbox.
- Google: optional sign-in with Google.
- PostHog: product analytics. Pageviews and usage events, tied to your account id AND your email address once you sign in. No advertising trackers.
- Sentry: error reports from the website, configured not to attach personally identifying request data.
- RevenueCat, and through it Apple and Google: an unlock bought in a mobile app. We store the store receipt (transaction and product id, the store, whether it was a sandbox, the amount) because it is what grants your access.
- DiceBear: the default avatars are drawn by their public service, so your browser fetches the image from them, with the seed in the address. The seed is your account id, which is already public on your profile.
- DigitalOcean: the nightly database backup is written to their object storage, and GitHub, where the job that writes it runs. A backup contains everything in section 2.
- Our sibling chess products (ChessEndings, ChessBegins, DarkSquares, ChessAtlas), run by the same company. Three days after you buy, your email address is sent to one of them so it can mint you a single-use discount code, and they may ask us whether an address of theirs already owns Pro here. Nothing else crosses, and nothing goes to anyone outside the company.
- Lichess and Chess.com: the scan reads public games for the username you give us, through their public APIs. The puzzles themselves come from the Lichess puzzle database (CC0), which is queried offline, from aggregate data that contains no personal data and never from your request.
6. International transfers
Some of these providers process data outside the European Economic Area, notably in the United States. Where they do, the transfer is covered by the EU-US Data Privacy Framework or by the European Commission's Standard Contractual Clauses. Ask at hello@chesstactics.app for the details of a specific one.
7. Data retention
- Account and training data: kept while the account exists. Deleting the account removes the profile, the attempts and sessions, the scanned games and their findings, and the achievements from the live database immediately.
- Backups: the database is dumped nightly to encrypted object storage, so that a bad migration is recoverable. A deleted account is gone from the live database at once and disappears from the backups as they roll over, within 30 days.
- Activity and email logs: 90 days. Anti-abuse counters: 24 hours.
- Reports and blocks. If you report a name we store who reported whom, the reason you picked, and the name as it read at the time, so that a rename cannot hide it; if you block someone we store that pair. Neither is readable by any player. A report is kept until it is resolved and for a year after.
- Billing records: kept for 10 years, as French accounting law requires. Purchases are never edited after the fact; a refund is recorded as a separate reversal. When an account is deleted its purchase record stays, detached from any user, as an anonymous accounting entry. An unlock bought in a mobile app is held by Apple, Google and RevenueCat on their own terms; our copy of the receipt goes when the account does.
- Support messages: kept up to 3 years after the conversation ends.
- Server logs: a short rolling window, set by our hosting provider.
8. Your rights
Under the GDPR you have the right to:
- access your data and get a copy (Art. 15)
- correct inaccurate data (Art. 16)
- have your data erased (Art. 17), account deletion is self-service, from Settings (see how to delete your account)
- restrict processing (Art. 18)
- receive your data in a portable, machine-readable format (Art. 20)
- object to processing based on legitimate interests, and to direct marketing (Art. 21)
- withdraw consent at any time, without affecting what was processed before
Write to hello@chesstactics.app or use the contact form. We answer within one month.
10. Security
Data is encrypted in transit. Authentication is handled by Supabase. Access to rows is enforced in the database by row-level security and narrowed further by column grants, so a policy that lets you edit your profile does not let you edit your billing status. Puzzle solutions are revoked at the column level rather than merely hidden by a query, and every result you submit is re-derived on the server rather than believed. No system is perfectly secure, but the product is built so that the server holds no more about you than it needs and trusts nothing the client asserts.
11. Children
chesstactics is not directed at children under thirteen (13) and we do not knowingly collect their data. Below the age of digital consent in your country, fifteen (15) in France, an account needs the consent of a parent or guardian. If you believe a child has given us personal data, write to hello@chesstactics.app and we will delete it.
12. Changes to this policy
We may update this policy as the product or the law changes. Material changes are announced by updating the date above and, if you have an account, by email or a notice in the product.
13. Contact and complaints
For any privacy question, or to exercise any of the rights above, write to hello@chesstactics.app or use the contact page.
ANKT SERVICES
SAS (Société par Actions Simplifiée) with a share capital of EUR 100
SIREN: 843902156 · RCS: Angers
EU VAT: FR78843902156
25 Rue Lenepveu, c/o WeForge
49100 Angers, France
President and publication director: Antoine Tamano
Email: hello@chesstactics.app
If our answer does not satisfy you, you can complain to the French supervisory authority, CNIL, 3 Place de Fontenoy, TSA 80715, 75334 Paris Cedex 07, France (www.cnil.fr), or to the authority where you live.