Privacy Policy
Last updated: October 27, 2026
Analytics in this browser
Checking this browser’s preference…
This choice applies to this browser and stays until you change it or clear site data. It does not remove past analytics. You can also change it from “Analytics choice” at the foot of every page.
1. Overview
TrueElo ("the Service") is committed to protecting your privacy. This Privacy Policy explains how we handle information when you use our chess analysis tool at trueelo.app.
Key Point: Sign in with Lichess, Google or email to use the analyzer, reports and practice. Your saved work stays privately under your TrueElo account. Connecting Lichess adds opening data and True Score at your level; Google and email also work without that connection. You can export or delete saved work, or delete the account itself. Limited identity, allowance and spending records remain as section 3.2 explains.
2. Information Collection
2.1 Sign-In and Optional Lichess Connection
Sign-in proves a Lichess identity, a Google identity or access to an email inbox. Google requests identity and email only, without your name, photo or contacts. Email uses a sign-in link delivered through Google Firebase, not a password. We keep the provider identifier and the email needed for the chosen login. Through Lichess sign-in or connection (OAuth 2 with PKCE), TrueElo reads:
- Lichess username: Shown in the account menu
- Lichess ratings and game counts: Used to tune analysis to your level
The OAuth token is stored in your browser's local storage, not on our servers. When you ask for a Leaks report of a Lichess account, the token goes to TrueElo's servers with that request so they can fetch its games; they use it for that request alone and never store it (section 3.3). TrueElo never posts to your Lichess account, and signing out removes the token. The public statistics pages work without signing in.
2.2 What We Do Not Collect
- Lichess passwords
- Precise device location (we do not request browser location access)
- Device fingerprints
- Cross-site browsing history
What you type into the contact form is excluded from session recordings. Submitting it sends your name, email, and message to Formspree. See section 4 for details.
2.3 Payment
If you buy TrueElo Plus, checkout and Manage subscription run on Lemon Squeezy's own pages, in a new tab. Lemon Squeezy is the merchant of record: it receives your name, email address, country, and payment details, and holds them under its own privacy policy. Section 4 says what comes back to TrueElo.
3. Data Storage
TrueElo keeps reusable chess statistics and the analyzer's engine results on your device. Your own saved data, including your Leaks reports, is kept privately under your account.
3.1 Local Cache
To avoid repeating work, TrueElo caches statistics and the analyzer's engine results in your browser:
- Game statistics: Aggregate win/draw/loss data fetched directly from Lichess, kept on your device against the position it describes
- Engine evaluations: Computed and cached in your browser. Evaluations visible on screen can also appear in a session recording.
- No personal data: The statistics cache holds chess positions and aggregate results, separately from your saved account data.
- Retention: Lichess statistics expire after six months. Engine results are reused until cleared or the engine version changes.
3.2 Your Own Data
Your own data is stored privately under your account, so it is there on every device you sign in to:
- your saved opening lines
- your drill progress
- the board positions captured from your own games
- your settings
- your practice-day history
It is stored with Google Firebase under your opaque TrueElo account ID. A private binding connects each proved sign-in method to that account. A copy is cached on each device for offline use. Other players cannot read your saved account records. Visible app content may also appear in the recordings section 4 describes. We do not sell your saved work or use it to train models.
Before connecting a sign-in method, this tab can temporarily keep your Analyzer position or Drill Explore line so you return to the same board, including after an expired sign-in attempt. Signing out or deleting device data clears them.
Leaks reports sit beside it under the same account, as section 3.3 describes. Export in Settings downloads the listed export contents, and Import brings that file back. Reports, source links and retained operational records are separate; contact us for an access request covering them. You can delete saved work — from your account and from this device — with Delete everything in Settings.
Delete everything destroys your saved opening lines, the board positions captured from your own games, the reports made from reading those games, the chess accounts you have linked, drill progress, practice-day history, unfinished practice sessions, retired generated practice, settings, stored engine evaluations, the games your reports read, report progress records, practice positions not yet opened. What stays is ours rather than yours:
- which free reports you used before Leaks was rebuilt
- which one-time report rebuilds have already completed
- removal records that keep unfinished work from restoring deleted reports
- how many accounts you have ever linked as your own
- whether you have used your free report, how many reports you started today, and how much reading your reports used this month
- how many new practice positions you opened today
Keeping those is what stops one press of the button resetting that record; these bookkeeping records can include account and chess-source identifiers, timestamps and whether an allowance was used. Your billing records also stay (section 4).
“Delete my account” in Settings goes further: it removes the account itself, its sign-in, and everything Delete everything takes. Billing evidence and sign-in, allowance, source-funding and spend records stay to preserve ownership boundaries and prevent renewed free allowances. Some retain account or source identifiers; they do not restore your deleted reports or practice. Signing in again through a former sign-in method starts a new TrueElo account; nothing deleted comes back.
3.3 Leaks Reports
Your TrueElo account credential authorizes each report request. A Leaks report is read on TrueElo's servers (Google Cloud, United States). When you ask for one, the servers fetch that account's public games from Lichess or Chess.com (for a Lichess account read before, only the games played since) and read them. The Lichess games a report reads are kept under your account, without the opponents’ names, until you remove that account. Also kept: the report, the practice it supplies, and the engine’s evaluations of the positions, so the next report is faster. Chess.com games are read and dropped, never stored. When you ask for a report of a Lichess account, a connected Lichess token can go with the request, because Lichess sends games faster to a signed-in request (fastest for your own); the servers use it for that request alone and never store it.
- The report: what it found, with the few positions from your games it shows as examples
- Practice: the positions from your games the report gave you to practise, each stored as the moves that reach it with a link to its game, and your progress on them
- Position evaluations: the engine's evaluation of each position, stored against the position itself, so a later report of the same account is faster
- Lichess games: the newest games a report of a Lichess account read, yours or one you scout, up to 1,000 per account and speed, with their moves, clock times, ratings, opening and result but not the opponents' names, so a later report fetches only the games played since. Chess.com games are never kept
- A record of each time your games were read: when it ran, which account and speed, how many games it read, how it ended, and the first facts about your games it showed you while it worked
None of it holds the name of anyone the games were played against, and only the Lichess games above hold whole games. The report, practice and the record of each time your games were read are readable by your account alone; the evaluations and games are read only by TrueElo's servers, for your reports. Delete everything and Delete my account remove it with the rest of your data.
Current proof of the same mailbox or an attached login shares free-report rights, without combining saved accounts. A third-party Google address may need an inbox check before a free report. Private records preserve spent rights and bound repeat attempts, source funding and modeled computation across deletion and return. They can retain account and source identifiers, verification status and timestamps. We do not use device fingerprints or claim these checks identify one human.
4. Third-Party Services
TrueElo uses the following third-party services:
PostHog (Error Monitoring)
We use PostHog to diagnose browser errors. Reports contain error messages, code locations, severity, and a small set of diagnostic labels. With full analytics, a signed-in report carries your opaque TrueElo account ID, not your chess username or email; with visit counts only, it carries a random identifier. Error reports exclude browsing history, request details, and console contents. The Analytics in this browser control also stops error reporting. See the PostHog Privacy Policy.
Lichess (Authentication and Game Data)
Sign-in uses Lichess OAuth2, so your Lichess password never touches TrueElo — you enter it on lichess.org and we never see it. The access token Lichess gives back verifies the connection and can accompany a Lichess report request so the servers can fetch games with it; it is used and dropped, never written down on our side. Game statistics come from the Lichess Open Database and Explorer. A Leaks report fetches your own public games from Lichess on TrueElo's servers (section 3.3). See the Lichess Privacy Policy.
Chess.com (Game Data for Leaks)
When you link a Chess.com account on the Leaks page, TrueElo’s servers read that account’s games from Chess.com’s public API, unauthenticated and one request at a time; the games are analysed and dropped, never stored (section 3.3).To verify control for free-report funding, you may place a random temporary code in your public profile Location. We check that profile and its stable player ID through the documented API. Cached profiles may take more than a day to update. You can remove the code after success. This never signs you in to Chess.com, asks for its password or transfers a TrueElo account. See the Chess.com Privacy Policy.
PostHog (Analytics and Recordings)
We use PostHog to see how TrueElo is used and where it works poorly, in two tiers. Which one this browser is in is shown under Analytics in this browser at the top of this page.
Visit counts. A browser in Europe that has not allowed full analytics, and any browser that chose “Not now”, sends only anonymous visit counts: page visits and departures, loading speed, responsiveness and visual stability, with the grouped page path, the referring site's origin, campaign tags (such as UTM source, medium and campaign), the kind of device and browser, and the country PostHog derives from your IP address. To send them, the page reads basic device facts in your browser, such as screen size, language and the user-agent string. Nothing is stored on your device for them: each page load gets a new random identifier, and they are never linked to you or your account, recorded, or followed by a question. An ad's click identifier is replaced by the network's name, such as “google ads”, and search terms are not kept.
Full analytics. Outside Europe, and in Europe once you allow it, the same page visits are sent with more. PostHog stores an identifier in this browser's local storage so your visits connect, and signing in links them to your opaque TrueElo account ID, which also connects them with account diagnostics and with the events TrueElo's servers send about the Leaks reports you ask for. The ID does not contain your chess username or email. It adds product events, time on pages, campaign click identifiers and the search terms a search site puts in its referral address, and, after you interact, a recording of the screen. Like other network services, PostHog receives your IP address when your browser connects and may derive an approximate location from it. We keep public page paths to compare which pages lead to product use, but omit unrelated query strings and fragments; referring sites are recorded by origin rather than full address.
Recordings show ordinary app content, including text, boards and moves. What you type is hidden, except in chess fields such as the opening search. Credentials, authentication callback secrets, payment-entry content, and answers to our short questions are excluded. Request headers and bodies and console output are not recorded.
Which tier, and why. A browser whose time zone is in Europe, or that reports no clear time zone, is asked first with a short notice, and gets full analytics only if you press “Allow analytics”; “Not now” keeps it to visit counts and asks again after four months. Elsewhere full analytics is on unless you change it. For full analytics in Europe our legal basis is your consent; for visit counts, and for full analytics elsewhere, it is our legitimate interest in seeing how the product is used and where it fails, with the choice below to stop it.
Your choice. The choice belongs to this browser. Change it at any time with “Analytics choice” at the foot of every page or with the control at the top of this page. “Exclude this browser” stops both tiers and error reporting and removes what PostHog stored here. If you are signed in, an exclusion is also recorded on your account, so TrueElo's servers stop sending events about reports you asked for before it.
Daily totals. Once a day TrueElo also counts, from its own records of reports and practice, how many players finished a report of their own games, came back on a later day, or had practice due. These counts go to PostHog as totals for the day, with no row per player and nothing that identifies anyone.
We occasionally ask one short, optional question, such as what made you check your games today, in browsers with full analytics. If you answer, your words are kept with your analytics records and a copy is posted to our team's Slack workspace, so the person building TrueElo reads them. Deleting your account deletes them from PostHog; we delete the Slack copy, or both, on request through the contact form.
Where it is kept, and for how long. Our PostHog project is hosted in the United States. PostHog processes this data for us under its data processing agreement, which relies on the EU-US Data Privacy Framework and its UK and Swiss extensions, with standard contractual clauses as a fallback. PostHog keeps events for up to seven years and recordings for 30 days. Deleting your account deletes its PostHog person with the events, recordings, error reports and answers linked to it; visit counts carry only random identifiers and are kept for the same period. See the PostHog Privacy Policy for its data-handling practices.
PostHog (Aggregate Compute Operations)
Separate from optional product analytics, TrueElo sends aggregate computation totals and finite limit, wait, retry and recovery outcomes to PostHog. These include computation from browsers that exclude analytics, so spending controls remain visible. They contain no email, username, source or identity hash, proof code, credential or per-player identifier. Budget alerts can notify our private operations channel. Modeled computation is distinct from the cloud invoice.
Cloud Services (Google Firebase)
We use Google Firebase for your own saved data, sign-in and account access, and to run Leaks reports on Google Cloud servers (section 3.3). Chess statistics and the analyzer's engine cache stay on your device.
- Your own data: Everything section 3.2 lists, held under your opaque TrueElo account ID and readable by your account alone
- Sign-in: One endpoint verifies the chosen Lichess, Google or email proof and issues the resolved account session. Provider proof is not logged or stored by TrueElo. Private identity bindings and ownership records keep saved access consistent.
Data is encrypted in transit and at rest. See the Firebase Privacy Policy for their data practices.
Chess Statistics (Lichess)
All chess game data is sourced from the Lichess Open Database (CC0/Public Domain).
TrueElo does NOT own this data. Lichess.org owns all game data. TrueElo provides only the statistical analysis methodology.
- Game data is owned by Lichess and released under CC0
- TrueElo derives win rate statistics from this public data
- Only aggregate data is used (win/draw/loss percentages)
- No personal information is exchanged
See the Lichess Privacy Policy for their data practices.
Lemon Squeezy (Payments)
If you buy TrueElo Plus, checkout and Manage subscription run on Lemon Squeezy's own pages, in a new tab. Lemon Squeezy is the merchant of record: it receives your name, email address, country, and payment details, and holds them under its own privacy policy.
Each payment event Lemon Squeezy sends TrueElo carries the buyer's name, email address, country, and card brand and last four digits. TrueElo reads the event to update your plan and keeps only the subscription and order identifiers, its status and dates, the amounts charged or refunded, and whether it was a test. Your card number never reaches TrueElo. When you contact us about a payment, we look the purchase up on Lemon Squeezy by the email address you paid with.
Those billing records are held apart from your account content, under your opaque TrueElo account ID, as evidence of what was paid. They are kept for as long as tax and accounting rules require, and they stay when you delete your content or your account.
See the Lemon Squeezy Privacy Policy for its data practices.
Slack (Answers to Our Questions)
If you answer one of our short questions, the question, your answer, where it was asked, and a link to your analytics record are posted to a channel in our Slack workspace that the person building TrueElo reads. Nothing else about you is sent to Slack. We delete those messages with your answers on request. See the Slack Privacy Policy for their data practices.
Contact Form (Formspree)
If you use the contact form, your submission is processed by Formspree.
- Name, email address, and message content are sent to Formspree, which delivers them to us by email
- We use your message to reply to you, and keep it with our support records so a later question about the same account can be answered. You can ask us to delete it.
- What you type into the form is excluded from session recordings
- Contact form submission is voluntary; you can write to support@trueelo.app instead
See the Formspree Privacy Policy for their data practices.
5. Chess Engine Processing
The analyzer and drill grading run the chess engine in your web browser, on your device:
- Positions you open in the analyzer or play in a drill are not sent to any server for engine analysis
- Boards and recommendations displayed in the app may appear in session recordings
A Leaks report is the exception: its games are read by the engine on TrueElo's servers, and the evaluations it keeps are the ones section 3.3 lists.
6. Data Retention
- Local cache: Lichess statistics expire after six months; engine results are reused until cleared or the engine version changes.
- Your own data: Kept under your account until you delete it in Settings. This includes Leaks reports, practice and position evaluations (section 3.3).
- Games a Leaks report reads: Lichess games are kept under your account, without the opponents' names, until you remove that account or delete your data or account (section 3.3); Chess.com games are held in server memory while the report is read, then dropped
- Lichess OAuth token: Stored in your browser; removed when you sign out
- Billing records: Kept for as long as tax and accounting rules require, including after you delete your account (section 4)
- Messages you send us: Kept with our support records; deleted on request
- Analytics: PostHog keeps events for up to seven years and recordings for 30 days; deleting your account deletes those linked to it (section 4)
- Answers to our short questions: Kept with analytics records, and deleted from PostHog with your account; the copy in our Slack workspace is deleted on request through the contact form
You can delete the saved account content listed in section 3.2 with “Delete everything” in Settings, and the account itself with “Delete my account”. Deleting saved content does not delete analytics; deleting the account deletes its PostHog person with the events, recordings, error reports and answers linked to it (section 4). Clearing your browser's site data on its own only clears this device — signing in again brings your account's copy back.
7. Hosting and Server Logs
TrueElo serves a static frontend with server endpoints for authenticated account operations. When you visit the site, our hosting provider may generate standard web server logs, which could include:
- IP address
- Browser type and version
- Pages visited and timestamps
- Referring URL
These logs are controlled by the hosting infrastructure, not by TrueElo. We do not access, analyze, or process these logs. Contact the hosting provider for their data practices.
8. Data Security
What is stored, and how it is protected:
- Local cache: Chess positions, aggregate game statistics and the analyzer's engine results stay on your device
- Your own data: Held under your opaque TrueElo account ID with Google Firebase, and readable by your account alone — enforced by access rules on the database itself, not only by the app
- Diagnostics: Error reports go to PostHog as described in section 4
We use HTTPS for all connections to encrypt data in transit.
9. Your Rights and Data Portability
Your data is yours, and you can take it or remove it at any time:
- Access: View your data in the app at any time
- Export: Download everything as a single file with Export under Backup in Settings.
- Portability: Export your repertoire as standard PGN
- Delete: “Delete everything” in Settings removes it from your account and this device
- Delete your account: “Delete my account” in Settings removes the account, its sign-in, and everything “Delete everything” takes. Billing evidence and sign-in, allowance, source-funding and spend records stay to preserve ownership boundaries and prevent renewed free allowances. Some retain account or source identifiers; they do not restore your deleted reports or practice.
Whatever the law of the place you live gives you beyond that — access to, correction of, or erasure of personal data we hold, including the billing records section 4 describes where the law allows — you can ask for by writing to support@trueelo.app.
Your Lichess account itself is governed by Lichess — revoking TrueElo's access is available in your Lichess account preferences.
10. Children's Privacy
TrueElo accounts are for people aged 16 and over, and we do not knowingly keep an account or personal data for anyone younger. If we learn that we have, we delete the account and its data. The public opening statistics need no account and are open to everyone. If you believe someone under 16 holds an account, write to support@trueelo.app.
11. International Users
TrueElo uses cloud services that may store data across multiple regions globally. See the Firebase Privacy Policy, Lichess Privacy Policy, Formspree Privacy Policy, and Lemon Squeezy Privacy Policy for their international data handling practices. PostHog's transfer of analytics to the United States is described in section 4.
TrueElo is run by one person in Israel, in English, priced in US dollars, and is not directed at any particular country. We therefore take the position that the EU and UK GDPR provisions that would require us to appoint a representative there (Article 3(2) and Article 27) do not apply to it (EDPB Guidelines 3/2018, Example 10; Recital 23). Were they to apply, we consider the processing this page describes limited and low in risk, which is the exemption Article 27(2)(a) provides. Write to support@trueelo.app with any question or request. You also have the right to complain to the data protection authority where you live.
12. Changes to This Policy
We may update this Privacy Policy from time to time. Changes will be indicated by updating the "Last updated" date at the top of this page. We encourage you to review this policy periodically.
Material changes will be reflected in the date; continued use after changes constitutes acceptance.
13. Contact
TrueElo is operated by one person, who is the controller of the data this page describes. For questions about this Privacy Policy or to exercise a right under section 9, write to support@trueelo.app or use the contact form.