{"slug":"ouraring-dmzn55","companyName":"Oura Ring","domain":"ouraring.com","url":"https://ouraring.com","headline":"A wearable retailer with prices visible but no product pages discoverable, blocking both agent and human shoppers from reaching checkout.","compositeScore":34,"humanScore":0,"agentScore":34,"doorGap":0,"humanMeasured":0,"agentMeasured":5,"percentile":null,"humanPercentile":null,"agentPercentile":null,"isPartial":true,"depth":"free","siteClass":"ecommerce","scannerVersion":16,"scannedAt":"2026-09-08T20:10:58.218Z","unlocked":false,"mission":{"steps":[{"url":"https://ouraring.com","outcome":"ok","purpose":"reach the site at all"},{"url":"https://ouraring.com/robots.txt","outcome":"ok","purpose":"find out whether machines are welcome"},{"url":"https://ouraring.com","outcome":"ok","purpose":"ask whether the door opens for requests carrying the AI crawlers' names"},{"url":"https://ouraring.com/llms.txt","outcome":"missing","purpose":"read the site's own guide for language models"},{"url":"https://ouraring.com/sitemap.xml","outcome":"ok","purpose":"find out what pages exist"},{"url":"https://ouraring.com/.well-known/security.txt","outcome":"missing","purpose":"find a contact route for machines"},{"url":"https://ouraring.com","outcome":"missing","purpose":"find a published agent interface"},{"url":"https://ouraring.com/.well-known/ai-plugin.json","outcome":"missing","purpose":"find an agent plugin manifest"},{"url":"https://ouraring.com","outcome":"missing","purpose":"find out whether verified agents are recognised"},{"url":"https://ouraring.com","outcome":"ok","purpose":"read the homepage as data rather than as a page"},{"url":"https://ouraring.com","outcome":"missing","purpose":"find a machine readable API spec"},{"url":"https://ouraring.com","outcome":"missing","purpose":"read the developer documentation"},{"url":"https://ouraring.com","outcome":"ok","purpose":"read the prices without running JavaScript"},{"url":"https://ouraring.com","outcome":"missing","purpose":"read the product catalogue as data"},{"url":"https://ouraring.com","outcome":"ok","purpose":"read a product page as data"},{"url":"https://ouraring.com","outcome":"missing","purpose":"read the returns and shipping terms"},{"url":"https://ouraring.com","outcome":"ok","purpose":"walk the way a visitor would, to a signup form or a product"}],"verdict":"The agent got through 8 of 17 requests, but could not read the site's own guide for language models. It came up empty on 8 other checks too. That is enough missing for a machine to give up before it reaches a purchase."},"observations":null,"dimensions":[{"key":"machine_discoverability","audience":"agent","score":77,"summary":"Robots.txt allows all major AI crawlers by name, a real browser is served normally, and a sitemap declares 80 URLs. However, no product pages could be found from the sitemap, homepage links, or a product feed, so the catalogue itself.","evidence":{"locked":true,"count":4}},{"key":"programmatic_onboarding","audience":"agent","score":10,"summary":"No API surface exists. The developer documentation at /developer contains 25,100 characters of text but no API credentials, endpoints, code samples, or authentication details.","evidence":{"locked":true,"count":3}},{"key":"pricing_legibility","audience":"agent","score":35,"summary":"15 prices appear in the homepage HTML, but they are not attached to product pages or structured data. No product pages were reachable to verify whether prices carry currency, availability, or validity dates.","evidence":{"locked":true,"count":2}},{"key":"agent_aware_instrumentation","audience":"agent","score":8,"summary":"No MCP manifest exists at any of the three standard paths checked. No UCP manifest, commerce platform detection, or agent checkout route was found. The site publishes no machine-readable instructions for agents to follow.","evidence":{"locked":true,"count":4}},{"key":"machine_fetchable_trust","audience":"agent","score":40,"summary":"No security.txt file is published at /.well-known/security.txt. The homepage responds to automated requests, but no trust signals, vulnerability disclosure policy, or security contact information are machine-readable.","evidence":{"locked":true,"count":3}},{"key":"commercial_rails","audience":"agent","score":null,"summary":"Could not verify: this scan did not reach the pages that would show it.","evidence":{"locked":true,"count":4}},{"key":"steps_to_first_value","audience":"human","score":null,"summary":"Could not verify: this scan did not reach the pages that would show it.","evidence":{"locked":true,"count":1}},{"key":"required_fields","audience":"human","score":null,"summary":"Could not verify: this scan did not reach the pages that would show it.","evidence":{"locked":true,"count":1}},{"key":"verification_walls","audience":"human","score":null,"summary":"Could not verify: this scan did not reach the pages that would show it.","evidence":{"locked":true,"count":1}},{"key":"error_recovery","audience":"human","score":null,"summary":"Could not verify: this scan did not reach the pages that would show it.","evidence":{"locked":true,"count":1}}],"issues":[{"rank":1,"title":"No MCP manifest was found at the 3 standard paths checked, so an agent has no published machine door to this site.","dimensionKey":"agent_aware_instrumentation","evidence":{"locked":true,"count":2},"fix":null},{"rank":2,"title":"No OpenAPI specification was found at the 6 standard paths checked, so a client must be written from prose instead of generated.","dimensionKey":"programmatic_onboarding","evidence":{"locked":true,"count":2},"fix":null},{"rank":3,"title":"No developer documentation is linked from the homepage, in raw HTML or the rendered page, so integration starts with a search engine.","dimensionKey":"programmatic_onboarding","evidence":{"locked":true,"count":1},"fix":null}],"fixArtifacts":{"locked":true,"count":8,"summaries":[{"id":"robots_search_bots:robots-txt","kind":"robots_search_bots","title":"robots.txt rules for AI crawlers","path":"/robots.txt","effort":{"minutes":10,"role":"owner"},"outcome":{"dimension":"machine_discoverability","external":["The assistants' search crawlers read and cite the site to buyers; training stays the owner's decision."]}},{"id":"policy_pages_text:returns","kind":"policy_pages_text","title":"Returns and refunds page","path":"/returns","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":"policy_pages_text:shipping","kind":"policy_pages_text","title":"Shipping and delivery page","path":"/shipping","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":"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":["Search and assistant crawlers read the company entity from the homepage rather than inferring it."]}},{"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."]}},{"id":"llms_txt:llms-txt","kind":"llms_txt","title":"llms.txt","path":"/llms.txt","effort":{"minutes":15,"role":"owner"},"outcome":{"dimension":"machine_discoverability","external":["Assistants that read llms.txt get a curated map of the site instead of guessing from the homepage."]}}]},"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":"agent_aware_instrumentation","checkId":"mcp_manifest","key":"issue:agent_aware_instrumentation:mcp_manifest"},{"type":"issue","dimensionKey":"programmatic_onboarding","checkId":"openapi","key":"issue:programmatic_onboarding:openapi"},{"type":"issue","dimensionKey":"programmatic_onboarding","checkId":"api_surface","key":"issue:programmatic_onboarding:api_surface"}]}}