Privacy Policy

Last updated: 27 September 2026

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.

1. Information we collect

Information you give us

  • Email address — collected when you create an account or sign up for updates. This is currently the only piece of personal information we ask for.
  • Account details — if you sign in using a third-party provider such as Google, we receive your name, email address and profile picture from that provider.

Information created as you learn

  • Lesson progress — which lessons you have completed, your position in a course, and your activity streak.
  • Queries you run in the Visualizer Lab. These execute entirely inside your own browser and are not transmitted to us or stored on our servers.

Information collected automatically

  • Usage analytics — pages visited, lessons started and completed, features used, approximate location (country or city level), device type, browser and referring site.
  • Error reports — when something breaks, we receive a technical report containing the error message, the page it happened on, and browser details, so we can fix it.
Before you create an account, your lesson progress is stored only in your own browser's local storage. It never leaves your device, and clearing your browser data will erase it.

2. How we use this information

  • To save your progress and show you where to resume
  • To operate, maintain and improve the platform
  • To understand which lessons work and where learners get stuck, so we can improve the content
  • To diagnose and fix bugs and technical problems
  • To send you service messages about your account, and product updates you have opted into
  • To process payments, if and when you subscribe to a paid tier

We do not sell your personal information. We do not share it with advertisers.

3. Third-party services

We rely on the following providers to run Retracer. Each processes some data on our behalf and has its own privacy policy.

ServicePurposeWhat it handles
Google AnalyticsUsage analyticsPage views, events, approximate location, device information
CloudflareWebsite hostingServer logs, IP addresses
SentryError monitoringError reports and technical browser details
SupabaseAccounts, progress and Practice recordsEmail address, lesson progress, Practice attempts and submitted exercise code
RazorpayPayment 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.

4. Where your data is stored

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.

5. Cookies and local storage

We use three kinds of browser storage:

  • Local storage — holds your lesson progress and activity streak so the site works without an account. This is essential to how the product functions.
  • Analytics cookies — set by Google Analytics to distinguish visitors and understand how the site is used.
  • Runtime caching — stores the code-execution engines described below.

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.

Browser runtime caching & storage

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.

Practice exercise records

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.

This applies to the Practice section only. Code you run in the Visualizer Lab still executes entirely inside your browser and is never sent to us, as described in section 1.

6. How long we keep 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.

7. Your rights

You may ask us to:

  • Access the personal information we hold about you
  • Correct information that is inaccurate
  • Delete your account and associated personal data
  • Export your progress data
  • Stop sending you product emails — every such email includes an unsubscribe link

Email us using the address in section 10 and we will respond within 30 days. We may ask you to verify your identity first.

8. Children

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.

9. Changes to this policy

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.

10. Contact

Questions, requests or complaints about privacy:

Email: retracersupport@gmail.com
Operated from: Mumbai, Maharashtra, India