{"url":"https://lab2.crawlcheck.io","targetUrl":"https://lab2.crawlcheck.io","scannedAt":"2026-11-04T05:57:50.544Z","level":1,"levelName":"Basic Web Presence","checks":{"discoverability":{"robotsTxt":{"status":"pass","message":"robots.txt exists with valid format","messageRef":{"code":"check.robotsTxt.valid"},"evidence":[{"action":"fetch","label":"GET /robots.txt","request":{"url":"https://lab2.crawlcheck.io/robots.txt","method":"GET"},"response":{"status":200,"statusText":"OK","headers":{"content-type":"text/plain; charset=utf-8","content-length":"353","cf-ray":"a551620e6b662a30-IAD"},"bodyPreview":"# Northfield Gutter Co. (test site; planted faults: see /answer-key.json once published)\nUser-agent: *\nDisallow: /assets/\nDisallow: /quote\nNoindex: /blog/\n\nUser-agent: ClaudeBot\nCrawl-delay: 10\n\nUser-agent: Googlebot-Image\nDisallow: /\n\nUser-agent: Storebot-Google\nDisallow: /\n\nUser-agent: Perplexity-Bot\nDisallow: /quote\nAllow: /\n\nSitemap: /sitemap.xml\n"},"finding":{"outcome":"positive","summary":"Received valid robots.txt (200, text/plain; charset=utf-8)"}},{"action":"parse","label":"Validate robots.txt structure","finding":{"outcome":"positive","summary":"Contains valid User-agent directive(s)"}},{"action":"conclude","label":"Conclusion","finding":{"outcome":"positive","summary":"robots.txt exists with valid format"}}],"durationMs":0},"sitemap":{"status":"pass","message":"sitemap.xml exists with valid structure","messageRef":{"code":"check.sitemap.valid"},"details":{"url":"https://lab2.crawlcheck.io/sitemap.xml","fromRobotsTxt":false,"format":"xml"},"evidence":[{"action":"parse","label":"Extract Sitemap directives from robots.txt","finding":{"outcome":"neutral","summary":"No Sitemap directives found in robots.txt"}},{"action":"fetch","label":"GET /sitemap-index.xml","request":{"url":"https://lab2.crawlcheck.io/sitemap-index.xml","method":"GET"},"response":{"status":404,"statusText":"Not Found","headers":{"content-type":"text/html; charset=utf-8","cf-ray":"a551620e8b922a30-IAD"}},"finding":{"outcome":"negative","summary":"https://lab2.crawlcheck.io/sitemap-index.xml returned 404"}},{"action":"fetch","label":"GET /sitemap_index.xml","request":{"url":"https://lab2.crawlcheck.io/sitemap_index.xml","method":"GET"},"response":{"status":404,"statusText":"Not Found","headers":{"content-type":"text/html; charset=utf-8","cf-ray":"a551620e8b912a30-IAD"}},"finding":{"outcome":"negative","summary":"https://lab2.crawlcheck.io/sitemap_index.xml returned 404"}},{"action":"fetch","label":"GET /sitemap.xml","request":{"url":"https://lab2.crawlcheck.io/sitemap.xml","method":"GET"},"response":{"status":200,"statusText":"OK","headers":{"content-type":"application/xml; charset=utf-8","content-length":"329","cf-ray":"a551620e8b902a30-IAD"}},"finding":{"outcome":"positive","summary":"Found valid xml sitemap at https://lab2.crawlcheck.io/sitemap.xml"}},{"action":"fetch","label":"GET /sitemap.xml.gz","request":{"url":"https://lab2.crawlcheck.io/sitemap.xml.gz","method":"GET"},"response":{"status":404,"statusText":"Not Found","headers":{"content-type":"text/html; charset=utf-8","cf-ray":"a551620e9b962a30-IAD"}},"finding":{"outcome":"negative","summary":"https://lab2.crawlcheck.io/sitemap.xml.gz returned 404"}},{"action":"conclude","label":"Conclusion","finding":{"outcome":"positive","summary":"sitemap.xml exists with valid structure"}}],"durationMs":11},"linkHeaders":{"status":"fail","message":"No Link headers found on target page","messageRef":{"code":"check.linkHeaders.notFound"},"evidence":[{"action":"fetch","label":"GET /","request":{"url":"https://lab2.crawlcheck.io","method":"GET"},"response":{"status":200,"statusText":"OK","headers":{"content-type":"text/html; charset=utf-8","cf-ray":"a551620eebf92a30-IAD"}},"finding":{"outcome":"negative","summary":"No Link header present in response"}},{"action":"conclude","label":"Conclusion","finding":{"outcome":"negative","summary":"No Link headers found on target page"}}],"durationMs":67},"dnsAid":{"status":"fail","message":"DNS for AI Discovery (DNS-AID) well-known entrypoint records not found","messageRef":{"code":"check.dnsAid.notFound"},"details":{"domainsChecked":["lab2.crawlcheck.io"],"queriesAttempted":["SVCB _index._agents.lab2.crawlcheck.io","HTTPS _index._agents.lab2.crawlcheck.io","SVCB _a2a._agents.lab2.crawlcheck.io","HTTPS _a2a._agents.lab2.crawlcheck.io","SVCB _mcp._agents.lab2.crawlcheck.io","HTTPS _mcp._agents.lab2.crawlcheck.io","TXT _index._agents.lab2.crawlcheck.io"],"dnssecValidated":false,"serviceRecordCount":0,"aliasRecordCount":0,"txtIndexEntryCount":0,"txtIndexEntries":[],"records":[]},"evidence":[{"action":"fetch","label":"DoH SVCB _index._agents.lab2.crawlcheck.io","request":{"url":"https://cloudflare-dns.com/dns-query?name=_index._agents.lab2.crawlcheck.io&type=SVCB&do=1","method":"GET","headers":{"Accept":"application/dns-json"}},"response":{"status":200,"statusText":"OK","headers":{"content-type":"application/dns-json"},"bodyPreview":"{\"Status\":0,\"TC\":false,\"RD\":true,\"RA\":true,\"AD\":true,\"CD\":false,\"Question\":[{\"name\":\"_index._agents.lab2.crawlcheck.io\",\"type\":64}],\"Authority\":[{\"name\":\"crawlcheck.io\",\"type\":6,\"TTL\":1800,\"data\":\"hasslo.ns.cloudflare.com. dns.cloudflare.com. 2419183412 10000 2400 604800 1800\"},{\"name\":\"crawlcheck.io\",\"type\":46,\"TTL\":1800,\"data\":\"SOA 13 2 1800 1793861865 1793681865 34505 crawlcheck.io. m9G4sRj41pNAz0YsNpubFzJhO68wTNdzBB4IWpcDUYhws1tH0MaZh5JR4CJhSXFlzzWwKoOKFNLMdUwQFWmvAA==\"},{\"name\":\"_index._age..."},"finding":{"outcome":"neutral","summary":"No SVCB answers (NOERROR)"}},{"action":"fetch","label":"DoH HTTPS _index._agents.lab2.crawlcheck.io","request":{"url":"https://cloudflare-dns.com/dns-query?name=_index._agents.lab2.crawlcheck.io&type=HTTPS&do=1","method":"GET","headers":{"Accept":"application/dns-json"}},"response":{"status":200,"statusText":"OK","headers":{"content-type":"application/dns-json"},"bodyPreview":"{\"Status\":0,\"TC\":false,\"RD\":true,\"RA\":true,\"AD\":true,\"CD\":false,\"Question\":[{\"name\":\"_index._agents.lab2.crawlcheck.io\",\"type\":65}],\"Authority\":[{\"name\":\"crawlcheck.io\",\"type\":6,\"TTL\":1800,\"data\":\"hasslo.ns.cloudflare.com. dns.cloudflare.com. 2419183412 10000 2400 604800 1800\"},{\"name\":\"crawlcheck.io\",\"type\":46,\"TTL\":1800,\"data\":\"SOA 13 2 1800 1793861865 1793681865 34505 crawlcheck.io. wyc7VH4kGljghuA+AbZBRM0T1nVhPt3A/qhLmsivm7QzOvwOV/1o9AZZvRFw4Cp8YILA7Nf0h2PKkDLab7JLOA==\"},{\"name\":\"_index._age..."},"finding":{"outcome":"neutral","summary":"No HTTPS answers (NOERROR)"}},{"action":"fetch","label":"DoH SVCB _a2a._agents.lab2.crawlcheck.io","request":{"url":"https://cloudflare-dns.com/dns-query?name=_a2a._agents.lab2.crawlcheck.io&type=SVCB&do=1","method":"GET","headers":{"Accept":"application/dns-json"}},"response":{"status":200,"statusText":"OK","headers":{"content-type":"application/dns-json"},"bodyPreview":"{\"Status\":0,\"TC\":false,\"RD\":true,\"RA\":true,\"AD\":true,\"CD\":false,\"Question\":[{\"name\":\"_a2a._agents.lab2.crawlcheck.io\",\"type\":64}],\"Authority\":[{\"name\":\"crawlcheck.io\",\"type\":6,\"TTL\":1800,\"data\":\"hasslo.ns.cloudflare.com. dns.cloudflare.com. 2419183412 10000 2400 604800 1800\"},{\"name\":\"crawlcheck.io\",\"type\":46,\"TTL\":1800,\"data\":\"SOA 13 2 1800 1793861865 1793681865 34505 crawlcheck.io. OmvneTmCRZHfQMSzmpXGe1Rayet8bwtkS3NXGhpNGnT+306NRbtBCTWXpB32UG5qpS1q0G6XQ3Y3Y66l47fQhw==\"},{\"name\":\"_a2a._agents...."},"finding":{"outcome":"neutral","summary":"No SVCB answers (NOERROR)"}},{"action":"fetch","label":"DoH HTTPS _a2a._agents.lab2.crawlcheck.io","request":{"url":"https://cloudflare-dns.com/dns-query?name=_a2a._agents.lab2.crawlcheck.io&type=HTTPS&do=1","method":"GET","headers":{"Accept":"application/dns-json"}},"response":{"status":200,"statusText":"OK","headers":{"content-type":"application/dns-json"},"bodyPreview":"{\"Status\":0,\"TC\":false,\"RD\":true,\"RA\":true,\"AD\":true,\"CD\":false,\"Question\":[{\"name\":\"_a2a._agents.lab2.crawlcheck.io\",\"type\":65}],\"Authority\":[{\"name\":\"crawlcheck.io\",\"type\":6,\"TTL\":1800,\"data\":\"hasslo.ns.cloudflare.com. dns.cloudflare.com. 2419183412 10000 2400 604800 1800\"},{\"name\":\"crawlcheck.io\",\"type\":46,\"TTL\":1800,\"data\":\"SOA 13 2 1800 1793861865 1793681865 34505 crawlcheck.io. 3naHffkEuN7iHdP4/EhFLxbxoj+xT4VM7O4j2hnTtxOY/teiyJyLeTfdZHlKICGTi1pWllX8nkfqRa1Tb9M1bA==\"},{\"name\":\"_a2a._agents...."},"finding":{"outcome":"neutral","summary":"No HTTPS answers (NOERROR)"}},{"action":"fetch","label":"DoH SVCB _mcp._agents.lab2.crawlcheck.io","request":{"url":"https://cloudflare-dns.com/dns-query?name=_mcp._agents.lab2.crawlcheck.io&type=SVCB&do=1","method":"GET","headers":{"Accept":"application/dns-json"}},"response":{"status":200,"statusText":"OK","headers":{"content-type":"application/dns-json"},"bodyPreview":"{\"Status\":0,\"TC\":false,\"RD\":true,\"RA\":true,\"AD\":true,\"CD\":false,\"Question\":[{\"name\":\"_mcp._agents.lab2.crawlcheck.io\",\"type\":64}],\"Authority\":[{\"name\":\"crawlcheck.io\",\"type\":6,\"TTL\":1800,\"data\":\"hasslo.ns.cloudflare.com. dns.cloudflare.com. 2419183412 10000 2400 604800 1800\"},{\"name\":\"crawlcheck.io\",\"type\":46,\"TTL\":1800,\"data\":\"SOA 13 2 1800 1793861865 1793681865 34505 crawlcheck.io. 0KKwSCPHe/0Ek2rqRSo40JeYiIOceDetAQkkS3EPuW5LbAOpCXT1/Po8WS1mZMk7GZbegq1T3aRHyhqk628wFQ==\"},{\"name\":\"_mcp._agents...."},"finding":{"outcome":"neutral","summary":"No SVCB answers (NOERROR)"}},{"action":"fetch","label":"DoH HTTPS _mcp._agents.lab2.crawlcheck.io","request":{"url":"https://cloudflare-dns.com/dns-query?name=_mcp._agents.lab2.crawlcheck.io&type=HTTPS&do=1","method":"GET","headers":{"Accept":"application/dns-json"}},"response":{"status":200,"statusText":"OK","headers":{"content-type":"application/dns-json"},"bodyPreview":"{\"Status\":0,\"TC\":false,\"RD\":true,\"RA\":true,\"AD\":true,\"CD\":false,\"Question\":[{\"name\":\"_mcp._agents.lab2.crawlcheck.io\",\"type\":65}],\"Authority\":[{\"name\":\"crawlcheck.io\",\"type\":6,\"TTL\":1800,\"data\":\"hasslo.ns.cloudflare.com. dns.cloudflare.com. 2419183412 10000 2400 604800 1800\"},{\"name\":\"crawlcheck.io\",\"type\":46,\"TTL\":1800,\"data\":\"SOA 13 2 1800 1793861865 1793681865 34505 crawlcheck.io. iYoMx8vNtFlo2CocOkw1r3T+W0VsdALtsjC0bicp1PiLRStArAVPV5W0bt+g0c7AdLWfDbWqA8NEgISZiHWS5A==\"},{\"name\":\"_mcp._agents...."},"finding":{"outcome":"neutral","summary":"No HTTPS answers (NOERROR)"}},{"action":"fetch","label":"DoH TXT _index._agents.lab2.crawlcheck.io","request":{"url":"https://cloudflare-dns.com/dns-query?name=_index._agents.lab2.crawlcheck.io&type=TXT&do=1","method":"GET","headers":{"Accept":"application/dns-json"}},"response":{"status":200,"statusText":"OK","headers":{"content-type":"application/dns-json"},"bodyPreview":"{\"Status\":0,\"TC\":false,\"RD\":true,\"RA\":true,\"AD\":true,\"CD\":false,\"Question\":[{\"name\":\"_index._agents.lab2.crawlcheck.io\",\"type\":16}],\"Authority\":[{\"name\":\"crawlcheck.io\",\"type\":6,\"TTL\":1800,\"data\":\"hasslo.ns.cloudflare.com. dns.cloudflare.com. 2419183412 10000 2400 604800 1800\"},{\"name\":\"crawlcheck.io\",\"type\":46,\"TTL\":1800,\"data\":\"SOA 13 2 1800 1793861865 1793681865 34505 crawlcheck.io. foJSLz8o6wudvQinVFl7STvbVLFQvKg/YtcUAZix01XRQmUPD2htPft/gqfKhFB1pplYVwBreOFZQzc5QPtaBA==\"},{\"name\":\"_index._age..."},"finding":{"outcome":"neutral","summary":"No TXT answers (NOERROR)"}},{"action":"parse","label":"Parse DNS for AI Discovery (DNS-AID) SVCB/HTTPS records","finding":{"outcome":"neutral","summary":"No DNS for AI Discovery (DNS-AID) SVCB or HTTPS records found at well-known entrypoints"}},{"action":"conclude","label":"Conclusion","finding":{"outcome":"negative","summary":"DNS for AI Discovery (DNS-AID) well-known entrypoint records not found"}}],"durationMs":12}},"contentAccessibility":{"markdownNegotiation":{"status":"fail","message":"Site does not support Markdown for Agents","messageRef":{"code":"check.markdownNegotiation.unsupported"},"details":{"contentType":"text/html; charset=utf-8"},"evidence":[{"action":"fetch","label":"GET target page (Accept: text/markdown)","request":{"url":"https://lab2.crawlcheck.io","method":"GET","headers":{"accept":"text/markdown","cache-control":"no-cache"}},"finding":{"outcome":"negative","summary":"Response content-type is text/html; charset=utf-8, not text/markdown -- site does not support markdown content negotiation"},"response":{"status":200,"statusText":"OK","headers":{"content-type":"text/html; charset=utf-8","cf-ray":"a55162189977ef62-IAD"}}},{"action":"conclude","label":"Conclusion","finding":{"outcome":"negative","summary":"Site does not support Markdown for Agents"}}],"durationMs":449}},"botAccessControl":{"robotsTxtAiRules":{"status":"pass","message":"Found rules for AI bots: claudebot","messageRef":{"code":"check.aiRules.rulesFound","params":{"bots":["claudebot"]}},"details":{"targetPath":"/","robotsStatus":"ok","botPolicies":[{"userAgent":"gptbot","effectiveAccess":"allowed","ruleSource":"wildcard","rules":[{"directive":"disallow","pattern":"/assets/"},{"directive":"disallow","pattern":"/quote"}]},{"userAgent":"chatgpt-user","effectiveAccess":"allowed","ruleSource":"wildcard","rules":[{"directive":"disallow","pattern":"/assets/"},{"directive":"disallow","pattern":"/quote"}]},{"userAgent":"oai-searchbot","effectiveAccess":"allowed","ruleSource":"wildcard","rules":[{"directive":"disallow","pattern":"/assets/"},{"directive":"disallow","pattern":"/quote"}]},{"userAgent":"google-extended","effectiveAccess":"allowed","ruleSource":"wildcard","rules":[{"directive":"disallow","pattern":"/assets/"},{"directive":"disallow","pattern":"/quote"}]},{"userAgent":"ccbot","effectiveAccess":"allowed","ruleSource":"wildcard","rules":[{"directive":"disallow","pattern":"/assets/"},{"directive":"disallow","pattern":"/quote"}]},{"userAgent":"anthropic-ai","effectiveAccess":"allowed","ruleSource":"wildcard","rules":[{"directive":"disallow","pattern":"/assets/"},{"directive":"disallow","pattern":"/quote"}]},{"userAgent":"claude-web","effectiveAccess":"allowed","ruleSource":"wildcard","rules":[{"directive":"disallow","pattern":"/assets/"},{"directive":"disallow","pattern":"/quote"}]},{"userAgent":"bytespider","effectiveAccess":"allowed","ruleSource":"wildcard","rules":[{"directive":"disallow","pattern":"/assets/"},{"directive":"disallow","pattern":"/quote"}]},{"userAgent":"perplexitybot","effectiveAccess":"allowed","ruleSource":"wildcard","rules":[{"directive":"disallow","pattern":"/assets/"},{"directive":"disallow","pattern":"/quote"}]},{"userAgent":"cohere-ai","effectiveAccess":"allowed","ruleSource":"wildcard","rules":[{"directive":"disallow","pattern":"/assets/"},{"directive":"disallow","pattern":"/quote"}]},{"userAgent":"applebot-extended","effectiveAccess":"allowed","ruleSource":"wildcard","rules":[{"directive":"disallow","pattern":"/assets/"},{"directive":"disallow","pattern":"/quote"}]},{"userAgent":"amazonbot","effectiveAccess":"allowed","ruleSource":"wildcard","rules":[{"directive":"disallow","pattern":"/assets/"},{"directive":"disallow","pattern":"/quote"}]},{"userAgent":"meta-externalagent","effectiveAccess":"allowed","ruleSource":"wildcard","rules":[{"directive":"disallow","pattern":"/assets/"},{"directive":"disallow","pattern":"/quote"}]},{"userAgent":"facebookbot","effectiveAccess":"allowed","ruleSource":"wildcard","rules":[{"directive":"disallow","pattern":"/assets/"},{"directive":"disallow","pattern":"/quote"}]},{"userAgent":"omgilibot","effectiveAccess":"allowed","ruleSource":"wildcard","rules":[{"directive":"disallow","pattern":"/assets/"},{"directive":"disallow","pattern":"/quote"}]},{"userAgent":"diffbot","effectiveAccess":"allowed","ruleSource":"wildcard","rules":[{"directive":"disallow","pattern":"/assets/"},{"directive":"disallow","pattern":"/quote"}]},{"userAgent":"claudebot","effectiveAccess":"disallowed","ruleSource":"explicit","rules":[{"directive":"disallow","pattern":"/"}],"matchedRule":{"directive":"disallow","pattern":"/"}},{"userAgent":"claude-searchbot","effectiveAccess":"allowed","ruleSource":"wildcard","rules":[{"directive":"disallow","pattern":"/assets/"},{"directive":"disallow","pattern":"/quote"}]},{"userAgent":"claude-user","effectiveAccess":"allowed","ruleSource":"wildcard","rules":[{"directive":"disallow","pattern":"/assets/"},{"directive":"disallow","pattern":"/quote"}]},{"userAgent":"perplexity-user","effectiveAccess":"allowed","ruleSource":"wildcard","rules":[{"directive":"disallow","pattern":"/assets/"},{"directive":"disallow","pattern":"/quote"}]}],"botsFound":["claudebot"]},"evidence":[{"action":"fetch","label":"GET /robots.txt","request":{"url":"https://lab2.crawlcheck.io/robots.txt","method":"GET"},"response":{"status":200,"statusText":"OK","headers":{"content-type":"text/plain; charset=utf-8","content-length":"353","cf-ray":"a551620e6b662a30-IAD"},"bodyPreview":"# Northfield Gutter Co. (test site; planted faults: see /answer-key.json once published)\nUser-agent: *\nDisallow: /assets/\nDisallow: /quote\nNoindex: /blog/\n\nUser-agent: ClaudeBot\nCrawl-delay: 10\n\nUser-agent: Googlebot-Image\nDisallow: /\n\nUser-agent: Storebot-Google\nDisallow: /\n\nUser-agent: Perplexity-Bot\nDisallow: /quote\nAllow: /\n\nSitemap: /sitemap.xml\n"},"finding":{"outcome":"positive","summary":"Received valid robots.txt (200, text/plain; charset=utf-8)"}},{"action":"parse","label":"Scan for AI bot User-agent directives","finding":{"outcome":"positive","summary":"Found rules for AI bots: claudebot"}},{"action":"conclude","label":"Conclusion","finding":{"outcome":"positive","summary":"Found rules for 1 AI bots"}}],"durationMs":0},"contentSignals":{"status":"fail","message":"No Content Signals found in robots.txt","messageRef":{"code":"check.contentSignals.notFound"},"evidence":[{"action":"fetch","label":"GET /robots.txt","request":{"url":"https://lab2.crawlcheck.io/robots.txt","method":"GET"},"response":{"status":200,"statusText":"OK","headers":{"content-type":"text/plain; charset=utf-8","content-length":"353","cf-ray":"a551620e6b662a30-IAD"},"bodyPreview":"# Northfield Gutter Co. (test site; planted faults: see /answer-key.json once published)\nUser-agent: *\nDisallow: /assets/\nDisallow: /quote\nNoindex: /blog/\n\nUser-agent: ClaudeBot\nCrawl-delay: 10\n\nUser-agent: Googlebot-Image\nDisallow: /\n\nUser-agent: Storebot-Google\nDisallow: /\n\nUser-agent: Perplexity-Bot\nDisallow: /quote\nAllow: /\n\nSitemap: /sitemap.xml\n"},"finding":{"outcome":"positive","summary":"Received valid robots.txt (200, text/plain; charset=utf-8)"}},{"action":"parse","label":"Parse Content-Signal directives","finding":{"outcome":"negative","summary":"No Content-Signal directives found in robots.txt"}},{"action":"conclude","label":"Conclusion","finding":{"outcome":"negative","summary":"No Content Signals found in robots.txt"}}],"durationMs":0},"webBotAuth":{"status":"neutral","message":"Web Bot Auth directory not found (informational only)","messageRef":{"code":"scanner.webBotAuthInformational","params":{"original":{"code":"check.webBotAuth.notFound"}}},"evidence":[{"action":"fetch","label":"GET /.well-known/http-message-signatures-directory","request":{"url":"https://lab2.crawlcheck.io/.well-known/http-message-signatures-directory","method":"GET"},"response":{"status":404,"statusText":"Not Found","headers":{"content-type":"text/html; charset=utf-8","cf-ray":"a551620e9b992a30-IAD"}},"finding":{"outcome":"negative","summary":"Server returned 404 -- Web Bot Auth directory not found"}},{"action":"conclude","label":"Conclusion","finding":{"outcome":"negative","summary":"Web Bot Auth directory not found"}}],"durationMs":14}},"discovery":{"apiCatalog":{"status":"fail","message":"API Catalog not found","messageRef":{"code":"check.apiCatalog.notFound"},"evidence":[{"action":"fetch","label":"GET /.well-known/api-catalog","request":{"url":"https://lab2.crawlcheck.io/.well-known/api-catalog","method":"GET","headers":{"Accept":"application/linkset+json, application/json"}},"response":{"status":404,"statusText":"Not Found","headers":{"content-type":"text/html; charset=utf-8","cf-ray":"a551620ecbd62a30-IAD"}},"finding":{"outcome":"negative","summary":"Server returned 404 -- API Catalog not found"}},{"action":"conclude","label":"Conclusion","finding":{"outcome":"negative","summary":"API Catalog not found"}}],"durationMs":55},"oauthDiscovery":{"status":"fail","message":"No OAuth/OIDC discovery metadata found","messageRef":{"code":"check.oauthDiscovery.notFound"},"evidence":[{"action":"fetch","label":"GET /.well-known/openid-configuration","request":{"url":"https://lab2.crawlcheck.io/.well-known/openid-configuration","method":"GET"},"response":{"status":404,"statusText":"Not Found","headers":{"content-type":"text/html; charset=utf-8","cf-ray":"a551620e9b9b2a30-IAD"}},"finding":{"outcome":"negative","summary":"openid-configuration returned 404"}},{"action":"fetch","label":"GET /.well-known/oauth-authorization-server","request":{"url":"https://lab2.crawlcheck.io/.well-known/oauth-authorization-server","method":"GET"},"response":{"status":404,"statusText":"Not Found","headers":{"content-type":"text/html; charset=utf-8","cf-ray":"a551620e9b9d2a30-IAD"}},"finding":{"outcome":"negative","summary":"oauth-authorization-server returned 404"}},{"action":"conclude","label":"Conclusion","finding":{"outcome":"negative","summary":"No OAuth/OIDC discovery metadata found at either well-known path"}}],"durationMs":29},"oauthProtectedResource":{"status":"fail","message":"No OAuth Protected Resource Metadata found","messageRef":{"code":"check.oauthProtectedResource.notFound"},"evidence":[{"action":"fetch","label":"GET /.well-known/oauth-protected-resource","request":{"url":"https://lab2.crawlcheck.io/.well-known/oauth-protected-resource","method":"GET"},"response":{"status":404,"statusText":"Not Found","headers":{"content-type":"text/html; charset=utf-8","cf-ray":"a551620e9b9f2a30-IAD"}},"finding":{"outcome":"negative","summary":"Returned 404"}},{"action":"fetch","label":"GET /","request":{"url":"https://lab2.crawlcheck.io","method":"GET"},"response":{"status":200,"statusText":"OK","headers":{"content-type":"text/html; charset=utf-8","cf-ray":"a551620e9ba02a30-IAD"}},"finding":{"outcome":"neutral","summary":"Target resource returned 200 (no WWW-Authenticate header)"}},{"action":"conclude","label":"Conclusion","finding":{"outcome":"negative","summary":"No OAuth Protected Resource Metadata found"}}],"durationMs":33},"authMd":{"status":"fail","message":"auth.md not found","messageRef":{"code":"check.authMd.notFound"},"evidence":[{"action":"fetch","label":"GET /auth.md","request":{"url":"https://lab2.crawlcheck.io/auth.md","method":"GET","headers":{"Accept":"text/markdown, text/plain, */*"}},"response":{"status":404,"statusText":"Not Found","headers":{"content-type":"text/html; charset=utf-8","cf-ray":"a551620eaba82a30-IAD"}},"finding":{"outcome":"negative","summary":"Server returned 404 - auth.md not found"}},{"action":"conclude","label":"Conclusion","finding":{"outcome":"negative","summary":"auth.md not found"}}],"durationMs":33},"mcpServerCard":{"status":"fail","message":"MCP Server Card not found","messageRef":{"code":"check.mcpServerCard.notFound"},"evidence":[{"action":"fetch","label":"GET /.well-known/mcp/server-card.json","request":{"url":"https://lab2.crawlcheck.io/.well-known/mcp/server-card.json","method":"GET"},"response":{"status":404,"statusText":"Not Found","headers":{"content-type":"text/html; charset=utf-8","cf-ray":"a551620eabab2a30-IAD"}},"finding":{"outcome":"negative","summary":"/.well-known/mcp/server-card.json returned 404"}},{"action":"fetch","label":"GET /.well-known/mcp/server-cards.json","request":{"url":"https://lab2.crawlcheck.io/.well-known/mcp/server-cards.json","method":"GET"},"response":{"status":404,"statusText":"Not Found","headers":{"content-type":"text/html; charset=utf-8","cf-ray":"a551620eabb02a30-IAD"}},"finding":{"outcome":"negative","summary":"/.well-known/mcp/server-cards.json returned 404"}},{"action":"fetch","label":"GET /.well-known/mcp.json","request":{"url":"https://lab2.crawlcheck.io/.well-known/mcp.json","method":"GET"},"response":{"status":404,"statusText":"Not Found","headers":{"content-type":"text/html; charset=utf-8","cf-ray":"a551620eabb22a30-IAD"}},"finding":{"outcome":"negative","summary":"/.well-known/mcp.json returned 404"}},{"action":"conclude","label":"Conclusion","finding":{"outcome":"negative","summary":"MCP Server Card not found at any candidate path"}}],"durationMs":39},"a2aAgentCard":{"status":"fail","message":"A2A Agent Card not found","messageRef":{"code":"check.a2aAgentCard.notFound"},"evidence":[{"action":"fetch","label":"GET /.well-known/agent-card.json","request":{"url":"https://lab2.crawlcheck.io/.well-known/agent-card.json","method":"GET"},"response":{"status":404,"statusText":"Not Found","headers":{"content-type":"text/html; charset=utf-8","cf-ray":"a551620ebbcc2a30-IAD"}},"finding":{"outcome":"negative","summary":"Server returned 404 -- A2A Agent Card not found"}},{"action":"conclude","label":"Conclusion","finding":{"outcome":"negative","summary":"A2A Agent Card not found"}}],"durationMs":40},"agentSkills":{"status":"fail","message":"Agent Skills index not found","messageRef":{"code":"check.agentSkills.notFound"},"evidence":[{"action":"fetch","label":"GET /.well-known/agent-skills/index.json","request":{"url":"https://lab2.crawlcheck.io/.well-known/agent-skills/index.json","method":"GET"},"response":{"status":404,"statusText":"Not Found","headers":{"content-type":"text/html; charset=utf-8","cf-ray":"a551620ecbd22a30-IAD"}},"finding":{"outcome":"neutral","summary":"v0.2.0 path returned 404 — trying legacy path"}},{"action":"fetch","label":"GET /.well-known/skills/index.json","request":{"url":"https://lab2.crawlcheck.io/.well-known/skills/index.json","method":"GET"},"response":{"status":404,"statusText":"Not Found","headers":{"content-type":"text/html; charset=utf-8","cf-ray":"a551620efbfc2a30-IAD"}},"finding":{"outcome":"negative","summary":"Server returned 404 — Agent Skills index not found"}},{"action":"conclude","label":"Conclusion","finding":{"outcome":"negative","summary":"Agent Skills index not found"}}],"durationMs":82},"webMcp":{"status":"fail","message":"No WebMCP tools detected on page load","messageRef":{"code":"check.webMcp.noToolsDetected"},"evidence":[{"action":"parse","label":"WebMCP detection","finding":{"outcome":"neutral","summary":"Checking page for WebMCP tool registrations"}},{"action":"fetch","label":"Navigate to https://lab2.crawlcheck.io","request":{"url":"https://lab2.crawlcheck.io","method":"GET"},"finding":{"outcome":"neutral","summary":"Loading page to detect WebMCP tool registrations"}},{"action":"parse","label":"Check imperative WebMCP API","finding":{"outcome":"neutral","summary":"No tools registered via document.modelContext or navigator.modelContext"}},{"action":"conclude","label":"Conclusion","finding":{"outcome":"negative","summary":"No WebMCP tools detected on page load"}}],"durationMs":3809},"ard":{"status":"fail","message":"ARD capability manifest not found","messageRef":{"code":"check.ard.notFound"},"evidence":[{"action":"parse","label":"Extract Agentmap directives from robots.txt","finding":{"outcome":"neutral","summary":"No Agentmap directives found"}},{"action":"parse","label":"Extract <link rel=\"ai-catalog\"> from page head","finding":{"outcome":"neutral","summary":"No catalog links found"}},{"action":"fetch","label":"GET /.well-known/ai-catalog.json","request":{"url":"https://lab2.crawlcheck.io/.well-known/ai-catalog.json","method":"GET","headers":{"Accept":"application/json"}},"response":{"status":404,"statusText":"Not Found","headers":{"content-type":"text/html; charset=utf-8","cf-ray":"a551620e8b8d2a30-IAD"}},"finding":{"outcome":"negative","summary":"Server returned 404 -- ai-catalog.json not found"}},{"action":"fetch","label":"DoH TXT _catalog._agents.lab2.crawlcheck.io","request":{"url":"https://cloudflare-dns.com/dns-query?name=_catalog._agents.lab2.crawlcheck.io&type=TXT&do=1","method":"GET","headers":{"Accept":"application/dns-json"}},"response":{"status":200,"statusText":"OK","headers":{"content-type":"application/dns-json"},"bodyPreview":"{\"Status\":0,\"TC\":false,\"RD\":true,\"RA\":true,\"AD\":true,\"CD\":false,\"Question\":[{\"name\":\"_catalog._agents.lab2.crawlcheck.io\",\"type\":16}],\"Authority\":[{\"name\":\"crawlcheck.io\",\"type\":6,\"TTL\":1800,\"data\":\"hasslo.ns.cloudflare.com. dns.cloudflare.com. 2419183412 10000 2400 604800 1800\"},{\"name\":\"crawlcheck.io\",\"type\":46,\"TTL\":1800,\"data\":\"SOA 13 2 1800 1793861865 1793681865 34505 crawlcheck.io. xNVEtYLV5Tm//c7N+BIDdNi2HMWyVAcTjjrCV0m4CyleWHk/ppRJ697VvKIGwNExVy6fVNhD2DqEJakvGqEWcg==\"},{\"name\":\"_catalog...."},"finding":{"outcome":"neutral","summary":"No TXT answers (NOERROR)"}},{"action":"fetch","label":"DoH SRV _search._agents.lab2.crawlcheck.io","request":{"url":"https://cloudflare-dns.com/dns-query?name=_search._agents.lab2.crawlcheck.io&type=SRV&do=1","method":"GET","headers":{"Accept":"application/dns-json"}},"response":{"status":200,"statusText":"OK","headers":{"content-type":"application/dns-json"},"bodyPreview":"{\"Status\":0,\"TC\":false,\"RD\":true,\"RA\":true,\"AD\":true,\"CD\":false,\"Question\":[{\"name\":\"_search._agents.lab2.crawlcheck.io\",\"type\":33}],\"Authority\":[{\"name\":\"crawlcheck.io\",\"type\":6,\"TTL\":1800,\"data\":\"hasslo.ns.cloudflare.com. dns.cloudflare.com. 2419183412 10000 2400 604800 1800\"},{\"name\":\"crawlcheck.io\",\"type\":46,\"TTL\":1800,\"data\":\"SOA 13 2 1800 1793861865 1793681865 34505 crawlcheck.io. JsiMZI0zQ52zJmwfgj8axBkRtCYKCa/Esmt5CEKudoAOM/Y6f5s87sXTuIrz22zQFTAXaD4/izmud9PCAB9EUQ==\"},{\"name\":\"_search._a..."},"finding":{"outcome":"neutral","summary":"No SRV answers (NOERROR)"}},{"action":"conclude","label":"Conclusion","finding":{"outcome":"negative","summary":"ARD capability manifest not found"}}],"details":{"discoveryMechanisms":[],"searchEndpoints":[]},"durationMs":8},"personalAgentProtocol":{"status":"fail","message":"Personal Agent Protocol manifest not found","messageRef":{"code":"check.personalAgentProtocol.notFound"},"details":{"manifestDetected":false,"issuerValidation":"notChecked"},"evidence":[{"action":"fetch","label":"GET /.well-known/poppy.json","request":{"url":"https://lab2.crawlcheck.io/.well-known/poppy.json","method":"GET","headers":{"Accept":"application/json"}},"response":{"status":404,"statusText":"Not Found","headers":{"content-type":"text/html; charset=utf-8","cf-ray":"a551620e6b622a30-IAD"}}},{"action":"conclude","label":"Conclusion","finding":{"outcome":"negative","summary":"Personal Agent Protocol manifest not found"}}],"durationMs":13}},"commerce":{"x402":{"status":"neutral","message":"x402 payment protocol not detected (not a commerce site)","messageRef":{"code":"scanner.commerceCheckNotApplicable","params":{"check":"x402","original":{"code":"check.x402.notDetected"}}},"evidence":[{"action":"fetch","label":"GET /","request":{"url":"https://lab2.crawlcheck.io/","method":"GET"},"response":{"status":200,"statusText":"OK","headers":{"content-type":"text/html; charset=utf-8","cf-ray":"a551620edbe42a30-IAD"}},"finding":{"outcome":"neutral","summary":"/ returned 200 (not 402)"}},{"action":"fetch","label":"GET /api","request":{"url":"https://lab2.crawlcheck.io/api","method":"GET"},"response":{"status":404,"statusText":"Not Found","headers":{"content-type":"text/html; charset=utf-8","cf-ray":"a551620edbe52a30-IAD"}},"finding":{"outcome":"neutral","summary":"/api returned 404 (not 402)"}},{"action":"fetch","label":"GET /api/v1","request":{"url":"https://lab2.crawlcheck.io/api/v1","method":"GET"},"response":{"status":404,"statusText":"Not Found","headers":{"content-type":"text/html; charset=utf-8","cf-ray":"a551620edbe72a30-IAD"}},"finding":{"outcome":"neutral","summary":"/api/v1 returned 404 (not 402)"}},{"action":"fetch","label":"GET /platform/v2/x402/discovery/resources","request":{"url":"https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources?limit=500","method":"GET"},"response":{"status":200,"statusText":"OK","headers":{"content-type":"application/json","cf-ray":"a551620ecbdd2a30-IAD","cf-cache-status":"DYNAMIC"}}},{"action":"fetch","label":"GET Bazaar discovery API","request":{"url":"https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources?limit=500","method":"GET"},"finding":{"outcome":"negative","summary":"Network error querying Bazaar API"}},{"action":"conclude","label":"Conclusion","finding":{"outcome":"negative","summary":"x402 payment protocol not detected"}}],"durationMs":297},"mpp":{"status":"neutral","message":"MPP payment discovery not detected (not a commerce site)","messageRef":{"code":"scanner.commerceCheckNotApplicable","params":{"check":"mpp","original":{"code":"check.mpp.notDetected"}}},"evidence":[{"action":"fetch","label":"GET /openapi.json","request":{"url":"https://lab2.crawlcheck.io/openapi.json","method":"GET"},"response":{"status":404,"statusText":"Not Found","headers":{"content-type":"text/html; charset=utf-8","cf-ray":"a551620eebf42a30-IAD"}},"finding":{"outcome":"neutral","summary":"/openapi.json returned 404"}},{"action":"conclude","label":"Conclusion","finding":{"outcome":"negative","summary":"MPP payment discovery not detected"}}],"durationMs":61},"ucp":{"status":"neutral","message":"UCP profile not found (not a commerce site)","messageRef":{"code":"scanner.commerceCheckNotApplicable","params":{"check":"ucp","original":{"code":"check.ucp.notFound"}}},"evidence":[{"action":"fetch","label":"GET /.well-known/ucp","request":{"url":"https://lab2.crawlcheck.io/.well-known/ucp","method":"GET"},"response":{"status":404,"statusText":"Not Found","headers":{"content-type":"text/html; charset=utf-8","cf-ray":"a551620ecbd82a30-IAD"}},"finding":{"outcome":"negative","summary":"Server returned 404 -- UCP profile not found"}},{"action":"conclude","label":"Conclusion","finding":{"outcome":"negative","summary":"UCP profile not found"}}],"durationMs":57},"acp":{"status":"neutral","message":"ACP discovery document not found (not a commerce site)","messageRef":{"code":"scanner.commerceCheckNotApplicable","params":{"check":"acp","original":{"code":"check.acp.notFound"}}},"evidence":[{"action":"fetch","label":"GET /.well-known/acp.json","request":{"url":"https://lab2.crawlcheck.io/.well-known/acp.json","method":"GET"},"response":{"status":404,"statusText":"Not Found","headers":{"content-type":"text/html; charset=utf-8","cf-ray":"a551620eebf72a30-IAD"}},"finding":{"outcome":"negative","summary":"Server returned 404 -- ACP discovery document not found"}},{"action":"conclude","label":"Conclusion","finding":{"outcome":"negative","summary":"ACP discovery document not found"}}],"durationMs":67},"ap2":{"status":"neutral","message":"AP2 not detected (no A2A Agent Card) (not a commerce site)","messageRef":{"code":"scanner.commerceCheckNotApplicable","params":{"check":"ap2","original":{"code":"check.ap2.agentCardMissing"}}},"evidence":[{"action":"conclude","label":"Conclusion","finding":{"outcome":"negative","summary":"No A2A Agent Card found -- AP2 requires an A2A Agent Card"}}]}}},"nextLevel":{"target":2,"name":"Bot-Aware","requirements":[{"check":"contentSignals","description":"Declare AI content usage preferences with Content Signals in robots.txt","shortPrompt":"Add Content-Signal directives to your robots.txt declaring preferences for ai-train, search, and ai-input.","specUrls":["https://contentsignals.org/","https://datatracker.ietf.org/doc/draft-romm-aipref-contentsignals/"],"prompt":"Add Content-Signal directives to your robots.txt declaring preferences for ai-train, search, and ai-input. For example:\nContent-Signal: ai-train=no, search=yes, ai-input=no","skillUrl":"https://isitagentready.com/.well-known/agent-skills/content-signals/SKILL.md"}]},"isCommerce":false,"commerceSignals":[]}