{"slug":"boka-643auj","companyName":"Boka","domain":"boka.com","url":"https://boka.com","headline":"0 human and 6 agent dimensions measured from the pages checked; remaining dimensions are not scored.","compositeScore":75,"humanScore":null,"agentScore":75,"doorGap":null,"humanMeasured":0,"agentMeasured":6,"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:01:01.639Z","unlocked":false,"mission":{"steps":[{"url":"https://www.boka.com","outcome":"ok","purpose":"reach the site at all"},{"url":"https://www.boka.com/robots.txt","outcome":"ok","purpose":"find out whether machines are welcome"},{"url":"https://www.boka.com","outcome":"missing","purpose":"ask whether the door opens for requests carrying the AI crawlers' names"},{"url":"https://www.boka.com/llms.txt","outcome":"ok","purpose":"read the site's own guide for language models"},{"url":"https://www.boka.com/sitemap.xml","outcome":"ok","purpose":"find out what pages exist"},{"url":"https://www.boka.com/.well-known/security.txt","outcome":"missing","purpose":"find a contact route for machines"},{"url":"https://www.boka.com","outcome":"missing","purpose":"find an MCP manifest at the standard paths checked"},{"url":"https://www.boka.com/.well-known/ai-plugin.json","outcome":"missing","purpose":"find an agent plugin manifest"},{"url":"https://www.boka.com","outcome":"missing","purpose":"find out whether verified agents are recognised"},{"url":"https://www.boka.com","outcome":"ok","purpose":"read the homepage as data rather than as a page"},{"url":"https://www.boka.com","outcome":"missing","purpose":"find a machine readable API spec"},{"url":"https://www.boka.com","outcome":"missing","purpose":"read the developer documentation"},{"url":"https://www.boka.com","outcome":"ok","purpose":"read the prices without running JavaScript"},{"url":"https://www.boka.com","outcome":"ok","purpose":"read the product catalogue as data"},{"url":"https://www.boka.com","outcome":"ok","purpose":"read a product page as data"},{"url":"https://www.boka.com","outcome":"ok","purpose":"read the returns and shipping terms"},{"url":"https://www.boka.com","outcome":"ok","purpose":"discover storefront agent checkout rails"},{"url":"https://www.boka.com/products/bubble-gum-n-ha-toothpaste","outcome":"missing","purpose":"walk the way a visitor would, to a signup form or a product"}],"verdict":"The scanner recorded successful observations for 10 of 18 checks, but could not ask whether the door opens for requests carrying the AI crawlers' names. It came up empty on 7 other checks too."},"observations":null,"dimensions":[{"key":"machine_discoverability","audience":"agent","score":100,"summary":"No restriction on the tested crawler names was found in robots.txt. On its first visit, our browser read the homepage. Our client was refused when declaring 2 AI crawlers that robots.txt welcomes.","measurement":{"status":"observed"},"evidence":{"locked":true,"count":7}},{"key":"programmatic_onboarding","audience":"agent","score":30,"summary":"No general API documentation or OpenAPI specification was identified through the paths checked. A storefront MCP endpoint answered the tested tools/list discovery request; authentication and use were not tested.","measurement":{"status":"observed"},"evidence":{"locked":true,"count":4}},{"key":"pricing_legibility","audience":"agent","score":83,"summary":"Product-associated price evidence was identified in the HTTP responses from the 3 product pages checked. Product structured data publishes price and currency, so an agent can parse cost without scraping. Availability is published too.","measurement":{"status":"observed"},"evidence":{"locked":true,"count":3}},{"key":"agent_aware_instrumentation","audience":"agent","score":57,"summary":"No MCP manifest was identified at the discovery paths checked. A Universal Commerce Protocol manifest is published. A storefront MCP endpoint answered the tested tools/list request. The catalogue answers as data at /products.json.","measurement":{"status":"observed"},"evidence":{"locked":true,"count":6}},{"key":"machine_fetchable_trust","audience":"agent","score":77,"summary":"No security.txt was identified at the checked path. The returns policy reads as text. The shipping policy reads as text. The return policy is published in structured data. Shipping terms are published in structured data.","measurement":{"status":"observed"},"evidence":{"locked":true,"count":3}},{"key":"commercial_rails","audience":"agent","score":100,"summary":"Product markup carries price and currency. Products carry an identifier. The catalogue answers as data, which a feed can be built from. A Shopify storefront; product identifier and brand coverage were checked.","measurement":{"status":"observed"},"evidence":{"locked":true,"count":6}},{"key":"steps_to_first_value","audience":"human","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":"required_fields","audience":"human","score":null,"summary":"Not measured: this scan did not reach the page or action needed to verify it.","measurement":{"reason":"not_reached","status":"unmeasured"},"evidence":{"locked":true,"count":0}},{"key":"verification_walls","audience":"human","score":null,"summary":"Not measured: this read-only scan did not submit the form or perform the action needed to test this behavior.","measurement":{"reason":"action_not_tested","status":"unmeasured"},"evidence":{"locked":true,"count":0}},{"key":"error_recovery","audience":"human","score":null,"summary":"Not measured: this read-only scan did not submit the form or perform the action needed to test this behavior.","measurement":{"reason":"action_not_tested","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}],"fixArtifacts":{"locked":true,"count":5,"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_liquid:snippets-seconddoor-product-jsonld-liquid","kind":"product_jsonld_liquid","title":"Complete the merchant fields in product markup","path":"snippets/seconddoor-product-jsonld.liquid","effort":{"minutes":30,"role":"developer"},"outcome":{"dimension":"pricing_legibility","external":["The shared product template emits markup; verify representative products and variants after deployment."]}},{"id":"policy_pages_text:notes","kind":"policy_pages_text","title":"Link the policy pages from the product page","path":"notes","effort":{"minutes":30,"role":"owner"},"outcome":{"dimension":"machine_fetchable_trust","external":["Returns and shipping pages read as text and are linked from every product page."]}},{"id":"catalog_identifiers:catalog-identifiers-csv","kind":"catalog_identifiers","title":"Variants missing a GTIN or a brand","path":"catalog-identifiers.csv","effort":{"minutes":5,"role":"owner"},"outcome":{"dimension":"machine_discoverability","external":["Sampled identifier gaps are documented for review against the chosen feed requirements."]}},{"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."]}}]},"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"}]}}