Retracer ("we", "us") is an online platform for learning SQL and other data technologies, operated from Mumbai, India. This policy explains what information we collect when you use Retracer, why we collect it, and what control you have over it.
We have tried to write this in plain language rather than legalese. If anything here is unclear, email us and we will explain it.
We do not sell your personal information. We do not share it with advertisers.
We rely on the following providers to run Retracer. Each processes some data on our behalf and has its own privacy policy.
| Service | Purpose | What it handles |
|---|---|---|
| Google Analytics | Usage analytics | Page views, events, approximate location, device information |
| Cloudflare | Website hosting | Server logs, IP addresses |
| Sentry | Error monitoring | Error reports and technical browser details |
| Supabase | Accounts, progress and Practice records | Email address, lesson progress, Practice attempts and submitted exercise code |
| Razorpay | Payment processing (planned) | Payment details, handled directly by Razorpay |
When we introduce paid subscriptions, card details will be handled entirely by our payment processor. We never see or store your full card number.
Some of the providers listed above store and process data on servers located outside India, including in the United States and the European Union. By using Retracer, you consent to your information being transferred to and processed in those countries, which may have different data protection laws from India.
We choose providers that offer recognised safeguards for international data transfers.
We use three kinds of browser storage:
You can block or delete cookies through your browser settings. Blocking analytics cookies will not affect your ability to use Retracer. Clearing local storage will erase locally stored progress.
Retracer uses standard web browser storage mechanisms — including the Cache Storage API, LocalStorage and IndexedDB — to locally save open-source engine components (such as Pyodide WebAssembly binaries, JavaScript runtime engines and Python libraries). This technical caching is strictly functional, designed solely to reduce network bandwidth and accelerate engine startup times on return visits. This storage contains no personally identifiable information, performs no user tracking, and can be cleared by you at any time through your browser settings.
When you run an exercise in the Practice section, we record what happened so we can tell which exercises teach well and which confuse people. Each run stores the track and exercise, whether it passed, how many of its checkpoints passed, how long the exercise was open before you ran it, which attempt number it was, and the code you submitted. For each checkpoint that did not pass, we also store which checkpoint it was and the one-line explanation shown to you.
Your code is stored so we can see why an exercise was failed rather than only that it was. Please do not paste personal or confidential information into the exercise editor — treat it as you would a public code snippet. Submissions are truncated at 4,000 characters.
If you are signed in, these records are linked to your account, and only you can read them. If you are not signed in, they are grouped under a random identifier stored in your browser, which is not linked to your name, email or any other account detail; clearing your browser storage ends that grouping permanently.
We do not use these records for advertising, do not sell them, and do not share them with third parties. Deleting your account deletes every Practice record linked to it.
Account information and progress are kept while your account is active. If you ask us to delete your account, we remove your personal information within 30 days, except where we are required to retain records for legal or accounting reasons. Analytics data is retained according to Google Analytics' standard retention period.
You may ask us to:
Email us using the address in section 10 and we will respond within 30 days. We may ask you to verify your identity first.
Retracer is intended for users aged 13 and over. We do not knowingly collect personal information from children under 13. If you believe a child under 13 has given us personal information, contact us and we will delete it.
We may update this policy as the product develops. When we make material changes we will update the date at the top of this page and, where appropriate, notify you by email.
Questions, requests or complaints about privacy:
Email: retracersupport@gmail.com
Operated from: Mumbai, Maharashtra, India