Cookies & Storage Notice
This notice describes the browser-side storage MandarinLand currently uses, why it uses it, and how to manage or delete that data on your device.
Effective date: March 30, 2026
1. Scope
MandarinLand uses cookies and similar storage technologies to support core app behavior, offline study features, and device-side caching. This notice is intended to cover cookies, localStorage, IndexedDB, service workers, and related browser cache behavior.
2. Current Storage Mechanisms We Use
- Cookie:
sidebar_state. Used to remember whether the sidebar is open or collapsed. Current max age in the codebase is 7 days. - localStorage for chat suggestions. Keys are prefixed with
chat-suggestions:and are used to keep suggested replies tied to a chat on the current device. - localStorage for Explore progress. The current code uses
ml-village-v1to store local Explore game state on the current device. - IndexedDB for offline flashcards. The current code uses an IndexedDB database named
mandarinland-flashcardsto store deck data, review queues, and offline review outbox items. - Service worker and browser caches. MandarinLand registers
/sw.jsin supported browsers and uses it to cache static assets, selected API responses, and audio files for offline or low-connectivity use. - PostHog analytics persistence. MandarinLand uses PostHog for selected product analytics events. The current setup uses PostHog browser persistence (cookies and/or local storage as managed by the SDK) and a same-origin ingest proxy path at
/ingest.
3. Why We Use These Technologies
- To remember app state and UI preferences on your device.
- To support offline study flows, cached decks, cached queues, and queued sync actions.
- To support offline or replayable audio for readers and dialogues where those features are enabled.
- To improve resilience and load performance for assets and selected same-origin content.
- To measure product usage and feature-adoption events for service improvement.
4. Non-Essential Cookies and Consent
MandarinLand currently includes product analytics telemetry through PostHog in addition to storage used for app functionality, device state, and offline features. The current client configuration disables PostHog autocapture and session replay by default.
Whether this analytics setup requires opt-in consent in your target jurisdictions is an active compliance decision point and should be reviewed against PECR/ePrivacy requirements. Where consent is legally required, analytics should be gated until consent is granted.
5. How To Manage or Delete Stored Data
- You can clear cookies and site data through your browser settings.
- You can remove localStorage and IndexedDB data through browser storage tools or by clearing site data for MandarinLand.
- You can unregister the service worker and clear caches through developer tools or browser site settings.
- Some features may stop working correctly if you remove essential storage used by the app.
6. Contact
Questions about this notice can be sent to [privacy@your-domain.com].