{
  "bot_auth": {
    "absent_total": 16395,
    "by_name": [
      {
        "name": "(no claimed name)",
        "records_with_signature_headers": 38
      },
      {
        "name": "meta-webindexer",
        "records_with_signature_headers": 25
      }
    ],
    "note": "Signature-header presence (Signature, Signature-Input, or Signature-Agent) by claimed name. Presence is a claim, not a verification: no signature has been verified, and the platform's verified-bot verdict cannot fire on this hosting tier. signature_agent_hosts is deployment-forward from Oct 18, 2026 (evening): the hostnames signers name for their key directories, stored as claims.",
    "present_total": 63,
    "signature_agent_hosts": [
      {
        "host": "ahrefs.com",
        "records": 32
      },
      {
        "host": "www.meta.com",
        "records": 7
      },
      {
        "host": "crawler.exa.ai",
        "records": 6
      }
    ]
  },
  "columns": [
    "name",
    "claimed",
    "verified-range",
    "wrong-range",
    "unverifiable-no-list",
    "not-checked",
    "verified_share_of_checkable"
  ],
  "decomposition": {
    "note": "Per claimed name: operator and dictionary class, requests, the purpose split, the verdict split, Web Bot Auth signature presence, and the reverse-DNS split. The rDNS split covers component-era records only (from the Oct 19, 2026 W6 deployment); rdns_era_records says how many of the name's records carry it. Purposes on records written before the same day's W4 split keep their era's labels. Bases differ by column and are stated here once: requests and the verdict split count verdict-era records (from Oct 18, 2026); by_purpose and wba_present count every record whose user-agent matches the name, all eras, so they can exceed requests.",
    "rows": [
      {
        "by_purpose": {
          "(none recorded)": 6724
        },
        "kind": "search-engine",
        "name": "Googlebot",
        "operator": "Google",
        "rdns": {
          "match": 4727,
          "none": 5,
          "not-checked": 3
        },
        "rdns_era_records": 4735,
        "requests": 6707,
        "top_class": "agent-claimed",
        "verdicts": {
          "not-checked": 0,
          "unverifiable-no-list": 0,
          "verified-range": 6702,
          "wrong-range": 5
        },
        "verified_share_of_checkable": "99.9%",
        "wba_present": 0
      },
      {
        "by_purpose": {
          "mixed": 960,
          "other": 1244
        },
        "kind": "mixed",
        "name": "GoogleOther",
        "operator": "Google",
        "rdns": {
          "match": 951
        },
        "rdns_era_records": 951,
        "requests": 2201,
        "top_class": "agent-claimed",
        "verdicts": {
          "not-checked": 0,
          "unverifiable-no-list": 0,
          "verified-range": 2201,
          "wrong-range": 0
        },
        "verified_share_of_checkable": "100.0%",
        "wba_present": 0
      },
      {
        "by_purpose": {
          "(none recorded)": 389
        },
        "kind": "link-preview",
        "name": "facebookexternalhit",
        "operator": "Meta",
        "rdns": {
          "not-offered": 377
        },
        "rdns_era_records": 377,
        "requests": 382,
        "top_class": "agent-claimed",
        "verdicts": {
          "not-checked": 0,
          "unverifiable-no-list": 382,
          "verified-range": 0,
          "wrong-range": 0
        },
        "verified_share_of_checkable": "\u2014",
        "wba_present": 0
      },
      {
        "by_purpose": {
          "(none recorded)": 53
        },
        "kind": "search-engine",
        "name": "Applebot",
        "operator": "Apple",
        "rdns": {
          "match": 45
        },
        "rdns_era_records": 45,
        "requests": 50,
        "top_class": "agent-claimed",
        "verdicts": {
          "not-checked": 0,
          "unverifiable-no-list": 50,
          "verified-range": 0,
          "wrong-range": 0
        },
        "verified_share_of_checkable": "\u2014",
        "wba_present": 0
      },
      {
        "by_purpose": {
          "training": 33
        },
        "kind": "training",
        "name": "Meta-ExternalAgent",
        "operator": "Meta",
        "rdns": {},
        "rdns_era_records": 0,
        "requests": 33,
        "top_class": "agent-claimed",
        "verdicts": {
          "not-checked": 0,
          "unverifiable-no-list": 33,
          "verified-range": 0,
          "wrong-range": 0
        },
        "verified_share_of_checkable": "\u2014",
        "wba_present": 0
      },
      {
        "by_purpose": {},
        "kind": "(unlisted)",
        "name": "AhrefsBot",
        "operator": "(unlisted)",
        "rdns": {
          "not-offered": 32
        },
        "rdns_era_records": 32,
        "requests": 32,
        "top_class": "agent-claimed",
        "verdicts": {
          "not-checked": 0,
          "unverifiable-no-list": 32,
          "verified-range": 0,
          "wrong-range": 0
        },
        "verified_share_of_checkable": "\u2014",
        "wba_present": 0
      },
      {
        "by_purpose": {},
        "kind": "(unlisted)",
        "name": "MJ12bot",
        "operator": "(unlisted)",
        "rdns": {},
        "rdns_era_records": 0,
        "requests": 22,
        "top_class": "agent-claimed",
        "verdicts": {
          "not-checked": 0,
          "unverifiable-no-list": 22,
          "verified-range": 0,
          "wrong-range": 0
        },
        "verified_share_of_checkable": "\u2014",
        "wba_present": 0
      },
      {
        "by_purpose": {},
        "kind": "(unlisted)",
        "name": "Meta Web Indexer",
        "operator": "(unlisted)",
        "rdns": {
          "not-offered": 8
        },
        "rdns_era_records": 8,
        "requests": 16,
        "top_class": "agent-claimed",
        "verdicts": {
          "not-checked": 0,
          "unverifiable-no-list": 16,
          "verified-range": 0,
          "wrong-range": 0
        },
        "verified_share_of_checkable": "\u2014",
        "wba_present": 0
      },
      {
        "by_purpose": {
          "(none recorded)": 10
        },
        "kind": "search-engine",
        "name": "Bingbot",
        "operator": "Microsoft",
        "rdns": {
          "match": 8
        },
        "rdns_era_records": 8,
        "requests": 10,
        "top_class": "agent-claimed",
        "verdicts": {
          "not-checked": 0,
          "unverifiable-no-list": 0,
          "verified-range": 10,
          "wrong-range": 0
        },
        "verified_share_of_checkable": "small n (10 checkable)",
        "wba_present": 0
      },
      {
        "by_purpose": {
          "user-triggered": 10
        },
        "kind": "user-triggered",
        "name": "ChatGPT-User",
        "operator": "OpenAI",
        "rdns": {
          "not-offered": 10
        },
        "rdns_era_records": 10,
        "requests": 10,
        "top_class": "agent-claimed",
        "verdicts": {
          "not-checked": 0,
          "unverifiable-no-list": 0,
          "verified-range": 10,
          "wrong-range": 0
        },
        "verified_share_of_checkable": "small n (10 checkable)",
        "wba_present": 0
      },
      {
        "by_purpose": {
          "search": 9
        },
        "kind": "search",
        "name": "PerplexityBot",
        "operator": "Perplexity",
        "rdns": {
          "not-offered": 5
        },
        "rdns_era_records": 5,
        "requests": 9,
        "top_class": "agent-claimed",
        "verdicts": {
          "not-checked": 0,
          "unverifiable-no-list": 9,
          "verified-range": 0,
          "wrong-range": 0
        },
        "verified_share_of_checkable": "\u2014",
        "wba_present": 0
      },
      {
        "by_purpose": {
          "search": 8
        },
        "kind": "search",
        "name": "OAI-SearchBot",
        "operator": "OpenAI",
        "rdns": {
          "not-offered": 6
        },
        "rdns_era_records": 6,
        "requests": 6,
        "top_class": "agent-claimed",
        "verdicts": {
          "not-checked": 0,
          "unverifiable-no-list": 0,
          "verified-range": 6,
          "wrong-range": 0
        },
        "verified_share_of_checkable": "small n (6 checkable)",
        "wba_present": 0
      },
      {
        "by_purpose": {},
        "kind": "(unlisted)",
        "name": "Internet Archive",
        "operator": "(unlisted)",
        "rdns": {},
        "rdns_era_records": 0,
        "requests": 1,
        "top_class": "agent-claimed",
        "verdicts": {
          "not-checked": 0,
          "unverifiable-no-list": 1,
          "verified-range": 0,
          "wrong-range": 0
        },
        "verified_share_of_checkable": "\u2014",
        "wba_present": 0
      },
      {
        "by_purpose": {
          "undeclared": 1
        },
        "kind": "undeclared",
        "name": "Amazonbot",
        "operator": "Amazon",
        "rdns": {
          "not-offered": 1
        },
        "rdns_era_records": 1,
        "requests": 1,
        "top_class": "agent-claimed",
        "verdicts": {
          "not-checked": 0,
          "unverifiable-no-list": 1,
          "verified-range": 0,
          "wrong-range": 0
        },
        "verified_share_of_checkable": "\u2014",
        "wba_present": 0
      },
      {
        "by_purpose": {
          "training": 19
        },
        "kind": "training",
        "name": "GPTBot",
        "operator": "OpenAI",
        "rdns": {},
        "rdns_era_records": 0,
        "requests": 1,
        "top_class": "agent-claimed",
        "verdicts": {
          "not-checked": 0,
          "unverifiable-no-list": 0,
          "verified-range": 0,
          "wrong-range": 1
        },
        "verified_share_of_checkable": "small n (1 checkable)",
        "wba_present": 0
      }
    ]
  },
  "era_note": "Verdicts exist only on records written since the verdict fields began (the Oct 18, 2026 deployment). Earlier records carry no verdict and are not counted here.",
  "format": "swarm-garden-data/v1",
  "generated_at_pt": "Oct 23, 2026, 7:53:03 AM PT",
  "generated_at_utc": "2026-10-23T14:53:03Z",
  "rows": [
    {
      "claimed": 6707,
      "name": "Googlebot",
      "not-checked": 0,
      "unverifiable-no-list": 0,
      "verified-range": 6702,
      "verified_share_of_checkable": "99.9%",
      "wrong-range": 5
    },
    {
      "claimed": 2201,
      "name": "GoogleOther",
      "not-checked": 0,
      "unverifiable-no-list": 0,
      "verified-range": 2201,
      "verified_share_of_checkable": "100.0%",
      "wrong-range": 0
    },
    {
      "claimed": 382,
      "name": "facebookexternalhit",
      "not-checked": 0,
      "unverifiable-no-list": 382,
      "verified-range": 0,
      "verified_share_of_checkable": "\u2014",
      "wrong-range": 0
    },
    {
      "claimed": 50,
      "name": "Applebot",
      "not-checked": 0,
      "unverifiable-no-list": 50,
      "verified-range": 0,
      "verified_share_of_checkable": "\u2014",
      "wrong-range": 0
    },
    {
      "claimed": 33,
      "name": "Meta-ExternalAgent",
      "not-checked": 0,
      "unverifiable-no-list": 33,
      "verified-range": 0,
      "verified_share_of_checkable": "\u2014",
      "wrong-range": 0
    },
    {
      "claimed": 32,
      "name": "AhrefsBot",
      "not-checked": 0,
      "unverifiable-no-list": 32,
      "verified-range": 0,
      "verified_share_of_checkable": "\u2014",
      "wrong-range": 0
    },
    {
      "claimed": 22,
      "name": "MJ12bot",
      "not-checked": 0,
      "unverifiable-no-list": 22,
      "verified-range": 0,
      "verified_share_of_checkable": "\u2014",
      "wrong-range": 0
    },
    {
      "claimed": 16,
      "name": "Meta Web Indexer",
      "not-checked": 0,
      "unverifiable-no-list": 16,
      "verified-range": 0,
      "verified_share_of_checkable": "\u2014",
      "wrong-range": 0
    },
    {
      "claimed": 10,
      "name": "Bingbot",
      "not-checked": 0,
      "unverifiable-no-list": 0,
      "verified-range": 10,
      "verified_share_of_checkable": "small n (10 checkable)",
      "wrong-range": 0
    },
    {
      "claimed": 10,
      "name": "ChatGPT-User",
      "not-checked": 0,
      "unverifiable-no-list": 0,
      "verified-range": 10,
      "verified_share_of_checkable": "small n (10 checkable)",
      "wrong-range": 0
    },
    {
      "claimed": 9,
      "name": "PerplexityBot",
      "not-checked": 0,
      "unverifiable-no-list": 9,
      "verified-range": 0,
      "verified_share_of_checkable": "\u2014",
      "wrong-range": 0
    },
    {
      "claimed": 6,
      "name": "OAI-SearchBot",
      "not-checked": 0,
      "unverifiable-no-list": 0,
      "verified-range": 6,
      "verified_share_of_checkable": "small n (6 checkable)",
      "wrong-range": 0
    },
    {
      "claimed": 1,
      "name": "Internet Archive",
      "not-checked": 0,
      "unverifiable-no-list": 1,
      "verified-range": 0,
      "verified_share_of_checkable": "\u2014",
      "wrong-range": 0
    },
    {
      "claimed": 1,
      "name": "Amazonbot",
      "not-checked": 0,
      "unverifiable-no-list": 1,
      "verified-range": 0,
      "verified_share_of_checkable": "\u2014",
      "wrong-range": 0
    },
    {
      "claimed": 1,
      "name": "GPTBot",
      "not-checked": 0,
      "unverifiable-no-list": 0,
      "verified-range": 0,
      "verified_share_of_checkable": "small n (1 checkable)",
      "wrong-range": 1
    }
  ],
  "site": "advisory",
  "sources": {
    "days": {
      "2026-10-19": {
        "digest_requests": 329,
        "distinct_sources": 65,
        "names_per_source": {
          "0": 48,
          "1": 8,
          "2": 9,
          "3": 0,
          "4+": 0
        },
        "names_per_source_by_origin": {
          "cloud-hosting": {
            "0": 19,
            "1": 0,
            "2": 0,
            "3": 0,
            "4+": 0
          },
          "named-other": {
            "0": 4,
            "1": 0,
            "2": 0,
            "3": 0,
            "4+": 0
          },
          "none": {
            "0": 25,
            "1": 6,
            "2": 0,
            "3": 0,
            "4+": 0
          },
          "operator-crawler": {
            "0": 0,
            "1": 2,
            "2": 9,
            "3": 0,
            "4+": 0
          }
        },
        "sources_by_name": {
          "ChatGPT-User": 5,
          "GoogleOther": 11,
          "Googlebot": 9,
          "OAI-SearchBot": 1
        }
      },
      "2026-10-20": {
        "digest_requests": 2128,
        "distinct_sources": 216,
        "names_per_source": {
          "0": 173,
          "1": 31,
          "2": 12,
          "3": 0,
          "4+": 0
        },
        "names_per_source_by_origin": {
          "cloud-hosting": {
            "0": 21,
            "1": 2,
            "2": 0,
            "3": 0,
            "4+": 0
          },
          "named-other": {
            "0": 19,
            "1": 0,
            "2": 0,
            "3": 0,
            "4+": 0
          },
          "none": {
            "0": 131,
            "1": 20,
            "2": 0,
            "3": 0,
            "4+": 0
          },
          "not-checked": {
            "0": 2,
            "1": 0,
            "2": 0,
            "3": 0,
            "4+": 0
          },
          "operator-crawler": {
            "0": 0,
            "1": 9,
            "2": 12,
            "3": 0,
            "4+": 0
          }
        },
        "sources_by_name": {
          "ChatGPT-User": 2,
          "GoogleOther": 13,
          "Googlebot": 21,
          "Meta Web Indexer": 3,
          "OAI-SearchBot": 1,
          "PerplexityBot": 2,
          "facebookexternalhit": 13
        }
      },
      "2026-10-21": {
        "digest_requests": 3083,
        "distinct_sources": 236,
        "names_per_source": {
          "0": 175,
          "1": 41,
          "2": 20,
          "3": 0,
          "4+": 0
        },
        "names_per_source_by_origin": {
          "cloud-hosting": {
            "0": 22,
            "1": 0,
            "2": 0,
            "3": 0,
            "4+": 0
          },
          "named-other": {
            "0": 18,
            "1": 0,
            "2": 0,
            "3": 0,
            "4+": 0
          },
          "none": {
            "0": 129,
            "1": 9,
            "2": 0,
            "3": 0,
            "4+": 0
          },
          "not-checked": {
            "0": 6,
            "1": 1,
            "2": 0,
            "3": 0,
            "4+": 0
          },
          "operator-crawler": {
            "0": 0,
            "1": 31,
            "2": 20,
            "3": 0,
            "4+": 0
          }
        },
        "sources_by_name": {
          "Applebot": 19,
          "Bingbot": 4,
          "ChatGPT-User": 1,
          "GoogleOther": 20,
          "Googlebot": 28,
          "Meta Web Indexer": 4,
          "OAI-SearchBot": 2,
          "facebookexternalhit": 3
        }
      },
      "2026-10-22": {
        "digest_requests": 2667,
        "distinct_sources": 390,
        "names_per_source": {
          "0": 90,
          "1": 284,
          "2": 16,
          "3": 0,
          "4+": 0
        },
        "names_per_source_by_origin": {
          "cloud-hosting": {
            "0": 10,
            "1": 3,
            "2": 0,
            "3": 0,
            "4+": 0
          },
          "named-other": {
            "0": 5,
            "1": 32,
            "2": 0,
            "3": 0,
            "4+": 0
          },
          "none": {
            "0": 73,
            "1": 223,
            "2": 0,
            "3": 0,
            "4+": 0
          },
          "not-checked": {
            "0": 2,
            "1": 9,
            "2": 0,
            "3": 0,
            "4+": 0
          },
          "operator-crawler": {
            "0": 0,
            "1": 17,
            "2": 16,
            "3": 0,
            "4+": 0
          }
        },
        "sources_by_name": {
          "AhrefsBot": 32,
          "Applebot": 7,
          "Bingbot": 1,
          "GoogleOther": 16,
          "Googlebot": 25,
          "OAI-SearchBot": 1,
          "PerplexityBot": 3,
          "facebookexternalhit": 231
        }
      },
      "2026-10-23": {
        "digest_requests": 343,
        "distinct_sources": 155,
        "names_per_source": {
          "0": 35,
          "1": 120,
          "2": 0,
          "3": 0,
          "4+": 0
        },
        "names_per_source_by_origin": {
          "cloud-hosting": {
            "0": 1,
            "1": 0,
            "2": 0,
            "3": 0,
            "4+": 0
          },
          "named-other": {
            "0": 4,
            "1": 1,
            "2": 0,
            "3": 0,
            "4+": 0
          },
          "none": {
            "0": 30,
            "1": 98,
            "2": 0,
            "3": 0,
            "4+": 0
          },
          "not-checked": {
            "0": 0,
            "1": 4,
            "2": 0,
            "3": 0,
            "4+": 0
          },
          "operator-crawler": {
            "0": 0,
            "1": 17,
            "2": 0,
            "3": 0,
            "4+": 0
          }
        },
        "sources_by_name": {
          "Amazonbot": 1,
          "Applebot": 1,
          "Googlebot": 16,
          "Meta Web Indexer": 1,
          "OAI-SearchBot": 1,
          "facebookexternalhit": 100
        }
      }
    },
    "note": "Distinct source addresses per Pacific day, from the source digest (a one-way digest of the Pacific date and the source address only \u2014 no user-agent). Digest values are never published; only these aggregates. A distinct source address is not a visitor, an agent, or an operator, and daily distincts are never summed into a longer span. Era-forward from the Oct 19, 2026 W10 deployment; earlier records carry no source digest and are outside the series."
  },
  "subclasses": {
    "folds": {
      "agent_claimed_operator_purpose": {
        "Amazon": {
          "undeclared": 1
        },
        "Anthropic": {
          "training": 2
        },
        "Apple": {
          "(none recorded)": 53
        },
        "Google": {
          "(none recorded)": 6724,
          "mixed": 960,
          "other": 1244
        },
        "Meta": {
          "(none recorded)": 415,
          "training": 33
        },
        "Microsoft": {
          "(none recorded)": 10
        },
        "OpenAI": {
          "search": 8,
          "training": 19,
          "user-triggered": 10
        },
        "Perplexity": {
          "search": 9
        },
        "urlscan.io": {
          "(none recorded)": 1
        }
      },
      "asn_operator_type": {
        "cdn": 1095,
        "cloud-hosting": 951,
        "education": 1,
        "other": 4706,
        "search-platform": 9652,
        "telecom-isp": 54
      },
      "by_class": {
        "agent-claimed": {},
        "automation": {
          "generic-bot-token": 126,
          "http-library/tool: axios": 4,
          "http-library/tool: curl": 468,
          "http-library/tool: go-http-client": 5,
          "http-library/tool: headless-chrome": 4,
          "http-library/tool: okhttp": 2,
          "http-library/tool: python-aiohttp": 16,
          "http-library/tool: python-httpx": 5,
          "http-library/tool: python-requests": 36,
          "named-crawler (dictionary)": 6813
        },
        "browser": {
          "chrome": 4016,
          "edge": 78,
          "firefox": 154,
          "opera": 6,
          "other-mozilla": 1,
          "safari": 370
        },
        "unknown": {
          "library/tool: scrapy": 2,
          "no-UA": 16,
          "token: (all other tokens, small-n folded)": 16,
          "token: Chrome": 3,
          "token: Cloudflare-SSLDetector": 2,
          "token: Dalvik": 6,
          "token: Mozilla": 1094,
          "token: Mozlila": 12,
          "token: OutcropDealflow": 2,
          "token: facebookexternalhit": 389,
          "token: fasthttp": 8,
          "token: http:": 437,
          "token: metabase-cve-2026-72898-detect": 8,
          "token: siteradar": 3,
          "token: swarm-garden-snapshot": 70
        }
      },
      "header_profile": {
        "browser-like": 173,
        "minimal": 1367,
        "partial": 7055
      },
      "headless_markers_by_class": {
        "automation": 4
      },
      "origin_category": {
        "cloud-hosting": 597,
        "named-other": 385,
        "none": 1834,
        "not-checked": 48,
        "operator-crawler": 5731
      },
      "protocol": {
        "h1.0": 243,
        "h1.1": 7677,
        "h2": 634,
        "h3": 41
      },
      "ua_completeness": {
        "comment-no-version": 3,
        "empty": 16,
        "full": 15324,
        "product+version": 661,
        "product-only": 454
      },
      "ua_family": {
        "axios": 4,
        "curl": 468,
        "go-http-client": 5,
        "headless-chrome": 4,
        "okhttp": 2,
        "other": 15916,
        "python-aiohttp": 16,
        "python-httpx": 5,
        "python-requests": 36,
        "scrapy": 2
      }
    },
    "note": "Cross-tab views over the frozen top classes \u2014 never reclassifications. UA-derived folds are computed from the stored UA strings; origin, header-profile and protocol folds are era-forward from the Oct 19, 2026 W6 deployment. The ASN operator type is a descriptive keyword heuristic over the AS organisation string."
  }
}
