{"slug":"codat-xf2kbg","companyName":"Codat","domain":"codat.io","url":"https://codat.io","headline":"0 human and 4 agent dimensions measured from the pages checked; remaining dimensions are not scored.","compositeScore":31,"humanScore":null,"agentScore":31,"doorGap":null,"humanMeasured":0,"agentMeasured":4,"percentile":null,"humanPercentile":null,"agentPercentile":null,"isPartial":true,"depth":"free","siteClass":"ecommerce","scannerVersion":49,"scannerRelease":"c49d1def936f56a5ab0871f38c5e6412433ec37a","scoringMethodologyVersion":1,"evidenceSchemaVersion":1,"benchmarkEdition":"methodology-1","scannedAt":"2026-09-10T20:15:10.013Z","unlocked":false,"mission":{"steps":[{"url":"https://codat.io","outcome":"ok","purpose":"reach the site at all"},{"url":"https://codat.io/robots.txt","outcome":"ok","purpose":"find out whether machines are welcome"},{"url":"https://codat.io","outcome":"missing","purpose":"ask whether the door opens for requests carrying the AI crawlers' names"},{"url":"https://codat.io/llms.txt","outcome":"ok","purpose":"read the site's own guide for language models"},{"url":"https://codat.io/sitemaps.xml","outcome":"ok","purpose":"find out what pages exist"},{"url":"https://codat.io/.well-known/security.txt","outcome":"missing","purpose":"find a contact route for machines"},{"url":"https://codat.io","outcome":"missing","purpose":"find an MCP manifest at the standard paths checked"},{"url":"https://codat.io/.well-known/ai-plugin.json","outcome":"missing","purpose":"find an agent plugin manifest"},{"url":"https://codat.io","outcome":"missing","purpose":"find out whether verified agents are recognised"},{"url":"https://codat.io","outcome":"ok","purpose":"read the homepage as data rather than as a page"},{"url":"https://codat.io","outcome":"missing","purpose":"find a machine readable API spec"},{"url":"https://codat.io","outcome":"ok","purpose":"read the developer documentation"},{"url":"https://codat.io","outcome":"ok","purpose":"read the product catalogue as data"},{"url":"https://codat.io","outcome":"missing","purpose":"read a product page as data"},{"url":"https://codat.io","outcome":"missing","purpose":"read the returns and shipping terms"},{"url":"https://codat.io","outcome":"missing","purpose":"discover storefront agent checkout rails"}],"verdict":"The scanner recorded successful observations for 7 of 16 checks, but could not ask whether the door opens for requests carrying the AI crawlers' names. It came up empty on 8 other checks too. 2 checks could not be measured; see the report limitations."},"observations":null,"dimensions":[{"key":"machine_discoverability","audience":"agent","score":54,"summary":"No restriction on the tested crawler names was found in robots.txt. Our browser received a refusal or a stripped page at the checked URL. No user agent rule refused the tested retrieval crawler names. A sitemap listing 26 URLs.","measurement":{"status":"observed"},"evidence":{"locked":true,"count":6}},{"key":"programmatic_onboarding","audience":"agent","score":18,"summary":"Authentication is documented.","measurement":{"status":"observed"},"evidence":{"locked":true,"count":3}},{"key":"pricing_legibility","audience":"agent","score":null,"summary":"Not measured: our scanner could not identify the required evidence on the pages checked.","measurement":{"reason":"unsupported_detection","status":"unmeasured"},"evidence":{"locked":true,"count":0}},{"key":"agent_aware_instrumentation","audience":"agent","score":13,"summary":"No MCP manifest was identified at the discovery paths checked. WooCommerce was detected; no checkout discovery interface was identified at the endpoints checked.","measurement":{"status":"observed"},"evidence":{"locked":true,"count":5}},{"key":"machine_fetchable_trust","audience":"agent","score":40,"summary":"No security.txt was identified at the checked path. The homepage answers automated requests.","measurement":{"status":"observed"},"evidence":{"locked":true,"count":3}},{"key":"commercial_rails","audience":"agent","score":null,"summary":"Not measured: an access refusal or challenge prevented our scanner from reading the required page.","measurement":{"reason":"access_challenge","status":"unmeasured"},"evidence":{"locked":true,"count":0}},{"key":"steps_to_first_value","audience":"human","score":null,"summary":"Not measured: an access refusal or challenge prevented our scanner from reading the required page.","measurement":{"reason":"access_challenge","status":"unmeasured"},"evidence":{"locked":true,"count":0}},{"key":"required_fields","audience":"human","score":null,"summary":"Not measured: an access refusal or challenge prevented our scanner from reading the required page.","measurement":{"reason":"access_challenge","status":"unmeasured"},"evidence":{"locked":true,"count":0}},{"key":"verification_walls","audience":"human","score":null,"summary":"Not measured: an access refusal or challenge prevented our scanner from reading the required page.","measurement":{"reason":"access_challenge","status":"unmeasured"},"evidence":{"locked":true,"count":0}},{"key":"error_recovery","audience":"human","score":null,"summary":"Not measured: an access refusal or challenge prevented our scanner from reading the required page.","measurement":{"reason":"access_challenge","status":"unmeasured"},"evidence":{"locked":true,"count":0}}],"issues":[{"rank":1,"title":"No valid security.txt was identified at /.well-known/security.txt.","dimensionKey":"machine_fetchable_trust","evidence":{"locked":true,"count":2},"fix":null},{"rank":2,"title":"No OpenAPI specification was identified at the 6 standard paths checked.","dimensionKey":"programmatic_onboarding","evidence":{"locked":true,"count":3},"fix":null}],"fixArtifacts":{"locked":true,"count":6,"summaries":[{"id":"bot_wall_guidance:notes","kind":"bot_wall_guidance","title":"Let verified assistants through","path":"notes","effort":{"minutes":60,"role":"developer"},"outcome":{"dimension":"machine_discoverability","external":["The owner can investigate the recorded endpoint refusal and verify a specific response change."]}},{"id":"product_jsonld:products-spend-insights","kind":"product_jsonld","title":"Product markup skeleton","path":"/products/spend-insights/","effort":{"minutes":120,"role":"developer"},"outcome":{"dimension":"pricing_legibility","external":["A subsequent scan checks price, availability and identifiers on its sampled product pages."]}},{"id":"agent_checkout_note:notes","kind":"agent_checkout_note","title":"Agent checkout: where you stand","path":"notes","effort":{"minutes":10,"role":"owner"},"outcome":{"dimension":"agent_aware_instrumentation","external":["The checkout rail question is settled with the platform and processor before any manifest is published."]}},{"id":"organization_jsonld:homepage","kind":"organization_jsonld","title":"Organization structured data","path":"homepage","effort":{"minutes":15,"role":"developer"},"outcome":{"dimension":"machine_discoverability","external":["The homepage publishes the reviewed company entity as structured data."]}},{"id":"security_txt:well-known-security-txt","kind":"security_txt","title":"security.txt","path":"/.well-known/security.txt","effort":{"minutes":10,"role":"owner"},"outcome":{"dimension":"machine_fetchable_trust","external":["Researchers and automated scanners find a disclosure address instead of guessing one."]}},{"id":"interfaces_note:notes","kind":"interfaces_note","title":"Machine interfaces: where you stand","path":"notes","effort":{"minutes":10,"role":"owner"},"outcome":{"dimension":"agent_aware_instrumentation","external":["The developer surface is built in an order where every published pointer answers."]}}]},"feedback":{"endpoint":"/api/feedback","mcpTool":"rate_fix","targets":[{"type":"report","key":"report"},{"type":"dimension","dimensionKey":"machine_discoverability","key":"dimension:machine_discoverability"},{"type":"dimension","dimensionKey":"programmatic_onboarding","key":"dimension:programmatic_onboarding"},{"type":"dimension","dimensionKey":"pricing_legibility","key":"dimension:pricing_legibility"},{"type":"dimension","dimensionKey":"agent_aware_instrumentation","key":"dimension:agent_aware_instrumentation"},{"type":"dimension","dimensionKey":"machine_fetchable_trust","key":"dimension:machine_fetchable_trust"},{"type":"dimension","dimensionKey":"commercial_rails","key":"dimension:commercial_rails"},{"type":"dimension","dimensionKey":"steps_to_first_value","key":"dimension:steps_to_first_value"},{"type":"dimension","dimensionKey":"required_fields","key":"dimension:required_fields"},{"type":"dimension","dimensionKey":"verification_walls","key":"dimension:verification_walls"},{"type":"dimension","dimensionKey":"error_recovery","key":"dimension:error_recovery"},{"type":"issue","dimensionKey":"machine_fetchable_trust","checkId":"security_txt","key":"issue:machine_fetchable_trust:security_txt"},{"type":"issue","dimensionKey":"programmatic_onboarding","checkId":"openapi","key":"issue:programmatic_onboarding:openapi"}]}}