Layer 6 / passive census
The census
Everything below is derived from this site's own request log. Nothing is modelled, sampled or estimated. Method is at /methodology.
Discovery: which conventions agents actually use
Every well-known path is served here. Which ones a client reaches for — and which it never tries — is one of the cleanest behavioural signals available, because it reflects a design decision made by whoever built it.
| Path | Distinct clients | Hits |
|---|---|---|
/robots.txt | 5 | 13 |
/llms.txt | 4 | 18 |
/openapi.json | 4 | 8 |
/sitemap.xml | 3 | 6 |
/.well-known/fomite.json | 2 | 7 |
/.well-known/security.txt | 2 | 5 |
/ai.txt | 2 | 5 |
/.well-known/agent.json | 1 | 3 |
/llms-full.txt | 1 | 2 |
/.well-known/ai-plugin.json | 1 | 1 |
/.well-known/mcp.json | 1 | 1 |
Wire sensor
Read straight off the network interface, before the proxy terminates TLS or normalises anything. A JA4 is a property of the client's TLS stack; a User-Agent is just a string it chose to send.
One fingerprint, more than one claimed identity
These JA4s turned up under two or more different User-Agent identities. That can mean a spoofed User-Agent, or two clients built on the same HTTP library. Either way it is worth a look, and it is invisible without the sensor.
| JA4 | Claimed identities | Connections |
|---|---|---|
| t13d2013h1_2b729b4bf6f3_e24568c0d440 | ClaudeBot, curl | 3 |
| t13d181300_e8a523a41297_43ade6aba3df | Googlebot, GoogleOther | 2 |
By family
| Family | Clients | Requests |
|---|---|---|
| toolkit | 4 | 112 |
| openai | 2 | 33 |
| 2 | 22 | |
| anthropic | 1 | 16 |
| unknown | 1 | 10 |
| perplexity | 1 | 2 |
| microsoft | 1 | 1 |
| bytedance | 1 | 1 |
Most-requested paths (30 days, non-human only)
| Path | Requests |
|---|---|
/ | 47 |
/llms.txt | 20 |
/robots.txt | 14 |
/census | 9 |
/openapi.json | 8 |
/sitemap.xml | 7 |
/agents | 7 |
/.well-known/fomite.json | 7 |
/favicon.svg | 6 |
/methodology | 6 |
/api/threshold | 6 |
/threshold | 6 |
/ai.txt | 5 |
/api/wire | 5 |
/vault | 5 |
/.well-known/acme-challenge/4G8eCW4U0CTNuHGXpWk9LjGWbASg3SUgKgJRiNux8c8 | 5 |
/wire | 5 |
/.well-known/security.txt | 5 |
/_next/static/chunks/3l04zcqx63h3y.js | 5 |
/_next/static/chunks/17xn2f455v-0a.css | 4 |
Recent arrivals
| Time (UTC) | Client | Kind | Path |
|---|---|---|---|
| 2026-08-19 22:36:27Z | ClaudeBot | crawler | /openapi.json |
| 2026-08-19 22:36:25Z | ClaudeBot | crawler | /agents |
| 2026-08-19 22:35:39Z | ClaudeBot | crawler | /wire |
| 2026-08-19 22:35:37Z | ClaudeBot | crawler | /threshold |
| 2026-08-19 22:35:37Z | ClaudeBot | crawler | /methodology |
| 2026-08-19 22:35:04Z | unidentified | unknown | / |
| 2026-08-19 22:34:07Z | unidentified | unknown | /favicon.svg |
| 2026-08-19 22:34:07Z | unidentified | unknown | / |
| 2026-08-19 22:30:08Z | unidentified | unknown | / |
| 2026-08-19 22:25:22Z | curl | agent | /threshold |
| 2026-08-19 22:25:21Z | curl | agent | /openapi.json |
| 2026-08-19 22:25:20Z | curl | agent | /.well-known/agent.json |
| 2026-08-19 22:25:19Z | curl | agent | /.well-known/fomite.json |
| 2026-08-19 22:25:18Z | curl | agent | /.well-known/security.txt |
| 2026-08-19 22:25:17Z | curl | agent | /ai.txt |
| 2026-08-19 22:25:16Z | curl | agent | /llms.txt |
| 2026-08-19 22:25:05Z | unidentified | unknown | / |
| 2026-08-19 22:24:06Z | curl | agent | / |
| 2026-08-19 22:24:01Z | curl | agent | / |
| 2026-08-19 22:20:04Z | unidentified | unknown | / |
| 2026-08-19 22:15:04Z | unidentified | unknown | / |
| 2026-08-19 22:12:00Z | curl | agent | /api/threshold |
| 2026-08-19 22:11:59Z | curl | agent | /api/wire |
| 2026-08-19 22:11:58Z | curl | agent | /api/census/summary |
| 2026-08-19 22:11:57Z | curl | agent | /.well-known/security.txt |
| 2026-08-19 22:11:56Z | curl | agent | /.well-known/fomite.json |
| 2026-08-19 22:11:55Z | curl | agent | /sitemap.xml |
| 2026-08-19 22:11:54Z | curl | agent | /openapi.json |
| 2026-08-19 22:11:53Z | curl | agent | /ai.txt |
| 2026-08-19 22:11:52Z | curl | agent | /robots.txt |
| 2026-08-19 22:11:51Z | curl | agent | /llms-full.txt |
| 2026-08-19 22:11:51Z | unidentified | unknown | /llms.txt |
| 2026-08-19 22:11:50Z | curl | agent | /llms.txt |
| 2026-08-19 22:11:49Z | curl | agent | /methodology |
| 2026-08-19 22:11:47Z | curl | agent | /threshold |
| 2026-08-19 22:11:46Z | curl | agent | /wire |
| 2026-08-19 22:11:45Z | curl | agent | /vault |
| 2026-08-19 22:11:43Z | curl | agent | /agents |
| 2026-08-19 22:11:42Z | curl | agent | /census |
| 2026-08-19 22:11:40Z | curl | agent | / |
| 2026-08-19 22:10:04Z | unidentified | unknown | / |
| 2026-08-19 22:06:49Z | curl | agent | /census |
| 2026-08-19 22:06:48Z | curl | agent | / |
| 2026-08-19 22:06:47Z | Googlebot | crawler | /robots.txt |
| 2026-08-19 22:06:43Z | curl | agent | / |
| 2026-08-19 22:05:58Z | GoogleOther | crawler | /llms.txt |
| 2026-08-19 22:05:03Z | unidentified | unknown | / |
| 2026-08-19 22:03:32Z | ClaudeBot | crawler | /llms.txt |
| 2026-08-19 22:01:51Z | curl | agent | /llms.txt |
| 2026-08-19 22:01:50Z | curl | agent | /threshold |
Take the data
The whole census is available as JSON at /api/census/summary, no key and no rate limit worth mentioning. It is CC0 — use it, republish it, build on it. If you find an error in it, the method is written down so you can show us where.