{"slug":"ouraring-vh74n3","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":15,"scannedAt":"2026-09-08T19:36:39.587Z","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 page was fetched and contains 25,100 characters of text but shows no credentials, endpoints, code samples, or authentication documentation.","evidence":{"locked":true,"count":3}},{"key":"pricing_legibility","audience":"agent","score":35,"summary":"15 prices appear in the homepage HTML itself, ranging from $0.60 to $10 and including some in KR currency. However, no product pages were reachable to verify whether prices carry currency codes, availability status, or return and shipping.","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 paid crawl signals were found. An agent has no published route to integrate with this storefront.","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 with HTTP 200 and serves content normally to a browser.","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 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},{"rank":3,"title":"The /developer page publishes no API credentials, endpoints, code samples, or authentication documentation.","dimensionKey":"programmatic_onboarding","evidence":{"locked":true,"count":3},"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":"api_surface","key":"issue:programmatic_onboarding:api_surface"},{"type":"issue","dimensionKey":"programmatic_onboarding","checkId":null,"key":"issue:programmatic_onboarding:-"}]}}