Skip to content
LEXUNGet your KeyRun a simulation

Cookies & local storage

Last updated: 3 September 2026 · Reviewed against the codebase on this date
Changed since 2 September 2026: the Copilot's server-signed allowance token (lexun.copilot.v1) is added and the browser day counter becomes its fallback. Changed since 13 August 2026: the storage inventory adds the paid-plan entries written by Stripe Checkout (lexun.entitlement.v1, lexun.billing.v1, lexun.upsell.v1), retires the lexun.plan flag, redefines lexun.runs as a count that limits nothing, and replaces the assistant’s lifetime counter with a daily one. The 2 September version is kept unchanged at cookies-2026-09-02, the 13 August version at cookies-2026-08-13; the 29 July version at cookies-2026-07-29.
LEXUN sets no cookies at all. Not one — not advertising, not analytics, not session. What we do use is a small amount of storage inside your own browser, because that is where your decisions live instead of on our servers. Every key is listed below, with what it holds, how long it lasts, and how to delete it.

Storing information on, or reading information from, your device is regulated in the UK by Regulation 6 of the Privacy and Electronic Communications (EC Directive) Regulations 2003 ("PECR"). Regulation 6 says we must tell you clearly what is stored and why, and get your consent — unless the storage is strictly necessary to provide a service you have explicitly asked for.

Two things follow from that, and we want to be straight about both:

  • We never ask you to consent to tracking, because there is none to consent to. No advertising identifiers, no cross-site cookies, no analytics beacons, no social widgets, no fingerprinting, no data sold or shared. A dormant third-party analytics loader used to ship with the site, disabled in code; it was deleted on 13 August 2026 rather than left in the bundle, because code that could be switched on is a weaker promise than code that is not there.
  • Nothing in the list below is written until you use the feature it belongs to. Open a page and read it, and nothing but the notice acknowledgement and the offline cache is created. Run an analysis, and the analysis is saved — on your device — because saving it is the service you asked for. That is the Regulation 6 exemption doing exactly the job it was written for.

Where a key is a convenience rather than a strict necessity, we say so in the Basis column instead of stretching the word "essential". Those keys only ever appear as a direct result of you using that feature, and you can remove all of them at any time using the button in section 5.

2. Cookies

Count: zero. No page on lexun.co.uk writes a cookie, and no third-party script runs that could write one. If you inspect document.cookie on any LEXUN page you will find it empty. Our host (Netlify) serves the site from its CDN and keeps standard server request logs, which do not involve storing anything on your device — see Privacy & your rights for what those logs contain and how long they are kept.

Paying happens on Stripe’s pages, not ours. When you choose a paid plan, the checkout and the billing portal are pages on checkout.stripe.com and billing.stripe.com, which set Stripe’s own cookies under Stripe’s cookie policy. Nothing from Stripe is loaded into a lexun.co.uk page: no Stripe script, no Stripe cookie. What comes back to this site is a signed token naming your plan, kept in local storage (section 3.3) and re-verified with Stripe on each visit.

If a signed-in account ever ships, it will need a session cookie. It does not exist today, and this page will list it before it is ever set.

3. Local storage we set

This is the complete list, taken from the source code rather than from memory. Local storage has no expiry date — the browser keeps it until it is deleted, so "how long" means what actually removes it.

3.1 The decision platform (/platform)

Written only when you use the platform. All of it stays on this device, with one stated exception: the retry record below exists precisely to send an email address you already typed into the sign-up form.
KeyWhat it holdsBasisHow long
lexunp.vault.v1The same track record as the row below, but encrypted: AES-256-GCM under a key derived from your LEXUN Key passcode by PBKDF2-HMAC-SHA256 at 600,000 iterations. The record also holds the salt, the nonce, the iteration count and the email address you signed up with, none of which are secret. Your passcode is not stored, here or anywhere — which is why nobody, including us, can decrypt this for you.Strictly necessaryUntil you erase it
lexunp.graph.v1Your decisions, frozen forecasts, reported outcomes and the audit trail linking them. This is your track record. Written in the clear only while you have no LEXUN Key; when you create one, this content moves into the encrypted record above and this key is removed.Strictly necessaryUntil you erase it, or until you create a LEXUN Key
lexunp.signup.pending.v1The email address and marketing choice from a sign-up whose network request failed, so it can be sent once on your next visit. Deleted the moment that retry is attempted, whether or not it succeeds. Never contains your passcode.Strictly necessaryUntil the single retry, or until you erase it
lexunp.profile.v1The local profile you fill in (display name, focus area) for your dashboard.Strictly necessaryUntil you erase it
lexunp.events.v1A local-only activity log ("simulation run", "challenge opened") that drives the in-app improvement suggestions. Never transmitted anywhere.FunctionalUntil you erase it
lexunp.tasks.v1Improvement tasks the app generated from your own usage.FunctionalUntil you erase it
lexunp.acceptance.v1Whether you said you would act on a recommendation, so your calibration record can tell decisions from outcomes.FunctionalUntil you erase it
lexunp.reminders.v1The review dates you set on a decision, so the app can prompt you to record what actually happened.FunctionalDeleted per decision once its outcome is recorded; otherwise until you erase it
lexunp.weekly.v1The date you last ran the weekly review of your own record, so the app can nudge you when a week has passed. A single timestamp; never transmitted anywhere.FunctionalUntil you erase it
lexun.copilot.v1The Copilot's allowance: a token signed by our server holding today's date, how many Copilot messages have been used today and your plan tier, plus a copy of those three values so the page can show what is left. It is presented to our server with each Copilot request, contains no message text and identifies nothing about you; the count inside it resets each day. Since 3 September 2026 the count is kept by the server in this token rather than by the browser alone.FunctionalUntil you erase it; the count resets daily
lexunp.ask.day.v1A fallback copy of today's date and message count, used only if the Copilot script failed to load. Never transmitted; identifies nothing. (Before 2 September 2026 this was lexunp.ask.count.v1, a lifetime count; any old value is simply ignored.)FunctionalUntil you erase it
lexunp.swept.retired.v1A marker that data left behind by a tool LEXUN no longer ships has been deleted from this device, so the clean-up runs once and never again.FunctionalUntil you erase it
lexunp.themeYour light/dark display choice.PreferenceUntil you erase it
lexunp.guidance.v1Whether the explanation under each question on the decision screen is shown or folded away.PreferenceUntil you erase it

3.2 Site-wide

KeyWhat it holdsBasisHow long
lexun.storageAckAn ISO timestamp recording that you acknowledged the storage notice, so it is not shown to you on every page. Contains no identifier.Strictly necessaryUntil you erase it
lexun.cookieConsentThe earlier name for the same acknowledgement. Still read so that people who dismissed the notice before this release are not asked again; no longer written.Strictly necessaryUntil you erase it

3.3 The single-purpose tools

Each one appears only if you use that particular tool.
KeyWhat it holdsBasisHow long
lexun.jobsafe.lastThe result band and timestamp of your most recent "is my job safe" check, so returning to the page shows where you left off.FunctionalUntil you erase it
lexun.so.mineSecond-opinion forecasts you have made on other people's questions, so you can see how your own calls score.FunctionalUntil you erase it
lexun.entitlement.v1If you hold a paid plan: the plan Stripe last confirmed for you (tier, status, seat count, trial or renewal date), the Stripe customer reference, and a signed token that lets the workspace ask Stripe again. Written only after a checkout completes or a sign-in link is opened; re-verified with Stripe on each visit and replaced by Stripe’s answer; removed when Stripe says the plan has ended or when you sign this device out in Settings. It never contains card details — LEXUN never has those. Nothing in it is trusted as proof of payment on its own.Strictly necessary (to deliver a plan you bought)Until the plan ends, you sign out, or you erase it
lexun.billing.v1The site’s answer to “is checkout switched on here?” and the trial length, fetched from LEXUN’s own server and cached for six hours so the plans page paints correctly on first load. Contains nothing about you.FunctionalUntil you erase it (refreshed every six hours)
lexun.runsA count of how many full decision runs have been produced in this browser. It is a number and nothing else — no decision content, no inputs, no results — and it limits nothing: runs are unlimited on every plan. It exists so the workspace can mention Pro once, after your third decision, and never again.FunctionalUntil you erase it
lexun.upsell.v1Which one-time upgrade mentions (third decision, first resolved outcome, and so on) have already been shown in this browser, so none is shown twice. Timestamps only.FunctionalUntil you erase it
lexun.planRetired on 2 September 2026: the earlier local flag written by the payment confirmation page. No longer written or read; an old value does nothing, and you can erase it.Until you erase it

3.4 Session storage — cleared when you close the tab

KeyWhat it holdsBasisHow long
lexun.pendingQThe question you typed on the home page, carried across to the platform so you do not have to type it twice.Strictly necessaryDeleted the moment the platform reads it
lexun.pendingRunA forecast you ran on the home page and then asked to freeze — the numbers you entered, which of them were facts and which were assumptions, and the model that ran. It is written only when you click “Freeze this forecast”, and it never leaves your browser.Strictly necessaryDeleted the moment the platform reads it
lexun.pendingReceiptThe inputs from a shared result you asked to re-run, carried from the reproduce page to the platform.Strictly necessaryDeleted the moment the platform reads it

3.5 Offline cache

StoreWhat it holdsBasisHow long
Cache Storage: lexun-v39Copies of pages, stylesheets, fonts and scripts so the site loads fast and still works without a connection. Contains published site files only — none of your data.Strictly necessaryReplaced on each release; the previous cache is deleted automatically

4. What we do not store

  • No cookies of any kind, first-party or third-party.
  • No advertising or marketing identifiers, and no membership of any ad network.
  • No cross-site tracking, browser fingerprinting or device IDs.
  • No IndexedDB databases.
  • No third-party scripts, embeds, fonts or pixels. Typefaces are served from our own domain precisely so that loading a page tells nobody else you were here.
  • Nothing you type into an analysis is transmitted to us. It is computed in your browser and stored in your browser.

5. Erasing everything

You have three routes, and none of them requires asking us:

  1. The button below removes every key listed on this page, plus the offline cache, from this browser.
  2. In the app: Platform → Settings → delete all data.
  3. In your browser: clear site data for lexun.co.uk. This achieves the same thing by a different route.

Erasing is irreversible and there is no server copy to restore from. That is the trade the local-first design makes: nobody can read your record, and nobody can recover it for you either. Export from the platform first if you want to keep it.

Erase all LEXUN storage on this device. This removes every key listed above and the offline cache. It cannot be undone.

6. Changes and complaints

If we ever add storage, this page changes before the storage ships, and the "last updated" date at the top moves. If you think our use of storage on your device breaks PECR or UK GDPR, tell us at hello@lexun.co.uk and you may also complain directly to the UK regulator:

Information Commissioner's Office
Wycliffe House, Water Lane, Wilmslow, Cheshire SK9 5AF
Helpline 0303 123 1113 · ico.org.uk

Related: Privacy & your rights · Terms · Security