Cookie Policy

Last updated: 12 March 2026 · Effective immediately for visitors of testml.org

This page explains, in plain language, how testml.org uses cookies and similar storage technologies when you visit the site. It is meant to be read alongside our Privacy Policy, which covers how we handle the personal data those cookies sometimes touch.

On this page
  1. What cookies actually are
  2. The four categories we use
  3. Specific cookies set on this site
  4. Third-party services and embedded content
  5. How we ask for and record your consent
  6. Managing or withdrawing consent
  7. Browser-level controls
  8. Do Not Track and Global Privacy Control
  9. Changes to this policy
  10. Contact us

1. What cookies actually are

A cookie is a small text file — usually a few hundred bytes — that a website asks your browser to store the first time you arrive. On every later request the browser quietly ships that file back, which is how a site can recognise the same visitor between page loads. Some cookies expire when you close the tab (session cookies); others sit on disk for a fixed window (persistent cookies). The mechanism is older than streaming video.

Where this policy says “cookies”, we also mean closely related browser storage: localStorage, sessionStorage, IndexedDB, and pixel tags embedded in pages or emails. The legal regimes that govern cookies in the EU, the UK and several US states treat all of these the same way, so we do too.

2. The four categories we use

We bucket every cookie on testml.org into one of four categories. The first one is non-negotiable; the other three you can switch on and off at any time.

Strictly necessary

These keep the site functional. They remember whether you have already dismissed the consent banner, balance traffic across our edge nodes, and protect form submissions from automated abuse. Disabling them is not technically possible without breaking the page you are reading.

Preferences

These remember low-stakes choices — whether you prefer the light or dark colour scheme, which language you last read in, and roughly which time zone to render dates in. They are convenient rather than essential.

Analytics

These tell us, in aggregate, which articles people read, how far they scroll, and whether the site loads quickly on the phone they happen to be using. We use the results to decide what to write next and to spot pages that have broken silently. We do not sell this data, and we do not link it to any name, email address or account.

Marketing

If we ever run a campaign on a third-party network, this is where the corresponding pixels live. At the time of writing we do not run paid acquisition, so this category is empty in practice — but we keep the toggle visible so the consent UI does not change shape if that ever shifts.

The table below lists every cookie or storage entry set directly by testml.org. Names occasionally drift when we upgrade an underlying library; if you see a cookie whose name does not appear here, please tell us so we can update the list.

4. Third-party services and embedded content

A handful of features pull content from outside testml.org. When that happens, the third party can in principle set its own cookies. We try to keep this list short, and to lazy-load embeds so nothing fires before you click.

Each third party publishes its own cookie policy. We link those documents from the consent preferences panel where they apply.

The first time you visit, a small banner appears in the lower-right corner with three options: Accept all, Reject all, and Manage preferences. Both buttons carry equal visual weight — rejecting is not buried behind extra clicks. Until you choose, only strictly necessary cookies are set.

Your decision is stored in the cc_cookie entry described in the table above, together with a short timestamp. That record is what stops the banner from reappearing on every page load. If the entry is missing, expired, or invalidated by a material change to this policy, the banner will return.

Whatever you choose at the banner only commits you for six months. After that we will ask again, because consent that was meaningful in the spring is not necessarily still meaningful in the autumn.

6. Managing or withdrawing consent

You can revisit your choices at any time without contacting us. The button below opens the same preferences panel that the banner opens, with the current state of each category pre-filled.

Open cookie preferences

If the button does nothing, JavaScript may be disabled or our consent script may have failed to load. In that case, clearing site data for testml.org in your browser settings will reset everything to the unconsented default and the banner will reappear on your next visit.

7. Browser-level controls

Every modern browser lets you inspect, block or delete cookies independently of any banner a website provides. The exact menu changes between versions, but the relevant settings live here:

Blocking strictly necessary cookies in your browser will prevent some pages from rendering correctly, including the consent banner itself.

8. Do Not Track and Global Privacy Control

Two browser signals can express a privacy preference at the network level: the older Do Not Track (DNT) header, and the newer Global Privacy Control (GPC) signal recognised under the California Privacy Rights Act and the Colorado Privacy Act.

9. Changes to this policy

If we add, remove or repurpose a cookie in a way that changes the categories above, we will update this page and bump the “Last updated” date at the top. Material changes — for example, introducing a new analytics provider — reset existing consent records, so you will see the banner again on your next visit. Smaller edits, such as fixing a typo in a description, do not trigger a fresh prompt.

10. Contact us

Questions about this Cookie Policy, requests to see what consent record we hold for your browser, or notes about a cookie that looks wrong on your end can all go to contact@testml.org. We aim to reply within five working days.