Choose what may run on this site in this browser. Change it any time from “Your Privacy Choices” at the bottom of every page.

How we checked this

The numbers on our sale pages come from tests we run ourselves. This page says what each test does, when it last ran and what it found. The dates are the dates of the runs.

Our demo site

Ember & Rye is a bakery site we built to show both problems, at demo.knowthesite.com. The bakery is invented. Its 16 tracking files are named after real tools, but each one is a one-line comment that contacts no one.

Last run: November 5, 2026, in Chromium 151.0.7922.34, in a fresh browser. 62 of 62 checks passed.

All 24 files at demo.knowthesite.com matched our own copy byte for byte when we read them on November 5, 2026.

Tracking files loaded

Tracking files loaded on the demo's home page, at demo.knowthesite.com
Page viewFiles
First version, banner up, nothing chosen16
First version, after Reject all and a reload16
Second version, banner up, nothing chosen0
Second version, after Reject all and a reload0
Second version, after Accept all16

Our own copy of the site gave the same counts.

The first version loads 16 tracking files before anyone answers the banner. On the next page after Reject all, it loads the same files again. The second version waits for Accept all: none before a choice or after Reject all, and 16 after Accept all.

The keyboard test

On the first version's booking page we pressed Tab, Tab, Tab, Shift+Tab and Escape. After every key, the focus stayed in the sign-up popup’s email box, the popup stayed open, and the Book button was out of the keyboard’s reach. On the second version, Escape closed the popup and 7 presses of Tab reached Book (run November 5, 2026).

We also ran the free axe-core checker, version 4.13.0, with its WCAG A and AA rules, on that booking page in windows 1280 px and 390 px wide. It flagged no violation, and left color contrast for a person to check. It didn’t flag the popup the keyboard gets stuck in. That’s why the guide has you press Tab yourself.

Every check in this run, by its own name (62)

Some checks are about the pictures in our ads, which are cut from the same demo.

  • Passed: demo/ has no uncommitted change
  • Passed: every demo/t/ file is a harmless one-line comment that contacts nothing
  • Passed: the demo inventory holds the pages, scripts and the 16 stand-ins
  • Passed: every file of demo.knowthesite.com is byte-identical to the repo’s demo/ (24 files and the root)
  • Passed: the 2026-11-05-brand release lists web/private/california-website-guide.html
  • Passed: the guide grouping covers the 16 stand-ins exactly once
  • Passed: CAPTURE_CSS is the 28 Oct pack’s, word for word
  • Passed: tracking (original styling): a fresh visit shows the banner’s buttons, labelled “Accept all” and “Reject all”, and nothing else
  • Passed: tracking (original styling): banner up and all 16 stand-in files loaded before any choice
  • Passed: tracking (original styling): after Reject all and a reload, the banner is gone, "no" is saved and the same 16 load again
  • Passed: tracking, second version (original styling): no stand-in file loads with the banner untouched or after Reject all (and a reload); the 16 load after Accept all
  • Passed: keyboard (original styling): axe-core 4.13.0, WCAG A/AA rules, 1280px window: no violation flagged on the stuck page (incomplete, left for a person: none)
  • Passed: keyboard (original styling): axe-core 4.13.0, WCAG A/AA rules, 390px window: no violation flagged on the stuck page (incomplete, left for a person: color-contrast)
  • Passed: keyboard (original styling): every key leaves focus in the popup email box; the popup stays; Book is out of the tab order (Tab never reaches Book)
  • Passed: tracking (capture styling): a fresh visit shows the banner’s buttons, labelled “Accept all” and “Reject all”, and nothing else
  • Passed: tracking (capture styling): banner up and all 16 stand-in files loaded before any choice
  • Passed: tracking (capture styling): after Reject all and a reload, the banner is gone, "no" is saved and the same 16 load again
  • Passed: tracking, second version (capture styling): no stand-in file loads with the banner untouched or after Reject all (and a reload); the 16 load after Accept all
  • Passed: keyboard (capture styling): axe-core 4.13.0, WCAG A/AA rules, 1280px window: no violation flagged on the stuck page (incomplete, left for a person: color-contrast)
  • Passed: keyboard (capture styling): axe-core 4.13.0, WCAG A/AA rules, 390px window: no violation flagged on the stuck page (incomplete, left for a person: color-contrast)
  • Passed: keyboard (capture styling): every key leaves focus in the popup email box; the popup stays; Book is out of the tab order (Tab never reaches Book)
  • Passed: tracking (hosted, demo.knowthesite.com): a fresh visit shows the banner’s buttons, labelled “Accept all” and “Reject all”, and nothing else
  • Passed: tracking (hosted, demo.knowthesite.com): banner up and all 16 stand-in files loaded before any choice
  • Passed: tracking (hosted, demo.knowthesite.com): after Reject all and a reload, the banner is gone, "no" is saved and the same 16 load again
  • Passed: tracking, second version (hosted, demo.knowthesite.com): no stand-in file loads with the banner untouched or after Reject all (and a reload); the 16 load after Accept all
  • Passed: keyboard (hosted, demo.knowthesite.com): every key leaves focus in the popup email box; the popup stays; Book is out of the tab order (Tab never reaches Book)
  • Passed: tracking-phone: the panel counts come from this page view (16: 7 ad and analytics, 5 visit recorders, 4 chat)
  • Passed: tracking-phone: the whole banner is on screen, the panel sits above the caption and below the page button, nothing overflows, and no visible word is cut
  • Passed: tracking-plain: 16 stand-ins loaded in this page view, nothing injected, the whole banner on screen, its two buttons labelled as BANNER_LABELS, the crop starts inside the bread picture
  • Passed: tracking-plain: clean crop, no visible word or form control crosses the crop edge
  • Passed: keyboard-tight: focus in the popup email box after Tab x3; Book in the picture and clear of the popup
  • Passed: keyboard-tight: clean crop, no visible word or form control crosses the crop edge
  • Passed: keyboard-tighter: focus in the popup email box after Tab x3; Book in the picture and clear of the popup
  • Passed: keyboard-tighter: clean crop, no visible word or form control crosses the crop edge
  • Passed: the guide web page holds the Wix picture and the Tonight box
  • Passed: guide-wix-panel: the crop is wholly inside the window
  • Passed: guide-wix-panel: clean crop, no visible word crosses the crop edge
  • Passed: guide-wix-panel: the Wix section of the guide, its first line “First, write down how it’s set now”, and its step 2 “Check that the Show banner toggle is on.”
  • Passed: guide-wix-panel: the cut row lies in the picture’s white gap under the blue panel, with no ink in the rows cut through
  • Passed: guide-wix-panel: the picture’s own alt text names the Show banner toggle, switched on
  • Passed: guide-wix-cap: the crop is wholly inside the window
  • Passed: guide-wix-cap: clean crop, no visible word crosses the crop edge
  • Passed: guide-wix-cap: the caption names step 2 and credits the picture to Wix Help Center, with its date
  • Passed: guide-tonight-step4: the crop is wholly inside the window
  • Passed: guide-tonight-step4: clean crop, no visible word crosses the crop edge
  • Passed: guide-tonight-step4: step 4 of 4 in “Tonight, on your phone”: open the home page in a private tab, write down whether a banner appears and whether it has a Reject button
  • Passed: guide-wix-panel: names no Meta or Google brand
  • Passed: guide-wix-cap: names no Meta or Google brand
  • Passed: guide-tonight-step4: names no Meta or Google brand
  • Passed: first task: the guide’s “Do this now, on your phone” box holds the three steps, word for word and in order (“Open your home page in a private tab.”, “Don’t tap the banner.”, “Write down the labels on its buttons, or “no banner on a fresh visit.””)
  • Passed: guide-phone-note-head: the crop is wholly inside the window
  • Passed: guide-phone-note-head: clean crop, no visible word or control crosses the crop edge
  • Passed: guide-phone-note: the crop is wholly inside the window
  • Passed: guide-phone-note: clean crop, no visible word or control crosses the crop edge
  • Passed: guide-phone-note: the heading is the guide’s “Do this now, on your phone”, and the note is ads.mjs NOTE word for word (“[name]” left blank)
  • Passed: guide-phone-note: names no Meta or Google brand
  • Passed: guide-ws-b-row: the crop is wholly inside the window
  • Passed: guide-ws-b-row: clean crop, no visible word crosses the crop edge, and the next cell (Privacy page) starts below it
  • Passed: guide-ws-b-row: one row of “Example: Worksheet B, filled in for our demo bakery”: bing, Microsoft ads, “Before any choice” yes, “After Reject” yes
  • Passed: guide-ws-b-row: names no Meta or Google brand
  • Passed: guide-ws-b-row: the row agrees with this run’s demo proof (bing.js among the 16 that loaded before any choice and after Reject)
  • Passed: every browser request stayed on 127.0.0.1 or the hosted demo, and was a GET

This website’s own cookie banner

We test this site the same way. A copy of it runs on our computer with made-up ad and analytics IDs. The test browser stops every request to another company and answers it itself, so no company is contacted. These are the tests, in their own words:

Latest run, and last passed in full, November 5, 2026: all 18 tests passed, in Chromium 151.0.7922.34.

Our page tests (the words, the buttons and what a phone shows first). Latest run, and last passed in full, November 5, 2026: all 37 tests passed, in Chromium 151.0.7922.34.

Corrections

Every correction to the guides is dated on the updates page. Found something wrong here? Email hello@knowthesite.com.

These tests show what our demo and this site do. They say nothing about your site. If a demand letter has arrived, stop and call a lawyer.