Cookie Policy
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.
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.
3. Specific cookies set on this site
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.
- YouTube (privacy-enhanced mode). Video embeds use
youtube-nocookie.com, which postpones cookie writes until you press play. If you never start the player, no YouTube cookies are set. - Font and asset CDNs. Static assets are served through a content-delivery network. The CDN sees your IP address as part of normal HTTP traffic but does not set tracking cookies on our domain.
- Email links. Outbound links to contact@testml.org open in your own mail client and do not set cookies on testml.org.
Each third party publishes its own cookie policy. We link those documents from the consent preferences panel where they apply.
5. How we ask for and record your consent
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.
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.
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:
- Chrome: Settings → Privacy and security → Third-party cookies.
- Firefox: Settings → Privacy & Security → Cookies and Site Data.
- Safari: Settings → Privacy. Safari blocks most cross-site tracking by default.
- Edge: Settings → Cookies and site permissions → Manage and delete cookies.
- Mobile browsers: the same options live under Settings → Privacy on iOS and Android.
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.
- If your browser sends a GPC signal, we treat it as an opt-out of analytics and marketing categories without prompting you to confirm.
- The DNT header is no longer maintained by the W3C and most browsers have stopped sending it; we therefore do not act on DNT alone, but we honour an explicit choice you make in our banner regardless of any DNT setting.
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.