Cookies and Similar Technologies Policy
Last updated: April 6, 2026This page explains how MooLang uses cookies and similar technologies (such as local storage) for sign-in, security, core product behavior, and optional analytics telemetry (including Vercel Analytics and client-side Sentry telemetry).
How consent works
Strictly necessary cookies and similar storage are always active because they are required for sign-in, security, and core functionality.Optional analytics telemetry is off by default and only starts after you explicitly accept it.We do not treat scrolling or continued browsing as consent.You can reject analytics at first view and change your analytics choice at any time using Cookie settings in the site footer.If you withdraw analytics consent, optional client-side telemetry (including Sentry browser telemetry and replay) is disabled immediately.What happens if you say no
If your browser blocks strictly necessary cookies/storage, sign-in and protected account routes may not function.If you reject optional analytics, core product features remain available and only analytics measurement is disabled.Inventory of cookies and similar technologies
Technical names/patterns are listed so you can identify them in your browser settings or developer tools. Some names may vary because they are generated by our authentication system.Sign-in session
Name/pattern: Sign-in session cookie (name may vary).Provider: MooLang.Purpose: Keeps you signed in and helps protect your account session.Category: Strictly necessary.Storage location: Cookie.Expiry: Ends when you sign out or after a limited time set by our security configuration.Data shared or recipient: First-party only.How to withdraw or clear: Sign out, clear browser cookies, or disable cookies in browser settings (may break sign-in).Anonymous profile identifier
Name/pattern: ml_anon_profile.Provider: MooLang.Purpose: Stores a random identifier used for service reliability and abuse prevention when you are not signed in.Category: Strictly necessary.Storage location: Cookie.Expiry: 1 year.Data shared or recipient: First-party only.How to withdraw or clear: Clear cookies in browser settings.Extension auth token
Name/pattern: ml_browser_bearer_tokens_v1.Provider: MooLang.Purpose: Stores sign-in tokens on this device for the MooLang browser extension (only if you use the extension).Category: Strictly necessary.Storage location: Local storage.Expiry: Until token expiry, sign-out, or manual clear.Data shared or recipient: Sent to MooLang API endpoints to authenticate extension requests (first-party).How to withdraw or clear: Sign out, disconnect the extension, or clear site data/local storage.Quiz progress
Name/pattern: moolang.quizAttempt.<contentId>.Provider: MooLang.Purpose: Stores in-progress quiz answers and navigation state on this device so you can continue where you left off.Category: Strictly necessary.Storage location: Local storage.Expiry: Until overwritten or manually cleared.Data shared or recipient: First-party only.How to withdraw or clear: Clear site data/local storage.Onboarding progress
Name/pattern: onboarding:v1:* (per-account key).Provider: MooLang.Purpose: Remembers which onboarding steps you have completed on this device.Category: Strictly necessary.Storage location: Local storage.Expiry: Until overwritten or manually cleared.Data shared or recipient: First-party only.How to withdraw or clear: Clear site data/local storage.Learner settings
Name/pattern: ml_learner_settings_v1.Provider: MooLang.Purpose: Remembers learner settings you choose (language and level) on this device.Category: Strictly necessary.Storage location: Local storage.Expiry: Until overwritten or manually cleared.Data shared or recipient: First-party only.How to withdraw or clear: Clear site data/local storage.Saved RSS feeds cache
Name/pattern: ml_saved_feeds_v1.Provider: MooLang.Purpose: Caches your saved RSS/Atom feed list on this device for faster load times.Category: Strictly necessary.Storage location: Local storage.Expiry: Until overwritten or manually cleared.Data shared or recipient: First-party only on device; feed metadata is also synced to your account in MooLang backend storage.How to withdraw or clear: Clear site data/local storage.Saved RSS feeds account sync
Name/pattern: Saved feed metadata sync requests (/api/feeds/saved).Provider: MooLang.Purpose: Persists your saved RSS/Atom feed metadata to your signed-in account so feeds are available across devices.Category: Strictly necessary.Storage location: Network request.Expiry: Stored in your account until you remove feeds or delete your account data.Data shared or recipient: First-party only.How to withdraw or clear: Remove saved feeds in the app or request account/data deletion via support.Analytics events
Name/pattern: Vercel Web Analytics (events).Provider: Vercel.Purpose: Sends analytics events to help us understand aggregate usage and performance trends.Category: Optional analytics.Storage location: Network request.Expiry: Only sent after opt-in; if you reject analytics, no analytics events are sent.Data shared or recipient: Vercel (analytics service provider).How to withdraw or clear: Use Cookie settings to reject analytics; future analytics events stop immediately.Error and session telemetry
Name/pattern: Sentry browser telemetry and session replay.Provider: Sentry.Purpose: Captures client-side errors, performance traces, and sampled session replay data to diagnose reliability issues.Category: Optional analytics.Storage location: Network request.Expiry: Only sent after opt-in; if you reject analytics, client-side Sentry telemetry stops for this browser session and remains off on future loads.Data shared or recipient: Sentry (error monitoring service provider).How to withdraw or clear: Use Cookie settings to reject analytics; client-side Sentry telemetry and replay stop immediately.Updates
We may update this policy as our product evolves. Material changes will be reflected by an updated date on this page.Contact
For cookie, consent, or tracking questions, contact us at privacy@moolang.app.