Cookie and Storage Policy
Last updated: 16 October 2026
Draft — pending legal review. This page was written from what the app actually stores (see the inventory below), not from a template. It has not yet been reviewed by a lawyer.
This policy explains what LearnQuest stores on your device, why, and how to control it. It is part of our Privacy Policy.
1. The short version
- LearnQuest stores things on your device so that the app works: your sign-in, your progress, your settings, and lessons saved for offline use.
- Nothing optional is switched on until you say so. The only optional category is anonymous usage statistics ("analytics"), and it is off by default.
- You can change your choice at any time with Manage cookies in the footer or in Settings.
2. Cookies and similar storage
"Cookies" here also covers the browser's other storage — local storage, session storage, IndexedDB and the cache — because they raise the same questions.
Strictly necessary (always on)
These are needed to provide the service you asked for. They do not need your consent, and they are not used for tracking or advertising.
| What | Where | Why | How long |
|---|---|---|---|
| Sign-in session | Cookie set by our authentication service, only if you sign in | Keeps you signed in | Until you sign out or it expires |
Progress and learner profile (<app>_lessonmap_v2, <app>_learner_profile, <app>_daily_challenges, <app>_elective_picks, <app>_current_lesson, <app>_current_chapter, <app>_player_id, onboarding-completed) |
Local storage | Remembers where you are and what you have learned | Until you clear your browser data or delete your account |
Household profile choice (lq:active-member:…, lq:player-household) |
Local storage | Remembers which family member is using the device | As above |
Settings (<app>_config_v2, <app>_visual_preferences, <app>_target_language, <app>_script_prefs, app_locale, i18nextLng, theme, audio_volume, audio_muted) |
Local storage | Language, theme, sound and reading preferences | As above |
Local database and sync queue (<app>_db_*, <app>_progress_queue, <app>_storage_sentinel) |
Local storage and IndexedDB | Keeps your progress safe offline and syncs it when you reconnect | As above |
| Offline lessons | IndexedDB and the browser cache (service worker caches such as lesson-media-cache) |
Lets lessons, images and audio work without a connection | Until you remove them or clear your browser data |
Current battle loadout (battleLoadout) |
Session storage | Passes your selection between screens | Until you close the tab |
Install prompt and terms (pwa_install_dismissed, lq-terms-accepted, lq-terms-accepted-at) |
Local storage | Remembers that you dismissed the install prompt, or confirmed the age and terms notice (version and time) | As above |
Your cookie choice (lq_consent) |
Local storage | Remembers what you chose on this page, and when | Until you change it, or until this policy changes in a way that needs a new choice |
<app> stands for the app's short name (for example the language group).
Optional (off until you allow it)
| Category | What it does | Provider | Default |
|---|---|---|---|
| Analytics | Anonymous usage statistics: which screens are used, which lessons are started and finished. Sets Google Analytics cookies (_ga, _ga_*). |
Google (Google Analytics 4) | Off |
Analytics only exists in an app if its operator has configured it. If it is not configured, choosing "Allow analytics" does nothing. If you allow it and later withdraw consent, we stop sending data and remove the analytics cookies.
3. Requests to other companies
Even without cookies, loading a page makes your browser contact some servers. These are the ones we know of:
| Who | When | What they receive |
|---|---|---|
Google Fonts (fonts.googleapis.com, fonts.gstatic.com) |
When the app loads its typefaces | Your IP address and browser details, as for any web request |
| Stripe | Only if you start a subscription | Payment details, as described in the Privacy Policy |
4. Your choices
- Manage cookies (footer and Settings) reopens the choices at any time.
- Your browser lets you view and delete cookies and site data. Deleting strictly necessary storage will sign you out and remove progress kept only on this device.
- If your browser blocks storage entirely, the app may not work, and your cookie choice will not be remembered between visits.
5. Changes
If we add a new optional category, or change what an existing one does, we will ask you again rather than assume. Material changes are shown here with a new date.
6. Contact
Questions about this policy: privacy@blueforge.studio.
Kristian Mandrup, trading as Blueforge Studio
[c/o address — to be added], [postcode and city], Denmark