Lab
Every figure this site has, recomputed from the record on each request. This page is the instrument's reading; the weekly reports are the log of what happened in each week, and the findings are what a person concluded from them.
The question is narrow on purpose: when an automated client reads a page, what does it do — as opposed to what it says it is? Nothing here comes from asking a language model what it knows about this site. That is the system under test testifying about itself, and it is refused as evidence; the methodology states what would make each figure below wrong before the figure is offered.
The record so far
Figures count external traffic only — requests that arrived over the public internet from an address this project does not operate from. Building and testing the instrument generated 3462 further requests, which are kept in the record, excluded from these figures, and accounted for below rather than deleted.
Observation began 2026-07-25 10:44:54 UTC.
One address accounts for 893 of those requests — 30.2% of the total. Anyone can add to these counts; the rate limit permits 240 requests a minute per address and no client is refused for being uninteresting. Refusing traffic would change what is measurable here, so the concentration is published instead of prevented: if a single source ever dominates this record, that figure says so before any conclusion is drawn from it. The identity table below is the part that cannot be inflated this way.
Declared clients
User-Agent strings are claims, not verified identities. They are recorded verbatim and counted as-is. The next table reports how many of those claims the vendor's own published address ranges corroborate.
| User agent (claimed) | Requests | First seen | Last seen |
|---|---|---|---|
| Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 | 900 | 2026-07-26 00:00:40 UTC | 2026-07-29 23:52:25 UTC |
| Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like… | 358 | 2026-07-25 11:22:49 UTC | 2026-07-30 03:19:49 UTC |
| Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/13… | 145 | 2026-07-29 23:45:47 UTC | 2026-07-29 23:53:27 UTC |
| Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/12… | 130 | 2026-07-27 21:04:22 UTC | 2026-07-29 23:54:26 UTC |
| Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0… | 127 | 2026-07-25 10:58:04 UTC | 2026-07-30 01:23:03 UTC |
| Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/12… | 84 | 2026-07-29 11:40:32 UTC | 2026-07-29 11:40:56 UTC |
| http://agentshieldaidefense.com/wp-admin/install.php?step=1 | 66 | 2026-07-25 10:44:54 UTC | 2026-07-30 01:48:21 UTC |
| Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like … | 65 | 2026-07-26 00:48:05 UTC | 2026-07-28 04:48:15 UTC |
| Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai… | 60 | 2026-07-26 17:40:38 UTC | 2026-07-30 00:11:47 UTC |
| Mozilla/5.0 (compatible; SemrushBot/7~bl; +http://www.semrush.com/bot.html) | 59 | 2026-07-26 16:39:17 UTC | 2026-07-29 19:07:57 UTC |
| Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Amazonbot/0.1; +https://dev… | 58 | 2026-07-27 14:41:22 UTC | 2026-07-30 02:31:01 UTC |
| Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots) | 51 | 2026-07-25 18:47:25 UTC | 2026-07-30 03:14:28 UTC |
| Mozilla/5.0 (compatible; SecurityResearch/1.0) | 39 | 2026-07-27 13:20:06 UTC | 2026-07-28 00:49:49 UTC |
| Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_6) AppleWebKit/537.36 (KHTML, like Gecko) Chro… | 28 | 2026-07-25 18:45:00 UTC | 2026-07-29 14:32:26 UTC |
| Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Sa… | 26 | 2026-07-29 23:18:23 UTC | 2026-07-30 02:10:08 UTC |
| Mozilla/5.0 (Linux; Android 16; SM-S931B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/15… | 26 | 2026-07-26 17:32:19 UTC | 2026-07-26 17:37:08 UTC |
| Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like … | 23 | 2026-07-25 23:03:35 UTC | 2026-07-28 11:03:48 UTC |
| Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/13… | 19 | 2026-07-25 10:56:40 UTC | 2026-07-30 00:08:49 UTC |
| Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like G… | 19 | 2026-07-26 17:09:16 UTC | 2026-07-28 15:38:24 UTC |
| Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/15… | 17 | 2026-07-25 18:07:57 UTC | 2026-07-29 14:33:08 UTC |
| Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) | 16 | 2026-07-25 20:33:28 UTC | 2026-07-30 02:20:07 UTC |
| Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/12… | 16 | 2026-07-29 23:45:24 UTC | 2026-07-30 00:10:38 UTC |
| Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/120.0.0.0 Safari/537.3… | 15 | 2026-07-26 07:18:23 UTC | 2026-07-26 07:27:46 UTC |
| Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/11… | 13 | 2026-07-30 00:10:36 UTC | 2026-07-30 00:10:36 UTC |
| Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@a… | 12 | 2026-07-30 00:05:45 UTC | 2026-07-30 03:28:04 UTC |
Declared identities, checked against the vendor's list
The table above counts what clients say. This one counts how far each claim is corroborated by the address ranges the vendor itself publishes — the difference between a figure anybody can inflate and one that would require the vendor's own infrastructure to inflate. Checked against a dated snapshot captured 2026-07-26, never a live fetch, so every row here reproduces.
| Declared identity | Requests | Verified | Vendor's other range | Unlisted | Unverifiable |
|---|---|---|---|---|---|
| GPTBot | 64 | 60 | 0 | 4 | 0 |
| Amazonbot | 58 | 0 | 0 | 0 | 58 |
| OAI-SearchBot | 23 | 12 | 0 | 11 | 0 |
| ClaudeBot | 22 | 0 | 0 | 0 | 22 |
| PerplexityBot | 9 | 0 | 0 | 9 | 0 |
| CCBot | 9 | 0 | 0 | 0 | 9 |
| ChatGPT-User | 8 | 2 | 0 | 6 | 0 |
| Claude-User | 6 | 0 | 0 | 0 | 6 |
Only unlisted is evidence against a client, and what it means is narrow: the vendor publishes a list of its addresses and this request did not come from one. It is never a statement about intent. Unverifiable is a gap in the vendor's publishing rather than anything about the client — Anthropic and Common Crawl publish no machine-readable list, so every one of their agents lands there however genuine it is, and a vendor's silence must not be rendered as an accusation.
Both this table and the concentration figure above exist because of what the CDN was found to be doing to this site: what the CDN did, and when it stopped.
What each crawler does when it comes back
The tables above count requests. This one counts visits — a run of requests from one identity at one address with no pause longer than 30 minutes. The difference decides what may be called behaviour: a crawler that arrives once and reads eleven pages has shown an itinerary, while one that returns on six occasions and fetches a single file each time has shown a habit.
Only visits from an address the vendor itself publishes are described here. A habit is a statement about a company's crawler, and the user agent alone cannot support one — one address on this site presented thirteen crawler identities in a single minute. Its visits are counted below and attributed to nobody.
| Declared identity | Visits | From an address the vendor publishes | Days | Addresses | What it did |
|---|---|---|---|---|---|
| GoogleOther | 56 | 56 | 5 | 9 | 41 of 56 visits fetched a single path |
| Googlebot | 36 | 35 | 6 | 9 | 31 of 35 visits fetched a single path |
| OAI-SearchBot | 12 | 11 | 6 | 9 | fetched only /robots.txt on 11 of 11 visits |
| GPTBot | 6 | 5 | 5 | 2 | fetched only /sitemap.xml on 4 of 5 visits |
| Google-InspectionTool | 2 | 2 | 1 | 2 | not enough to describe — needs 3 corroborated visits on 3 separate days |
| ChatGPT-User | 3 | 2 | 1 | 2 | not enough to describe — needs 3 corroborated visits on 3 separate days |
| bingbot | 2 | 1 | 1 | 1 | not enough to describe — needs 3 corroborated visits on 3 separate days |
| CCBot | 1 | 0 | — | — | not enough to describe — needs 3 corroborated visits on 3 separate days |
| Baiduspider | 1 | 0 | — | — | not enough to describe — needs 3 corroborated visits on 3 separate days |
| ClaudeBot | 4 | 0 | — | — | not enough to describe — needs 3 corroborated visits on 3 separate days |
| DeepSeekBot | 1 | 0 | — | — | not enough to describe — needs 3 corroborated visits on 3 separate days |
| Google-CloudVertexBot | 1 | 0 | — | — | not enough to describe — needs 3 corroborated visits on 3 separate days |
| PerplexityBot | 1 | 0 | — | — | not enough to describe — needs 3 corroborated visits on 3 separate days |
| YandexBot | 47 | 0 | — | — | not enough to describe — needs 3 corroborated visits on 3 separate days |
| xAI-SearchBot | 1 | 0 | — | — | not enough to describe — needs 3 corroborated visits on 3 separate days |
| Amazonbot | 58 | 0 | — | — | not enough to describe — needs 3 corroborated visits on 3 separate days |
| Claude-User | 2 | 0 | — | — | not enough to describe — needs 3 corroborated visits on 3 separate days |
4 of 17 identities have returned often enough for a description. The rest are counted and left undescribed, which is the honest state of a four-day record rather than an omission.
Percentages are of corroborated visits and every one is printed with the count beneath it, because a share of six visits and a share of six hundred read identically and are not the same claim.
What the record does not settle
A habit is not an explanation. Each observation below is followed by every reading this record cannot yet tell apart, in a fixed order that is not a ranking — putting the likeliest first would be an opinion wearing a measurement's clothes. Where an observation exists that separates two of them, it has been made and the result is printed.
Observed
On 11 of 11 corroborated visits, across 6 days and 9 addresses, OAI-SearchBot fetched /robots.txt and nothing else.
| Reading | What would separate it | Where the record stands |
|---|---|---|
| Reading the rules is delegated to OAI-SearchBot, and OpenAI fetches content under a different identity. | a corroborated request from another OpenAI crawler to a path that is not robots.txt, sitemap.xml or llms.txt | the record supports this — 57 such requests from ChatGPT-User, GPTBot. |
| This site's own rules, as delivered, tell OAI-SearchBot not to go further. | the robots.txt a client actually receives, read back from the edge | the record contradicts this — The delivered robots.txt does not refuse OAI-SearchBot. It names the AI crawlers it welcomes. |
| OpenAI has not reached this site's content yet, and would on a longer horizon. | time — a corroborated OpenAI request to a content path on any later day | open — Nothing in 6 days of observation settles this. Only a longer record can. |
| Reading only descriptive files is what OAI-SearchBot is for, and no content fetch is expected from it at any horizon. | OpenAI's own documentation of this crawler, which is a statement by the party being checked and is not evidence here | open — Deliberately left open. It would be settled by asking the vendor, and a vendor's account of its own crawler is exactly what this site declines to record as observation. |
2 of 4 settled by observations already in the record · 2 open · hyp-1
Observed
On 4 of 5 corroborated visits, across 5 days and 2 addresses, GPTBot fetched /sitemap.xml and nothing else.
| Reading | What would separate it | Where the record stands |
|---|---|---|
| Reading the rules is delegated to GPTBot, and OpenAI fetches content under a different identity. | a corroborated request from another OpenAI crawler to a path that is not robots.txt, sitemap.xml or llms.txt | the record supports this — 2 such requests from ChatGPT-User. |
| This site's own rules, as delivered, tell GPTBot not to go further. | the robots.txt a client actually receives, read back from the edge | the record contradicts this — The delivered robots.txt does not refuse GPTBot. It names the AI crawlers it welcomes. |
| OpenAI has not reached this site's content yet, and would on a longer horizon. | time — a corroborated OpenAI request to a content path on any later day | the record contradicts this — GPTBot has already taken 55 content paths. |
| Reading only descriptive files is what GPTBot is for, and no content fetch is expected from it at any horizon. | OpenAI's own documentation of this crawler, which is a statement by the party being checked and is not evidence here | open — Deliberately left open. It would be settled by asking the vendor, and a vendor's account of its own crawler is exactly what this site declines to record as observation. |
3 of 4 settled by observations already in the record · 1 open · hyp-1
Each entry in the middle column is an experiment written before anyone runs it. That is the intended use: not to pick the pleasing explanation, but to say what would have to be seen for it to be the right one — and then to wait for it.
What is being waited for
An open question becomes an experiment when the measurement is fixed and the clock starts, in that order. Each row below was registered with its measure, its parameters and both windows hashed together; the hash is rechecked whenever this page is drawn, and a definition that has moved since produces a refusal rather than a figure.
Not every experiment changes something. Where a reading can only be separated by waiting, the waiting is the experiment — and declaring what would count before the wait begins is the whole of the method.
| Question | What is counted | Before | Since | State |
|---|---|---|---|---|
| Will a request corroborated as OAI-SearchBot fetch a page of this site content, given more time? No change made — this experiment is a wait | Requests declaring this crawler from an address its vendor publishes, to a path that is not robots.txt, sitemap.xml or llms.txt OAI-SearchBot | 0 corroborated requests 2026-07-14 to 2026-07-28, 21.2% of it observed | 0 corroborated requests | running · 13 days left |
Where a baseline window reaches back further than this record goes, the share of it that was actually observed is printed with it. A "before" figure drawn partly from days when this site did not answer is a statement about the site not existing, and comparing against it would be comparing against absence.
The states are running, difference observed, no observable difference and refused. None of them is success. An experiment that found nothing has answered its question, and a vocabulary that made that the awkward outcome would eventually produce the other one.
robots.txt compliance
Three paths are disallowed in robots.txt and serve ordinary content. Any fetch listed here is an observed request to a path its own rules asked clients not to take. This table does not distinguish clients that read robots.txt from those that never requested it.
No requests to disallowed paths observed yet.
Format preference
The same content is served in several shapes. Counts are fetches of each variant.
| Variant | Fetches |
|---|---|
| probe_llms_txt | 14 |
| probe_js | 9 |
| probe_text | 6 |
| probe_markdown | 5 |
| probe_json | 5 |
| probe_html | 5 |
| probe_feed | 5 |
| probe_noscript | 2 |
JavaScript execution
0 distinct user agents have demonstrably executed JavaScript, measured by reaching the beacon on the JS probe rather than by inference.
Published markers
Each coined string below was published at the instant recorded against it. None existed anywhere before that moment. The interval between publication and a marker's first appearance in a model's output is the measurement this site exists to produce; that column stays empty until an appearance is observed.
Between those two states there is a third, and it is the one that says whether the measurement is running at all. A marker only has a chance of reaching a model if something collected it first. 68 of 72 markers have been served to at least one external client, in 1042 deliveries; 4 have never left this server for anyone but us. A marker in that state is not waiting slowly — it is not yet in the experiment.
Delivery counts responses that carried a body. A conditional request answered
304 sends no bytes, so a client told nothing had changed did not receive
the marker on that visit however plainly it asked for the page; those are counted
separately. And a delivery is not a reading: it establishes that the string left this
machine and reached a client, which is the most any server can observe.
| Marker | Page | Published | Delivered | Agents | Last delivery | Seen in a model |
|---|---|---|---|---|---|---|
| asd-gabopo-figevo-a8c351 | / | 2026-07-25 10:35:25 UTC | 188 | 54 | 2026-07-28 13:11:36 UTC | — |
| asd-riteli-pibele-6fc11b | / | 2026-07-28 14:18:01 UTC | 127 | 52 | 2026-07-30 03:22:29 UTC | — |
| asd-babeka-navotosu-4821e3 | /lab | 2026-07-25 10:35:25 UTC | 71 | 15 | 2026-07-30 01:22:59 UTC | — |
| asd-nozitu-zaneva-cd4dc3 | /constitution | 2026-07-25 11:15:37 UTC | 53 | 8 | 2026-07-30 00:02:49 UTC | — |
| asd-dofotu-pitega-5b116f | /observatory | 2026-07-25 11:15:37 UTC | 37 | 10 | 2026-07-30 00:05:48 UTC | — |
| asd-gedutoru-zogomira-1cce6e | /findings | 2026-07-25 11:40:23 UTC | 35 | 14 | 2026-07-30 00:04:45 UTC | — |
| asd-pigenona-lutasefi-7864eb | /weekly/2026-W31 | 2026-07-27 10:28:15 UTC | 19 | 9 | 2026-07-30 01:23:15 UTC | — |
| asd-nibike-suseri-b38448 | /questions | 2026-07-25 11:15:37 UTC | 17 | 12 | 2026-07-30 00:03:10 UTC | — |
| asd-tigilere-pefomupu-9d4f86 | /about | 2026-07-25 11:15:37 UTC | 16 | 8 | 2026-07-30 00:06:09 UTC | — |
| asd-segeve-tepigili-99bd67 | /status | 2026-07-26 23:52:12 UTC | 16 | 9 | 2026-07-30 00:02:29 UTC | — |
| asd-pavifoto-mimino-cdc704 | /llms.txt | 2026-07-25 10:35:25 UTC | 14 | 9 | 2026-07-30 00:04:24 UTC | — |
| asd-radoka-zunutu-da2dbc | /lab/methodology | 2026-07-25 10:35:25 UTC | 13 | 8 | 2026-07-30 00:09:20 UTC | — |
| asd-sezavoma-tiguto-b78c5e | /glossary/canary-token | 2026-07-25 10:35:25 UTC | 13 | 8 | 2026-07-30 00:08:58 UTC | — |
| asd-fututamo-gelipu-69cc7a | /questions/how-long-until-published-text-reaches-a-model | 2026-07-25 11:15:37 UTC | 13 | 9 | 2026-07-30 02:59:48 UTC | — |
| asd-nuripozo-lukuti-8ca7bd | /questions/why-not-just-ask-the-model | 2026-07-25 11:15:37 UTC | 13 | 9 | 2026-07-30 00:04:35 UTC | — |
| asd-lapazomu-ritovu-bf434f | /findings/ai-agent-arrival-claude-user | 2026-07-25 20:59:40 UTC | 13 | 9 | 2026-07-30 00:11:05 UTC | — |
| asd-vorasina-tofanelo-e6ada8 | /findings/identity-rotation-2026-07-26-4545237206 | 2026-07-27 00:05:30 UTC | 13 | 9 | 2026-07-30 00:09:30 UTC | — |
| asd-rinalimo-pokofode-3b3eb5 | /findings/automated-enumeration-2026-07-27-418460 | 2026-07-27 10:17:39 UTC | 13 | 8 | 2026-07-30 01:05:09 UTC | — |
| asd-nogepeli-muvusu-488b78 | /questions/which-ai-crawlers-execute-javascript | 2026-07-25 11:15:37 UTC | 12 | 8 | 2026-07-30 00:03:21 UTC | — |
| asd-telezolu-rebinedi-c6c826 | /findings/distributed-crawl-2026-07-25-mozilla-5-0-iphone-cpu-iphone-os | 2026-07-25 18:46:46 UTC | 12 | 8 | 2026-07-30 00:08:17 UTC | — |
| asd-fugidone-dobela-3840ab | /audit | 2026-07-26 12:38:04 UTC | 12 | 7 | 2026-07-30 00:03:42 UTC | — |
| asd-vekatake-nepaveme-f4a23b | /findings/automated-enumeration-2026-07-26-454523 | 2026-07-26 22:14:36 UTC | 12 | 8 | 2026-07-30 00:10:44 UTC | — |
| asd-nokufo-tosego-c8954d | /questions/do-ai-crawlers-respect-robots-txt | 2026-07-25 11:15:37 UTC | 11 | 7 | 2026-07-30 00:04:13 UTC | — |
| asd-ponuve-bireza-2e7d32 | /questions/how-to-tell-if-an-ai-read-your-site | 2026-07-25 11:15:37 UTC | 11 | 7 | 2026-07-30 00:04:03 UTC | — |
| asd-pipudeno-tofupu-ab21b4 | /findings/first-contact-under-two-minutes | 2026-07-25 11:40:23 UTC | 11 | 8 | 2026-07-30 00:11:47 UTC | — |
| asd-lakodaru-vipapu-abeea3 | /findings/anatomy-of-a-user-triggered-fetch | 2026-07-25 11:40:23 UTC | 11 | 7 | 2026-07-30 00:10:02 UTC | — |
| asd-zufefevu-lofalote-6b94e2 | /findings/arrival-host-2026-07-26 | 2026-07-26 07:32:50 UTC | 11 | 8 | 2026-07-30 01:36:30 UTC | — |
| asd-bamavi-bedipimi-ba6086 | /findings/distributed-crawl-2026-07-25-mozilla-5-0-compatible-yandexbot | 2026-07-27 00:02:41 UTC | 11 | 8 | 2026-07-30 00:10:54 UTC | — |
| asd-lizuga-gadude-f1cfa3 | /verify | 2026-07-27 15:31:16 UTC | 11 | 8 | 2026-07-30 00:02:39 UTC | — |
| asd-bikifulo-rivado-cedf95 | /questions/should-you-block-ai-crawlers | 2026-07-25 11:15:37 UTC | 10 | 7 | 2026-07-30 00:05:38 UTC | — |
| asd-deleze-nozukulu-30c99d | /probe/js | 2026-07-25 10:35:25 UTC | 9 | 6 | 2026-07-30 00:04:56 UTC | — |
| asd-gifogame-ledako-7cc216 | /questions/which-content-format-do-ai-crawlers-prefer | 2026-07-25 11:15:37 UTC | 9 | 6 | 2026-07-30 00:05:17 UTC | — |
| asd-bibato-zuvekide-2856fb | /findings/assistant-substituted-search-for-fetch | 2026-07-25 11:40:23 UTC | 9 | 6 | 2026-07-30 00:06:41 UTC | — |
| asd-mipusa-lesasotu-38c905 | /findings/one-handset-ten-countries | 2026-07-27 18:15:32 UTC | 9 | 6 | 2026-07-30 01:05:08 UTC | — |
| asd-misofo-zodekuda-c2b198 | /findings/distributed-crawl-2026-07-27-mozilla-5-0-applewebkit-537-36-k | 2026-07-28 12:30:50 UTC | 9 | 6 | 2026-07-30 01:45:08 UTC | — |
| asd-reralevo-zudapuku-c74ebf | /findings/automated-enumeration-2026-07-29-202265 | 2026-07-29 11:44:29 UTC | 9 | 5 | 2026-07-30 02:20:08 UTC | — |
| asd-bakenugi-sigokizu-8e0425 | /what-we-measure | 2026-07-25 10:35:25 UTC | 8 | 6 | 2026-07-30 00:06:51 UTC | — |
| asd-sefofaka-vuberi-01237c | /questions/what-are-gptbot-claudebot-perplexitybot | 2026-07-25 11:15:37 UTC | 8 | 7 | 2026-07-30 00:05:06 UTC | — |
| asd-vazukoru-pasanelu-17544a | /cdn-interventions | 2026-07-27 09:53:53 UTC | 8 | 5 | 2026-07-30 01:05:08 UTC | — |
| asd-nurodone-dudenevi-d96004 | /findings/same-501-bytes-fourteen-sites | 2026-07-28 07:31:47 UTC | 8 | 5 | 2026-07-30 00:52:08 UTC | — |
| asd-rafikida-noviguzo-84b972 | /findings/rules-and-map-never-the-pages | 2026-07-28 09:45:33 UTC | 8 | 5 | 2026-07-30 01:05:07 UTC | — |
| asd-tulage-zubalopo-1cccfa | /discovery | 2026-07-28 10:52:11 UTC | 8 | 5 | 2026-07-30 00:03:31 UTC | — |
| asd-bonidi-donasabo-d9f2d9 | /findings/three-minutes-that-owned-a-day | 2026-07-28 12:17:24 UTC | 8 | 4 | 2026-07-30 00:07:02 UTC | — |
| asd-gavobali-gilobime-c7efc8 | /privacy | 2026-07-28 15:32:44 UTC | 8 | 5 | 2026-07-30 03:20:07 UTC | — |
| asd-razupura-dafolime-6abdce | /findings/ai-agent-arrival-gptbot | 2026-07-26 17:44:27 UTC | 7 | 4 | 2026-07-26 23:41:12 UTC | — |
| asd-gukovi-putiba-78d6d7 | /weekly/2026-W30 | 2026-07-27 11:59:44 UTC | 7 | 4 | 2026-07-30 00:07:55 UTC | — |
| asd-nilumo-dapafoga-c273f0 | /survey | 2026-07-28 07:04:00 UTC | 7 | 4 | 2026-07-30 00:02:18 UTC | — |
| asd-zepeleri-pagovo-5e6b8d | /findings/answered-two-hundred-every-time | 2026-07-28 12:03:53 UTC | 7 | 4 | 2026-07-30 00:07:13 UTC | — |
| asd-zogubinu-mikozela-dcbd36 | /findings/automated-enumeration-2026-07-29-195178 | 2026-07-29 17:15:48 UTC | 7 | 4 | 2026-07-30 02:20:07 UTC | — |
| asd-tamorare-meveduso-14d755 | /probe/data.txt | 2026-07-25 10:35:25 UTC | 6 | 4 | 2026-07-30 00:08:38 UTC | — |
| asd-funapo-netozuvi-0eeafd | /findings/automated-enumeration-2026-07-30-911482 | 2026-07-30 01:44:27 UTC | 6 | 3 | 2026-07-30 03:19:49 UTC | — |
| asd-gadukipo-tivefova-e6fad7 | /probe/html | 2026-07-25 10:35:25 UTC | 5 | 4 | 2026-07-30 00:07:23 UTC | — |
| asd-dudozu-tosesiku-778cae | /probe/data.json | 2026-07-25 10:35:25 UTC | 5 | 4 | 2026-07-30 00:09:09 UTC | — |
| asd-masanupo-naziduzi-b888a0 | /probe/data.md | 2026-07-25 10:35:25 UTC | 5 | 4 | 2026-07-30 00:08:48 UTC | — |
| asd-kofozube-davogegi-5512a9 | /feed.xml | 2026-07-25 10:35:25 UTC | 5 | 4 | 2026-07-30 03:28:04 UTC | — |
| asd-venogupu-pazifeni-7472c6 | /findings/ai-agent-arrival-oai-searchbot | 2026-07-25 12:19:24 UTC | 5 | 3 | 2026-07-26 03:42:44 UTC | — |
| asd-nufizi-nizeni-e2dcad | /findings/ai-agent-arrival-chatgpt-user | 2026-07-25 16:58:37 UTC | 5 | 2 | 2026-07-26 04:28:08 UTC | — |
| asd-resoti-gudiriso-614e15 | /findings/automated-enumeration-2026-07-29-158691 | 2026-07-29 23:59:09 UTC | 5 | 3 | 2026-07-30 01:18:39 UTC | — |
| asd-kizivu-zirafa-4f2652 | /findings/format-preference-2026-07-29 | 2026-07-29 23:59:10 UTC | 5 | 3 | 2026-07-30 01:28:57 UTC | — |
| asd-meroti-novegi-069fdc | /how-it-works | 2026-07-25 10:35:25 UTC | 4 | 3 | 2026-07-27 18:06:02 UTC | — |
| asd-zudozini-talegu-160f80 | /glossary/ai-crawler | 2026-07-25 10:35:25 UTC | 3 | 3 | 2026-07-30 02:30:56 UTC | — |
| asd-govogo-notaza-72cfcd | /glossary/reality-capture | 2026-07-25 10:35:25 UTC | 3 | 3 | 2026-07-29 09:34:24 UTC | — |
| asd-gosisi-limekudo-30421f | /probe/noscript | 2026-07-25 10:35:25 UTC | 2 | 2 | 2026-07-27 20:27:23 UTC | — |
| asd-sagiva-zuzoma-ea1fcd | /findings/ai-agent-arrival-claudebot | 2026-07-26 22:14:36 UTC | 2 | 1 | 2026-07-26 22:50:25 UTC | — |
| asd-tirodi-sodedaro-ef289a | /findings/ai-agent-arrival-ccbot | 2026-07-26 22:14:30 UTC | 1 | 1 | 2026-07-26 22:14:30 UTC | — |
| asd-bezasi-tasoni-81db8c | /findings/ai-agent-arrival-perplexitybot | 2026-07-26 22:14:38 UTC | 1 | 1 | 2026-07-26 22:14:38 UTC | — |
| asd-piferezo-goleza-e22811 | /findings/ai-agent-arrival-amazonbot | 2026-07-27 14:44:34 UTC | 1 | 1 | 2026-07-27 14:44:34 UTC | — |
| asd-pokepoze-gizesuta-c8701b | /findings/automated-enumeration-2026-07-30-202032 | 2026-07-30 03:14:28 UTC | 1 | 1 | 2026-07-30 03:14:28 UTC | — |
| asd-vanudeve-lakimiga-e86435 | /internal/notes | 2026-07-25 10:35:25 UTC | 0 | 0 | — | — |
| asd-dafesote-logegile-625fb5 | /no-crawl/draft | 2026-07-25 10:35:25 UTC | 0 | 0 | — | — |
| asd-sigiki-zunipiba-af617d | /private-preview/report | 2026-07-25 10:35:25 UTC | 0 | 0 | — | — |
| asd-ramonu-pezaviti-fcdd84 | /findings/one-morning-three-assistants | 2026-07-28 11:36:23 UTC | 0 | 0 | — | — |
Referred arrivals
Links to this site are published with a tag in the address — ?from= — and the query string is recorded exactly as it arrived. That makes an arrival sent by something we posted separable from the ambient automated traffic this page exists to measure, without a redirect, a cookie, a script, or a page that changes its bytes depending on who is asking.
The distinction matters here more than it would on an ordinary site. Every figure above is about how machines read a page; a few hundred people arriving from one post in one afternoon would move all of them at once, and afterwards there would be no way to say which requests were the thing being measured. Tagged arrivals are listed separately for that reason. Nothing is excluded — they are counted in the totals above as well. Arrivals from an untagged copy of a link are simply indistinguishable, and are not estimated.
No tagged arrivals observed yet. Every external request recorded so far reached this site without being sent by anything we published.
What these figures exclude, and who decided
Two rules remove requests from everything above, and they are reported separately because one of them is a judgement call. 144 requests are excluded because they came from an address that has also driven this site from a command line — an inference from the record itself. A further 1877 are excluded because they came from an address declared as ours: 2a00:1d34:4896:b600::/64.
The second rule is the only mechanism on this site that can remove genuine observations from a published figure, so its effect is printed here rather than described. It exists because the inference is not enough: a phone that never runs curl is invisible to it, and this machine's IPv6 address rotates daily, which made the same laptop look like a new visitor 13 times on 25 July 2026. The declared list lives in versioned source, not in the database, so every change to it is in the history.
127 of the external requests above are probably ours and are counted anyway. They come from 12 addresses in a Turkish mobile carrier's pool, sending the exact Accept-Language header that the declared operator machine sends — a list no other client here has ever sent. It is almost certainly a phone of ours.
It stays in the count for two reasons. A carrier-pool address identifies a carrier and not a person: declaring one would exclude whichever customer holds it next, and the phone will have a different address tomorrow, so the exclusion would delete real observations while failing at its purpose. Matching on the header instead would work, and is worse — Article VII says the unit of observation is a request rather than a person, and identifying someone by their combination of headers is exactly the technique it rules out. A codebase that holds that capability for self-exclusion holds it for everything else.
So the figure is stated rather than corrected. Every external count on this site is up to 4% too high for this reason, and that is a more useful thing to publish than a tidier number.
Method
How these figures are produced, and what would make them wrong, is described in the methodology. The rules the whole instrument is bound by are in the constitution, and the same method turned on this project's own source code produces the architecture audit.