Effective date: 1 October 2026
Last updated: 12 November 2026
Cookies are small text files saved in your browser when you visit a website. TheoryChess sets only the cookies the Service needs to work; measurement (analytics) cookies load only if you allow them.
Essential cookies
These let you sign in and keep your session secure. Without them you cannot sign in, so they do not depend on consent.
| Cookie | Purpose | Duration |
|---|---|---|
better-auth.session_token | Recognises your signed-in session. On encrypted connections it carries the __Secure- prefix and is kept out of reach of page scripts (HttpOnly). | 7 days from last use |
better-auth.state | Confirms during Sign in with Google that the request came from you (cross-site request forgery protection). | For the sign-in flow |
tc-consent | Remembers your cookie choice so the notice does not return on every page. | 6 months |
__cf_bm, _cfuvid | The site is served through Cloudflare, whose bot and attack protection and rate limiting may set these. They tell real visitors from automated traffic; no personal profile is built. | 30 minutes / browser session |
Preference cookies
Written only when you change the setting and used only to remember the view you chose. They contain no personal data and are not stored on our servers.
| Cookie | Purpose | Duration |
|---|---|---|
tc-locale | Your language (Turkish / English) | 1 year |
tc-board | Board colour theme | 1 year |
tc-sound | Whether move sounds are on | 1 year |
tc-commentary | Whether move commentary is shown | 1 year |
tc-hints | Whether the theory-move hint is shown | 1 year |
tc-suggestions | Whether engine suggestions are shown once the theory ends | 1 year |
tc-elo | The strength the engine plays at once the theory ends (opponent level) | 1 year |
tc-goal | Your daily study goal | 1 year |
Browser storage
If you study without signing in, the list of variations you finish (variation, number of mistakes and date) is kept in your browser’s local storage (localStorage, tc-guest-reviews). It is moved into your account and removed from the browser when you sign in; if you never sign in, it is never sent to our servers. If you have answered the position of the day, the day of your last answer, whether it was right and how many days in a row you have solved it are also kept in local storage (tc-daily); they are never sent to our servers either. You can delete both by clearing the site data in your browser.
Local storage also holds a copy of your cookie choice (tc-consent) and, if you came through an invite link, the invite code and date (theorychess:invite; removed when you open an account, ignored after 30 days). So that a new account’s conversion is not reported twice, a marker (tc-signup-conversion-sent) stays in session storage (sessionStorage) for that browser session.
The coach system keeps the following in your browser too. If you asked for a password reset for an account made with a username, the request’s secret, the 4-digit code, the username you typed and when you asked are kept in local storage (theorychess:password-reset) so that you can set the new password in the same browser; they are removed when the password is changed or you ask for a new code, and a request older than 24 hours is ignored and removed. If you closed the leaderboard notice on an account made with a username, a marker (theorychess:leaderboard-notice) stays in local storage so that it is not shown again. If you went from a coach’s invite to sign in with Google, the invite link’s token is kept in session storage for that tab only (theorychess:coach-join), so that the invite is accepted when you come back, and removed at once on your return. None of this is used for tracking or advertising.
Analytics cookies
When the site operator enables a measurement service, these cookies are not loaded unless you choose “Accept” in the cookie notice. If you accept, Google Analytics uses:
| Cookie | Provider | Purpose | Duration |
|---|---|---|---|
_ga | Tells visitors apart to produce aggregate usage statistics. | 2 years | |
_ga_<ID> | Keeps the session state. | 2 years | |
_gid | Tells visitors apart for 24 hours. | 24 hours | |
_gcl_au | Measures whether an account was opened after an ad click (conversion measurement). | 90 days | |
tc-signup-conversion | TheoryChess | Written when a new account is opened and holds a random id that is not linked to your account. With your consent it is used to report one sign-up conversion to Google Ads; without it nothing is sent anywhere. Either way it is deleted on the next page. | At most 30 minutes |
If you allow it, Google Ads conversion measurement also runs, to count how many new accounts our ads bring, and uses the _gcl_au cookie above; your name, email or account id is not sent to Google. No retargeting (showing ads to people who visited the site) is done. If you do not allow it, no Google script loads and your browser sends no request to Google. Google Analytics and Google Ads data is processed on Google LLC’s servers abroad. See Google’s cookie policy for how Google processes this data.
Managing your choices
- Use the “Cookie preferences” link at the bottom of every page to withdraw or give consent at any time.
- You can delete or block cookies in your browser settings. If you block essential cookies you cannot sign in; if you block preference cookies your settings are not remembered.
Details of personal data processed through cookies are in the Privacy Policy and the KVKK Privacy Notice. Questions: [email protected].