AgenticWebScore
Scan

Bot Access Control · Essential · Critical impact

Web Bot Auth key directory

RFC 9421 with Ed25519: the mechanism that lets a site verify which agent is calling rather than guessing from a user-agent string. Adoption in the curated corpus we measured is around one site in a hundred.

  • Essential
  • Critical impact
  • Draft standard
Web Bot Auth key directory — Property, Value
Property Value
Check idwebbotauth
DimensionBot Access Control (18%)
TierEssential — pool 80 pts
Weight inside tier3
ImpactCritical
MaturityDraft — A published specification that is not yet ratified.
ConditionalNo
Publishing skillweb-bot-auth
StandardsRFC 9421

What the scanner requests

  • /.well-known/http-message-signatures-directory

What is measured

The scanner issues GET https://<domain>/.well-known/http-message-signatures-directory and expects HTTP 200 with a JWK Set: a top-level keys array in which at least one entry is a usable Ed25519 verification key (kty "OKP", crv "Ed25519", a base64url 32-byte x, and a kid) that RFC 9421 Signature and Signature-Input verification can resolve. It passes when such a key is published, returns partial when the endpoint answers 200 with parseable JSON but no usable Ed25519 key (empty keys array, missing x, wrong crv, or an RSA-only set), and fails on a non-200, an HTML body or unparseable JSON.

Reproduce it yourself

You do not have to take our word for any of this. Run the same measurement against your own domain:

              DOMAIN="example.com"
curl -sSL -o /tmp/wba.json -w 'HTTP %{http_code} %{content_type}\n' "https://$DOMAIN/.well-known/http-message-signatures-directory"; grep -Eo '"(kid|kty|crv|x)"[[:space:]]*:[[:space:]]*"[^"]*"' /tmp/wba.json | sort -u
            

The fix

This is the artifact to ship. It is the complete change, not a description of one.

              {
  "keys": [
    {
      "kty": "OKP",
      "crv": "Ed25519",
      "x": "K6zqFKAe5fHfdzecJiq7nnGe0teq-_bhC1eP_fGo5bc",
      "kid": "2026-10-primary",
      "use": "sig",
      "alg": "Ed25519"
    }
  ]
}
            

Standards referenced

  • RFC 9421

Related checks

Related checks — Check, Tier, Impact, Same skill
Check Tier Impact Same skill
agent-permissions — Agent permission model (agent-permissions.json)EssentialCritical—
ai-rules — Named AI bot rules in robots.txtEssentialHigh—
ai-policy — AI usage policy pageEssentialHigh—
bot-page — Crawler and agent policy pageRecommendedMedium—
security-txt — security.txt (RFC 9116)RecommendedLow—
crawl-delay — Crawl rate declarationEmergingLow—
ai-txt — /ai.txt access declarationEmergingLow—