Results for https://service-account.json/LEVEL0Scanned just now
Not Ready
Discoverability
0
0 pass · 4 fail
Content Accessibility
0
0 pass · 1 fail
Bot Access Control
0
0 pass · 2 fail
Discovery
0
0 pass · 6 fail · 1 unable
Commerce
Not checked
00 / 04 pass
Discoverability
- Goal
- Publish a robots.txt so agents and crawlers can discover crawl policy for this origin.
- Issue
- robots.txt missing or invalid (need 200 text/plain with User-agent)
- How to implement
- Create /robots.txt on this origin with at least one User-agent group and sensible Allow/Disallow rules. Serve it as text/plain.
- Resources
- fetchGET /robots.txt530
error code: 1016
- concludeFailed: status=530, textish=true, hasUserAgent=false
{"status":530,"contentType":"text/plain; charset=UTF-8","hasUserAgent":false}
- Goal
- Expose a valid XML sitemap so agents can enumerate important URLs.
- Issue
- No valid XML sitemap found via robots.txt or /sitemap.xml
- How to implement
- Add a valid XML sitemap and reference it with a Sitemap: line in robots.txt (or serve /sitemap.xml).
- Resources
- fetchGET /sitemap.xml530
error code: 1016
- fetchGET /sitemap_index.xml530
error code: 1016
- concludeNo valid XML sitemap found
- Goal
- Advertise agent-useful Link relations on the homepage so discovery is machine-readable.
- Issue
- Homepage has no Link header
- How to implement
- Add RFC 8288 Link response headers on GET / for agent-useful relations such as api-catalog, describedby, service-desc, or service-doc.
- Resources
- fetchGET /530
- concludeNo Link header on homepage
- Goal
- Publish DNS-AID SVCB records under _agents so agents can find services via DNS.
- Issue
- No DNSSEC-validated DNS-AID SVCB/HTTPS/TXT ServiceMode records found
- How to implement
- Publish DNSSEC-validated SVCB/HTTPS records for _index._agents, _mcp._agents, and/or _a2a._agents on the apex (and www if used).
- Resources
- dnsAD=true status=3 answers=0
- dnsAD=true status=3 answers=0
- dnsAD=true status=3 answers=0
- dnsAD=true status=3 answers=0
- dnsAD=true status=3 answers=0
- dnsAD=true status=3 answers=0
- dnsAD=true status=3 answers=0
- dnsAD=true status=3 answers=0
- dnsAD=true status=3 answers=0
- dnsAD=true status=3 answers=0
- dnsAD=true status=3 answers=0
- dnsAD=true status=3 answers=0
- dnsAD=true status=3 answers=0
- dnsAD=true status=3 answers=0
- dnsAD=true status=3 answers=0
- dnsAD=true status=3 answers=0
- dnsAD=true status=3 answers=0
- dnsAD=true status=3 answers=0
- concludeNo DNSSEC-validated (AD=true) ServiceMode DNS-AID records
00 / 01 pass
Content Accessibility
- Goal
- Serve text/markdown when clients Accept: text/markdown so agents can read a clean page summary.
- Issue
- Homepage does not return text/markdown for Accept: text/markdown
- How to implement
- When GET / is requested with Accept: text/markdown, respond with Content-Type including text/markdown (e.g. Cloudflare Markdown for Agents or an equivalent).
- Resources
- fetchGET /530
error code: 1016
- concludeNo markdown negotiation (content-type=text/plain; charset=UTF-8)
{"status":530,"contentType":"text/plain; charset=UTF-8"}
00 / 03 pass
Bot Access Control
- Goal
- Declare AI crawler rules in robots.txt so bot access policy is explicit.
- Issue
- No robots.txt to evaluate AI bot rules
- How to implement
- Add explicit User-agent rules for known AI crawlers (GPTBot, ClaudeBot, PerplexityBot, etc.) or a clear User-agent: * policy in robots.txt.
- Resources
- concludeNo robots.txt available to parse
- Goal
- Publish Content-Signal directives so AI training/search/input preferences are machine-readable.
- Issue
- No robots.txt; Content-Signal directives absent
- How to implement
- Add Content-Signal: lines in robots.txt with ai-train / search / ai-input directives stating your preferences for AI use of the site.
- Resources
- concludeNo robots.txt available
- Goal
- Publish an HTTP Message Signatures directory so bots can authenticate cryptographically.
- How to implement
- Serve a valid JWKS directory at /.well-known/http-message-signatures-directory for cryptographic bot authentication.
- Resources
- fetchGET /.well-known/http-message-signatures-directory530
error code: 1016
- concludeDirectory missing or invalid — reporting neutral
{"status":530}
00 / 08 pass
Discovery
- Goal
- Publish an RFC 9727 API catalog so agents can discover your API surfaces.
- Issue
- api-catalog not found
- How to implement
- Serve /.well-known/api-catalog as application/linkset+json with a linkset array describing your API surfaces.
- Resources
- fetchGET /.well-known/api-catalog530
error code: 1016
- concludeHTTP 530
- Goal
- Publish OAuth/OIDC discovery metadata so agents can authenticate with your APIs.
- Issue
- No OAuth/OIDC discovery metadata with issuer + auth/token endpoints
- How to implement
- Serve /.well-known/openid-configuration or /.well-known/oauth-authorization-server with issuer, authorization_endpoint, and token_endpoint.
- Resources
- fetchGET /.well-known/openid-configuration530
error code: 1016
- fetchGET /.well-known/oauth-authorization-server530
error code: 1016
- concludeNo valid OAuth/OIDC discovery document
- Goal
- Publish OAuth protected resource metadata so agents know which auth servers protect your API.
- Issue
- oauth-protected-resource missing resource + authorization_servers
- How to implement
- Serve /.well-known/oauth-protected-resource with resource and authorization_servers, and advertise it via WWW-Authenticate where relevant.
- Resources
- fetchGET /.well-known/oauth-protected-resource530
error code: 1016
- concludePRM missing or incomplete
- Goal
- Publish /auth.md so agents have human-readable registration and auth guidance.
- Issue
- Need auth.md plus discoverable PRM or agent_auth, with registration methods documented
- How to implement
- Serve /auth.md as text/markdown documenting how agents register/authenticate, discoverable via PRM and/or AS metadata agent_auth.
- Resources
- fetchGET /auth.md530
error code: 1016
- fetchGET /.well-known/oauth-protected-resource530
error code: 1016
- parseauthMd=false prm=false agent_auth=false registrationDocs=false
- concludeauth.md discovery incomplete
{"authOk":false,"prmOk":false,"agentAuth":false,"mentionsRegistration":false}
- Goal
- Publish an MCP server card and reachable Streamable HTTP endpoint so agents can list tools.
- Issue
- No MCP server card (serverInfo.name/name) or live Streamable HTTP endpoint
- How to implement
- Publish /.well-known/mcp/server-card.json (or mcp.json) with serverInfo.name, and expose a Streamable HTTP MCP endpoint that answers initialize + tools/list.
- Resources
- fetchGET /.well-known/mcp.json530
error code: 1016
- fetchGET /.well-known/mcp/server-cards.json530
error code: 1016
- fetchGET /.well-known/mcp/server-card.json530
error code: 1016
- fetchPOST /api/mcp/mcp530
error code: 1016
- concludeNo MCP card or live endpoint
- Goal
- Publish an A2A agent card so agents can discover your A2A interface.
- How to implement
- Serve /.well-known/agent-card.json with name, version, and supportedInterfaces per the A2A Agent Card spec.
- Resources
- concludeCheck disabled for this scan
- Goal
- Publish an agent-skills index so agents can find skill docs for this origin.
- Issue
- No valid agent-skills index.json (v0.2 skills array)
- How to implement
- Serve /.well-known/agent-skills/index.json (v0.2) listing skills agents can use against this origin.
- Resources
- fetchGET /.well-known/agent-skills/index.json530
error code: 1016
- fetchGET /.well-known/skills/index.json530
error code: 1016
- concludeNo valid agent-skills index
- Goal
- Register WebMCP tools on the homepage so headless scanners discover browser-side tools.
- Issue
- WebMCP browser check failed: net::ERR_CONNECTION_RESET at https://service-account.json/
- How to implement
- On page load, register at least one WebMCP tool via navigator.modelContext (provideContext/registerTool) so headless scanners can discover it.
- Resources
- fetchLaunching Browser Rendering session for WebMCP inspection
- concludenet::ERR_CONNECTION_RESET at https://service-account.json/
00 / 05 pass
Commerce
- Goal
- Advertise x402 payment challenges on payable API routes so agents can pay per request.
- How to implement
- Return HTTP 402 with a valid x402 payment challenge (PAYMENT-REQUIRED / payment required body) on payable API routes such as /api/v1.
- Resources
- concludeCoinbase Bazaar discovery not queried (skipped in v1 scanner)
- fetchGET /530
error code: 1016
- fetchGET /api530
error code: 1016
- fetchGET /api/v1530
error code: 1016
- concludeNo 402 x402 challenge found
- Goal
- Declare Machine Payments Protocol extensions in OpenAPI so payable ops are discoverable.
- How to implement
- Serve /openapi.json with x-payment-info extensions describing payable operations.
- Resources
- fetchGET /openapi.json530
error code: 1016
- concludeHTTP 530
- Goal
- Publish Universal Commerce Protocol metadata for agent commerce discovery.
- How to implement
- Serve /.well-known/ucp with protocol_version and services.
- Resources
- fetchGET /.well-known/ucp530
error code: 1016
- concludeHTTP 530
- Goal
- Publish Agentic Commerce Protocol metadata for agent commerce discovery.
- How to implement
- Serve /.well-known/acp.json with protocol name/version, api_base_url, transports, and capabilities.
- Resources
- fetchGET /.well-known/acp.json530
error code: 1016
- concludeHTTP 530
- Goal
- Advertise AP2 extensions on the A2A agent card for agent payment flows.
- How to implement
- Extend /.well-known/agent-card.json with an AP2 extension that declares a role.
- Resources
- concludeCheck disabled for this scan
Improve the score
Next: Level 1 — Basic Web Presence
Publish a robots.txt with at least one User-agent rule
Expose a valid XML sitemap (via robots.txt Sitemap: or /sitemap.xml)
Advertise agent-useful Link relations on the homepage
Next level
Level 1 — Basic Web Presence