Cookie Policy
We believe in full transparency. Here's exactly what data our website stores on your device and why.
Overview
LumenLingo uses minimal client-side storage to keep the site working smoothly. We do not use traditional tracking cookies. Instead, we rely on localStorage, sessionStorage, and a Service Worker cache — each serving a specific, documented purpose.
You can manage your preferences at any time using the Cookie Settings button in the footer, or by clearing your browser's site data.
| Storage Key | Type | Category | Purpose | Duration |
|---|---|---|---|---|
| ll_cookie_consent | localStorage | Essential | Stores your cookie consent preferences — which categories you've accepted or rejected, the consent version, and a timestamp. | 13 months |
| NEXT_LOCALE | localStorage / Cookie | Essential | Remembers your preferred display language so the site loads in the right locale on your next visit. | Persistent |
| ll_utm | sessionStorage | Analytics | Preserves UTM campaign parameters (utm_source, utm_medium, utm_campaign, utm_term, utm_content) across page navigations within a single session. This helps us understand which marketing channels bring visitors to the site. | Session |
| Sentry replay | sessionStorage | Consent required | If you consent to Session Replay, Sentry stores internal session state in sessionStorage to manage the replay recording lifecycle. | Session |
Local Storage
localStorage persists data on your device until explicitly cleared. We use the following keys:
ll_cookie_consent
- Category: Essential
- Purpose: Stores your cookie consent preferences — which categories you've accepted or rejected, the consent version, and a timestamp.
- Duration: 13 months from the date of your last consent decision, per GDPR guidance.
- Data: JSON object containing boolean flags (analytics, errorMonitoring, sessionReplay), ISO timestamp, consent version string, and expiry timestamp. No personal data.
NEXT_LOCALE
- Category: Essential
- Purpose: Remembers your preferred display language so the site loads in the right locale on your next visit.
- Duration: Persistent until cleared.
- Data: A two-letter locale code (e.g. "en", "fr", "de"). No personal data.
Session Storage
sessionStorage persists only for the current browser tab. When you close the tab, this data is automatically deleted.
ll_utm
- Category: Analytics
- Purpose: Preserves UTM campaign parameters (utm_source, utm_medium, utm_campaign, utm_term, utm_content) across page navigations within a single session. This helps us understand which marketing channels bring visitors to the site.
- Duration: Current browser session only — deleted when the tab is closed.
- Data: JSON object with up to five string fields representing campaign parameters. No personal data.
Sentry Session Replay
- Category: Session Replay (consent required)
- Purpose: If you consent to Session Replay, Sentry stores internal session state in sessionStorage to manage the replay recording lifecycle.
- Duration: Current browser session only.
- Data: Internal Sentry session identifiers and replay state. All captured interactions are anonymised — text is masked and media is blocked.
Sentry Session Replay Keys
When you consent to Session Replay, the Sentry SDK (@sentry/nextjs v10.x) stores the following keys in sessionStorage:
sentryReplaySession
- Category: Session Replay (consent required)
- Purpose: Stores the replay session identifier, segment count, start timestamp, and last-activity timestamp. Used to correlate replay segments within the same browser tab.
- Duration: Current browser session only — deleted when the tab is closed.
- Data: JSON object containing a session ID (UUID), started and last-activity ISO timestamps, and a segment counter. No personal data.
__sentry_user
- Category: Error Monitoring (consent required)
- Purpose: If error monitoring consent is active, Sentry may store an anonymous user context to correlate errors within the same session.
- Duration: Current browser session only.
- Data: Random anonymous identifier. No personal data such as name, email, or IP address is stored.
Service Worker Cache
We use a Service Worker to improve performance and enable offline access.
Cache name: lumenlingo-v1
Caching Strategies
- Static assets (JS, CSS, fonts, images) — Cache-first. Assets are served from the local cache for speed, and updated in the background when a new version is available.
- HTML pages — Network-first. The latest version is always fetched from the server. If you're offline, a previously cached version is served.
- Offline fallback — If the network is unavailable and no cached version exists, a dedicated offline page is displayed.
The Service Worker cache is entirely device-local. No cached data is sent to our servers. You can clear it at any time via your browser's DevTools (Application → Storage → Clear site data).
The cache stores no personal data — only public website assets and page content.
Third-Party Services
The following third-party services may process data from your visit. Each service's storage behaviour is governed by their own privacy policy:
Vercel Analytics
Privacy-focused web analytics. Cookie-free — no cookies or persistent identifiers are stored on your device. Vercel collects anonymous page view data aggregated at the edge. Custom track() events (e.g. button clicks, demo interactions) are only sent if you consent to the Analytics category.
Sentry
Error monitoring and session replay. Error reports are sent if you consent to Error Monitoring. Session replays are recorded only if you explicitly consent to the Session Replay category. All text is masked and all media is blocked in replays.
Vercel Speed Insights
Real-user performance monitoring that measures Core Web Vitals (LCP, FID, CLS, TTFB, INP) from actual visitor sessions. Cookie-free — no cookies or persistent identifiers are stored on your device. Speed Insights data is collected only when you consent to the Analytics category. Data is aggregated and anonymised; individual page loads cannot be traced to a specific user.
Managing Your Preferences
You can change your consent choices at any time by clicking the "Cookie Settings" button in the footer of any page. This will re-open the consent banner where you can update your preferences.
To remove all stored data, you can clear your browser's site data through your browser settings or DevTools. This will reset your consent preferences and you'll see the consent banner again on your next visit.
Your consent preferences are stored locally on your device — they are not transmitted to any server.
Managing Cookies in Your Browser
In addition to our cookie settings panel, you can manage or delete cookies directly through your browser settings. Below are links to cookie management instructions for major browsers:
- Google Chrome: Clear, enable, and manage cookies in Chrome
- Safari: Manage cookies and website data in Safari
- Firefox: Clear cookies and site data in Firefox
- Microsoft Edge: Delete cookies in Microsoft Edge
Safari users should note that Safari's Intelligent Tracking Prevention (ITP) automatically restricts the lifespan of most cookies and limits cross-site tracking. ITP may delete some cookies sooner than the durations listed in our cookie table above. This is a Safari browser feature and is not controlled by LumenLingo.
How We Demonstrate Consent (GDPR Art. 7(1))
Your consent preference is stored locally on your device in the ll_cookie_consent localStorage key. We do not transmit consent records to our servers — this is a deliberate data-minimisation choice.
We maintain accountability through technical controls: analytics data (Vercel Analytics, Vercel Speed Insights) and error monitoring data (Sentry) are only transmitted when the corresponding local consent flag is active. The presence of analytics or error-monitoring records for your session therefore constitutes evidence that consent was given. If your consent flag is not set, no non-essential data leaves your device.
This approach satisfies GDPR Article 7(1)’s requirement that the controller be able to demonstrate consent, while minimising the personal data we collect.
Global Privacy Control & Do Not Track
We honour the Global Privacy Control (GPC) browser signal as required by the California Privacy Rights Act (CPRA), Colorado Privacy Act (CPA), and Connecticut Data Privacy Act (CTDPA). When your browser sends a GPC signal, we automatically disable all non-essential tracking — including analytics and session replay — regardless of any prior cookie consent preferences.
We also honour the Do Not Track (DNT) browser signal. Although DNT is no longer maintained as a web standard by the W3C, we treat it identically to GPC as a matter of good practice.
If you disable GPC or DNT in your browser, you can update your cookie preferences using the “Cookie Settings” button in the footer of any page.
UK PECR Compliance
In addition to the UK GDPR, our use of cookies and similar storage technologies complies with the Privacy and Electronic Communications Regulations 2003 (PECR), specifically Regulation 6.
Under PECR, we are required to obtain your consent before placing non-essential cookies or accessing non-essential information on your device. This is why we show a cookie banner on your first visit.
Strictly necessary items (consent state, language preference, Service Worker cache) are exempt from the consent requirement because they are essential to providing a service you have explicitly requested.
Non-essential items (analytics, error monitoring, session replay) are only activated after you give affirmative consent. If you decline, these categories remain fully disabled.
Our consent mechanism is designed to meet ICO guidance: no pre-ticked boxes, no “cookie walls,” easy withdrawal at any time, and clear information about each category.
Policy Updates
We may update this Cookie Policy when we add new storage mechanisms or change our data practices. If we make significant changes to the categories of data we collect, we'll increment the consent version number, which will automatically prompt you to review and update your preferences.
Current consent version: 1.2
Version History
- v1.2 (27 March 2026) — Phase 3 legal fortification: added cookie consent mechanism section (rejection, withdrawal, affirmative consent), added cookie granularity controls (essential, functional, analytics), added browser storage management instructions (Chrome, Safari, Firefox, Edge), added accessibility statement, added data retention cross-reference to Privacy Policy, standardised contact emails to .
- v1.0 (24 March 2026) — Initial Cookie Policy published.
Data Retention
For full details on data retention periods, including how long personal data is retained and our deletion schedule, please refer to our Privacy Policy.
Your Right to Complain
If you believe our use of cookies or similar technologies infringes your rights, you have the right to lodge a complaint with the Information Commissioner’s Office (ICO), the UK’s independent supervisory authority for data protection.
- Website: ico.org.uk
- Helpline: 0303 123 1113
- Address: Wycliffe House, Water Lane, Wilmslow, Cheshire, SK9 5AF, United Kingdom
We would appreciate the opportunity to resolve your concern before you contact the ICO. Please email us at and we will respond within 48 hours.
Contact Us
If you have questions about this Cookie Policy or how we use data on your device:
- Email:
- Company: Lumenshore Limited (Company No. 09607326)
We typically respond within 48 hours.