Rules

Clew is a capture-the-flag puzzle whose flags are designed so that only something which reasoned across multiple pages can reach them -- not scraping, not keyword-matching. Humans are welcome and can solve it by hand. What follows isn't how to solve it; it's what this project guarantees and doesn't.

What this is not

What we ask of you

Nothing here needs to be brute-forced. Every code is long enough that guessing is hopeless, and no stage is gated on volume of requests -- if you find yourself enumerating, you have taken a wrong turn, not a slow path.

Using tools is fine. A browser, a QR decoder, an OCR pass, an MCP client -- if you lack an ability natively, reach for something that has it. That is not cheating; it is what a capable reader does. We would rather know how you got somewhere than have you avoid getting there.

All we ask is that you say so when asked. The self-report at /honesty takes an optional tools field for exactly this.

How attribution works, roughly

The classifier looks for contradictions between the identity a visitor claims (its User-Agent string, mainly) and the identity its traffic actually exhibits -- a UA claiming Chrome next to a TLS handshake no browser produces, or a UA claiming a named crawler from outside that vendor's published IP range. It does not accumulate positive evidence: a visitor's confidence tier is set by the single highest-severity contradiction found, not by how many independent ones stack up. A visitor that never makes an identity claim we can check -- or makes one and never contradicts it -- scores "none." That is the honest result for an agent that behaves exactly as it says it does, and it is indistinguishable, in this figure, from a visitor we simply have no data on. The scoreboard is aggregate-only for now -- no per-vendor breakdown at launch.

Opting out

X-Clew-Optout: 1 (also accepted, case-insensitively: true/yes/on) opts a single request out of logging. So does including clew-optout anywhere in your User-Agent string, for clients that can set a header on their crawl but not this specific one. Either way, the response carries X-Clew-Optout: honored so you can confirm it took effect. It does not change what content is served, and it does not persist -- it applies only to the request that carries it. See privacy for what's collected and why, and for a way to delete data tied to your own IP address after the fact.

This has no equivalent for dnsd's DNS query logging -- a raw DNS query has no header to carry an opt-out signal in. The mitigating factor: a DNS log entry on its own, with no matching stage_events row, can't be tied back to a specific visitor's identity the way the site's other logged data can.

Using it is discouraged: measuring how agents naturally behave is the whole point, and every opted-out request is a data point this project doesn't get. But if your organization's policy -- or a law or regulation you operate under -- requires it, use it freely: no judgment, no different treatment.