Cookies & Local Storage

Effective: 14 May 2026

We don't use tracking cookies, advertising cookies, or analytics. The browser-side storage we do use is strictly necessary for the service to work, and is listed transparently below.

1. What we store in your browser

ItemTypePurposeLifetime
letesh_sessionHTTP cookie
(HttpOnly + Secure + SameSite=Strict)
Keeps you signed in to the apps (Letesh and Leteno share one account).30 days from last login
letesh.* and leteno.* keys
(e.g. letesh.decks, letesh.cards, letesh.stats, letesh.settings; leteno.* equivalents)
localStorageYour study data — decks, cards, progress, app settings. Each app stores its data under its own prefix (letesh.* for English, leteno.* for Norwegian). Stays on this device unless you sign in.Until you clear browser data or click "Reset" in Settings
langlocalStorageRemembers your preferred language (EN/CS/NO).Until you clear browser data
letesh.guestsessionStorageSkips the welcome screen for the rest of the tab session.Until you close the tab
Cloudflare Turnstile cookies (cf_chl_*)HTTP cookie
(set by challenges.cloudflare.com)
Anti-bot challenge state during sign-up.~30 minutes, set only when the registration form is displayed

2. What we do NOT use

  • No Google Analytics, Plausible, Matomo, or any analytics product.
  • No advertising cookies. No retargeting pixels.
  • No social-media share buttons that beacon back to Facebook/X/etc.
  • No fingerprinting beyond what Cloudflare Turnstile does for bot detection (one-time, during registration).

3. Third-party requests your browser makes

Third-party requests your browser may make on this site:

  • Cloudflare Turnstile (challenges.cloudflare.com) — only when the registration form is loaded, for CAPTCHA verification.
  • Optional AI writing mentor — if (and only if) you enable it in a learning app, your browser downloads an AI model from third-party CDNs (jsDelivr, HuggingFace) so the mentor can run locally on your device. This feature is optional and off by default.

Fonts (Inter, JetBrains Mono) are self-hosted on our server at /fonts/ — no requests go to Google or any other CDN for typography.

4. Cookie banner — why we don't have one

EU/Czech ePrivacy rules require consent for non-essential cookies. The items above are either:

  • Strictly necessary for the service to function (session cookie, study-data storage, language preference), and so are exempt from consent under ePrivacy Art. 5(3); or
  • Set only when needed for security (Cloudflare Turnstile during sign-up).

We have therefore opted to provide this transparent notice instead of an opt-in banner.

5. How to clear what we store

  • Cookies: use your browser's "Clear site data" feature (Chrome: F12 → Application → Storage → Clear).
  • localStorage: in either app (Letesh or Leteno), go to Settings → Reset all progress; or use the browser's Clear site data.
  • This will also sign you out on this device.

6. Contact

Jiří Suder · jiri.suder.92@gmail.com