Up-to-date list of cookies and similar identifiers used by this site. You can change your choices at any time.
Keeps you signed in, remembers your consent choice, powers the payment flow, and records the invitation you arrived through. Cannot be switched off.
| Name | Processor | Purpose | Duration |
|---|---|---|---|
| cookieConsent | self | Remembers your cookie-consent choices. | 1 year |
| sb-*-auth-token | Supabase · Processing agreement | Keeps you signed in across page loads. | Session / refresh token lifetime |
| preferred_locale | self | Serves the site in the language you chose. | 1 year |
| ui_locale | self | Remembers which language version of the site you are reading, so lessons are never written in the language you are trying to learn. | 1 year |
| currency | self | Shows prices in the currency you selected. | 1 year |
| currency_geo | self | Remembers the currency guessed from your country, used only until you pick one yourself. | 1 year |
| tz | self | Stores your time zone so daily streaks and goals roll over at your local midnight. | 1 year |
| theme, textSize | self | Local-storage items that remember your chosen colour theme and text size. | Until cleared |
| referral_ref | self | Set only when you open an invitation link. Holds that invitation code and nothing about you, so the person who invited you can be credited if you create an account. A newer invitation link replaces it. Not needed for the site to work; set without asking, on the basis of legitimate interest. | 60 days |
| __stripe_mid, __stripe_sid | Stripe (US, SCCs) · Processing agreement | Set by Stripe Checkout/Elements to detect fraud during a payment flow. Only present on payment pages. | 1 year (mid) / 30 minutes (sid) |
Helps us understand how the site is used and detect errors via Sentry. Aggregated and never sold.
| Name | Processor | Purpose | Duration |
|---|---|---|---|
| mr_aid | Mister Education (first party) | A random identifier stored on your device so that repeat visits to our public pages count as one visitor rather than several, and so we can tell which campaign first brought you to us. Set only after you allow analytics, and deleted as soon as you withdraw that permission. | Until you clear site data or withdraw analytics consent |
| sentry-trace, baggage | Sentry (US, SCCs) · Processing agreement | Correlates frontend and backend error events for a single request. Only set after analytics consent is granted. | Session |
Some processors do not set cookies but still process limited data: Vercel Analytics collects aggregated, cookieless usage metrics and only loads after you accept the analytics category; Google is used to convert practice text into speech (text-to-speech), with personal identifiers removed before the text is sent.
We use cookies and similar technologies to keep the site working, understand how it's used, and improve it. You can accept all, reject non-essential, or customise your choices. Learn more