Cookie Policy
Last updated: 23 October 2026
Translations of this page are provided for convenience; if a translation differs from this English version, the English version applies.
1. What cookies are
Cookies are small text files that a website stores on your device. Some are essential for the site to function; others help us understand how the platform is used so we can improve it. This page explains which cookies Learn Romanian Hub uses and how you control them.
2. How we use cookies
We group cookies into three categories:
- Essential cookies are required to sign you in, keep your session secure, and process payments. They cannot be switched off and do not require consent.
- Analytics cookies (Google Analytics and PostHog) are only set after you opt in. We use them to understand how the app is used so we can improve our lessons — our Privacy Policy lists exactly what is sent. We do not use advertising cookies and we do not sell your data.
- Attribution cookies (
ref_codeandlrh_attr) remember, for 30 days, which member, partner or campaign link brought you, so we can credit them if you sign up. They are first-party, hold no personal data (a share code, campaign tags, the page you landed on and the site that linked to us), are read only by our own server and are never shared with advertisers. They are only set after you allow “Referral and partner links” in the cookie banner.Without these cookies, a partner or friend code can still count: if it stays in the web address until you sign up, or if you type it at sign-up or checkout. No cookie is used for that.
When you first visit, a banner lets you accept or reject analytics and referral cookies. You can change your choice at any time via the “Cookie preferences” link in the site footer.
3. Cookies we use
| Name | Provider | Category | Purpose | Retention |
|---|---|---|---|---|
| sb-<project>-auth-token | Supabase | Essential | Keeps you signed in (authentication session). | Session / refresh-token lifetime |
| __stripe_mid | Stripe | Essential | Fraud prevention during checkout. | 1 year |
| __stripe_sid | Stripe | Essential | Fraud prevention during checkout. | 30 minutes |
| ui_language | Learn Romanian Hub | Essential | Remembers the display language you chose (English, Italiano, Español, Deutsch or Українська), so the site opens in it next time. Essential, first-party; set only when you switch language or open the site in a language other than your browser’s. | 1 year |
| lrh_consent | Learn Romanian Hub | Essential | Stores your cookie choices, so our server sets the referral and partner cookies only if you allowed them. Essential, first-party. | 6 months |
| ref_code | Learn Romanian Hub | Attribution (consent) | Only with your consent: remembers the referral or partner link you opened (the member’s or partner’s code), so they can be credited if you sign up. First-party; read only by our server; never shared with advertisers. | 30 days |
| lrh_attr | Learn Romanian Hub | Attribution (consent) | Only with your consent: remembers how you first reached us: campaign tags in the link (such as utm_source), the page you landed on and the site that linked to us. Copied to your account when you sign up. First-party; read only by our server; never shared with advertisers. | 30 days |
| lrh_push_token | Learn Romanian Hub | Essential | iOS app only: remembers this device’s notification token, so signing out stops study reminders on this device. Essential, first-party; set only if you allow notifications. | 1 year |
| _ga | Google Analytics | Analytics (consent) | Distinguishes users for aggregate usage statistics. | 2 years |
| _ga_<container> | Google Analytics | Analytics (consent) | Persists GA4 session state. | 2 years |
| ph_<key>_posthog | PostHog (EU) | Analytics (consent) | First-party product analytics; linked to your account ID (a random code, not your name or email) once you sign in. | 1 year |
4. Managing your consent
You can accept or reject analytics and referral cookies in the consent banner, and re-open it any time from the “Cookie preferences” link in the footer. Essential cookies cannot be disabled, as the service would not work without them.
Withdrawing consent stops further analytics tracking. Cookies that were already set (for example _ga or ph_…) can be removed through your browser’s cookie settings. Most browsers also let you block or delete cookies entirely, though blocking essential cookies may prevent you from signing in. Turning off “Referral and partner links” deletes those cookies straight away.
5. Local and session storage
For transparency, we also use your browser’s local and session storage. These are not cookies and are not sent to our servers — they stay on your device to remember preferences and support offline use.
| Key | Store | Purpose |
|---|---|---|
| lrh-theme | localStorage | Remembers your light/dark theme preference. |
| lrh-language-suggestion-dismissed | localStorage | Remembers that you chose or closed the offer to view the site in your browser’s language, so it is not shown again. |
| lrh-cookie-consent | localStorage | Stores your cookie consent choice. |
| lrh-install-prompt | localStorage | Throttles the “Add to Home Screen” prompt. |
| srs-rating-queue | localStorage | Buffers spaced-repetition ratings while you are offline. |
| srs-rating:* | localStorage | Buffers spaced-repetition ratings while you are offline. |
| app-auth-redirect | sessionStorage | Returns you to the right page after signing in. |
| lrh-ph-person:* | sessionStorage | Only with analytics consent: remembers which learning details this tab last sent to PostHog, so unchanged details are not sent again. Cleared when the tab closes, when you sign out or when you withdraw consent. |
| lrh:practice-score:* | sessionStorage | Only with analytics consent: keeps your first-try practice score for the lesson you are doing, so a reload or a language switch doesn't count the same exercise twice. Sent to PostHog when you finish the lesson. Cleared when you finish it, when the tab closes or when you withdraw consent. |
| lrh-referral-nudge-* | localStorage | Throttles the invite-a-friend prompt so it is not repeated too often. |
| lrh-ga-internal | localStorage | Set on devices used by site administrators, so their own visits are not counted in Google Analytics or PostHog. |
| lrh-ga-signup-sent | localStorage | Only with analytics consent: records that this device has already reported a sign-up to Google Analytics, so it is not counted twice. |
| lrh-plan-refreshed | sessionStorage | Remembers, for this tab only, that a lesson was already reloaded once to pick up a plan you just bought, so it never reloads in a loop. Cleared when the tab closes. |
| lrh-*, lrh.*, lrh:*, lrh_* | localStorage, sessionStorage | Other interface settings and progress kept on this device, such as sound and haptics settings, the product tour, prompts you have closed and your place in a lesson. Never used for tracking. |
6. Changes to this policy
We may update this Cookie Policy as the platform evolves. The “last updated” date at the top reflects the most recent revision. For how we handle personal data more broadly, see our Privacy Policy.