# Paper 09 progress

**Status: two sites, drafted, 6,758 words, 29 claims, all checks passing. Not
published to the live site.**

## Done

| step | outcome |
|---|---|
| log inventory | archives found on both sites; the "logs have rotated" assumption that parked this paper for a year was wrong |
| pull | 12 archives from the portfolio, 9 from the practice site, into `data/raw/`, never published |
| format check | 109,107 and 343,962 lines, 0 unparsed on either |
| anonymity | the client site is keyed on an alias from the first line of extraction; the mapping lives in `sites.local.json` and is never published |
| extraction | per site, aggregates only, in `data/sites/<alias>/` |
| identity check | 857 and 2,400 addresses against published ranges, documented hostnames and registry entries; 95.8 and 89.7 per cent of requests verified |
| tables | 9 generated tables per site in `draft/tables/` |
| draft | 12 sections, assembled by `assemble.py` with house rules enforced |
| integrity | every headline figure re-derived from the CSVs, plus a scan of every published file for an address or the protected hostname |

## The headline

| | pages taken | readers returned | ratio |
|---|---|---|---|
| portfolio, named | 2,323 | 1 | 2,323 : 1 |
| practice, anonymous | 5,700 | 9 | 633 : 1 |

Two sites sharing only a country and a decision never to block anybody, and the
answer lands within one order of magnitude. OpenAI is the only operator that sent
anybody a meaningful number of readers, nine, across two days in July 2025.

## Two defects found and recorded

- **The anonymity mask leaked.** Its first version compared the referrer host for
  equality with the site host, so a self-referral, a cPanel preview URL and a
  staging subdomain all wrote the client's real hostname into a published table.
  Found by reading the generated table, not by any check. The mask now runs where
  the host is known and `integrity.py` scans every published file for the
  protected host and its bare label.
- **DuckDuckGo was coded as an answer engine.** Its assistant refers from
  `duck.ai` and its search engine from `duckduckgo.com`; counting the second would
  have credited the answer engines with seven visits ordinary search sent.

Both are in the claim ledger as `DEFECT-CORRECTED` rather than quietly fixed.

## Open

- **Publishing.** Nothing has been uploaded. Raw logs never go up under any
  circumstances; what would go up is the paper, the code and the aggregate CSVs.
- **A clean month.** August 2026 is a live month on the portfolio, which the paper
  says. Rerunning on September 2026 costs nothing.
- **A third site.** The instrument is now multi-site and takes a hostname. Any
  further site is one command plus its owner's agreement.
