Privacy Policy
Last updated 2026. Written to be read: if anything here is unclear, ask and we'll fix the wording.
The short version
We collect the minimum needed to save your progress: an email address, an optional display name, and what you've completed. Your code never leaves your browser. We don't sell your data, and you can export or delete everything at any time. The site is kept free by ads from Google AdSense, which uses its own cookies (see section 4).
1. What we store
| Data | Why |
|---|---|
| Display name | Optional. What we call you on screen. |
| Email address | To let you sign in and recover access. |
| Password (hashed) | To sign you in. Stored as a one-way hash: we cannot read it. |
| Google account ID and avatar | Only if you choose "Continue with Google". |
| Lessons, challenges and projects completed | To show progress, XP, streaks and achievements. |
| Last active date | To calculate your daily streak. |
2. What we don't store
We don't store the code you write. It runs in your browser through WebAssembly and is never sent to a server. Lesson notes and playground drafts live in your browser's local storage, on your device.
We don't run any analytics scripts of our own. Ads are served by Google, described below.
3. Who else sees it
Your data sits in a Postgres database hosted by Supabase, and the site is served by Vercel. Both act as processors on our behalf. If you sign in with Google, Google tells us your email, name, Google ID and avatar: nothing else, and we don't get access to your Google account.
Google AdSense shows the ads on this site. Google and its partners use cookies to serve ads based on your visits to this and other websites, and to measure them. We don't send Google your account, email or progress. You can turn off personalised ads at Google Ads Settings, and read how Google uses data at policies.google.com/technologies/partner-sites.
Your progress is private. Your XP, streak and completed lessons are visible only to you and to the site operator: there is no public profile, no leaderboard, and no way for one learner to see another's account.
4. Cookies
Our own cookie is the session that keeps you signed in. It's HttpOnly (scripts
can't read it) and SameSite=Lax (it isn't sent from other sites).
Google sets advertising cookies to serve and measure the ads described in section 3. Where the law requires it, for example in the UK and EU, you'll be asked for consent before personalised ads are shown, and you can change your choice at any time.
5. Your rights
From your profile you can, at any time and without asking us:
- Access and port: download everything we hold as a JSON file.
- Rectify: change your display name and avatar.
- Erase: delete your account and all associated progress. This is immediate and permanent; we keep no shadow copy.
If you're in the UK or EU, these are your rights under UK GDPR / GDPR. You may also complain to your data protection authority.
6. Keeping it
We keep your data for as long as your account exists. Delete the account and it goes immediately. We don't have a separate archive to restore from.
7. Children
The site is suitable for all ages, but an account requires you to be 13 or older, in line with common practice for online services. If you're younger, learn without an account: every lesson is open.
Contact
Questions about your data? Contact us at hello@learnwithpython.com.