{"slug":"kosas-5x2jap","companyName":"Kosas Cosmetics","domain":"kosas.com","url":"https://kosas.com","headline":"A Shopify storefront with product data and UCP checkout support, but no structured pricing on product pages forces agents to scrape.","compositeScore":64,"humanScore":77,"agentScore":51,"doorGap":26,"humanMeasured":4,"agentMeasured":6,"percentile":null,"humanPercentile":null,"agentPercentile":null,"isPartial":false,"depth":"free","siteClass":"ecommerce","scannerVersion":12,"scannedAt":"2026-09-08T14:47:14.495Z","unlocked":false,"mission":{"steps":[{"url":"https://kosas.com","outcome":"ok","purpose":"reach the site at all"},{"url":"https://kosas.com/robots.txt","outcome":"ok","purpose":"find out whether machines are welcome"},{"url":"https://kosas.com","outcome":"ok","purpose":"ask whether the door opens for requests carrying the AI crawlers' names"},{"url":"https://kosas.com/llms.txt","outcome":"ok","purpose":"read the site's own guide for language models"},{"url":"https://kosas.com/sitemap.xml","outcome":"ok","purpose":"find out what pages exist"},{"url":"https://kosas.com/.well-known/security.txt","outcome":"missing","purpose":"find a contact route for machines"},{"url":"https://kosas.com","outcome":"missing","purpose":"find a published agent interface"},{"url":"https://kosas.com/.well-known/ai-plugin.json","outcome":"missing","purpose":"find an agent plugin manifest"},{"url":"https://kosas.com","outcome":"missing","purpose":"find out whether verified agents are recognised"},{"url":"https://kosas.com","outcome":"ok","purpose":"read the homepage as data rather than as a page"},{"url":"https://kosas.com","outcome":"missing","purpose":"find a machine readable API spec"},{"url":"https://kosas.com","outcome":"missing","purpose":"read the developer documentation"},{"url":"https://kosas.com","outcome":"ok","purpose":"read the prices without running JavaScript"},{"url":"https://kosas.com","outcome":"ok","purpose":"read the product catalogue as data"},{"url":"https://kosas.com","outcome":"missing","purpose":"read a product page as data"},{"url":"https://kosas.com","outcome":"ok","purpose":"read the returns and shipping terms"},{"url":"https://kosas.com","outcome":"ok","purpose":"walk the way a visitor would, to a signup form or a product"}],"verdict":"The agent got through 10 of 17 requests, but could not find a contact route for machines. It came up empty on 6 other checks too."},"observations":null,"dimensions":[{"key":"machine_discoverability","audience":"agent","score":100,"summary":"No AI crawler is blocked by robots.txt or user agent rules. The site publishes llms.txt, a sitemap with 71 URLs including product pages, and serves all key pages to automated clients without JavaScript.","evidence":{"locked":true,"count":4}},{"key":"programmatic_onboarding","audience":"agent","score":10,"summary":"No API documentation is linked from the homepage or published at standard paths. The site offers no OpenAPI spec, no developer guide, and no way for an agent to learn how to transact without reading the UCP manifest directly.","evidence":{"locked":true,"count":3}},{"key":"pricing_legibility","audience":"agent","score":45,"summary":"Prices appear in raw HTML on product pages: 53 prices across the 3 pages checked. However, no Product structured data carries price, currency, or availability on any page read.","evidence":{"locked":true,"count":2}},{"key":"agent_aware_instrumentation","audience":"agent","score":49,"summary":"A Universal Commerce Protocol manifest at version 2026-08-25 is published, declaring 8 capabilities and 3 payment handlers. A storefront MCP endpoint answers agent calls.","evidence":{"locked":true,"count":4}},{"key":"machine_fetchable_trust","audience":"agent","score":65,"summary":"The returns policy and shipping policy both read as plain text and are linked from product pages. No security.txt is published at /.well-known/security.txt. The homepage and product pages serve to automated clients without blocking.","evidence":{"locked":true,"count":3}},{"key":"commercial_rails","audience":"agent","score":35,"summary":"The catalogue at /products.json includes brand and product handles, enabling feed construction. A UCP manifest publishes checkout capabilities. Returns and shipping policies read as text.","evidence":{"locked":true,"count":4}},{"key":"steps_to_first_value","audience":"human","score":95,"summary":"A product with visible price ($80) and an add-to-cart control is reachable in 2 steps from the homepage. No account is required to proceed to checkout. PayPal and Afterpay wallets are available.","evidence":{"locked":true,"count":1}},{"key":"required_fields","audience":"human","score":80,"summary":"The product page does not require an account before adding to cart. Two express wallet options (PayPal, Afterpay) allow checkout without filling any form fields at all.","evidence":{"locked":true,"count":1}},{"key":"verification_walls","audience":"human","score":75,"summary":"No sign-in requirement blocks access to the product page or the add-to-cart action. The page does not demand email verification or account creation before purchase.","evidence":{"locked":true,"count":1}},{"key":"error_recovery","audience":"human","score":58,"summary":"Of 2 form inputs observed on the product page, 1 carries a validation constraint. No inline error containers or live regions guide correction. Recovery from validation failure is not instrumented.","evidence":{"locked":true,"count":1}}],"issues":[{"rank":1,"title":"The product pages carry no Product structured data, so an assistant must scrape the page to learn a price, and cannot learn availability or an identifier at all.","dimensionKey":"pricing_legibility","evidence":{"locked":true,"count":2},"fix":null},{"rank":2,"title":"Product pages publish prices in HTML text only, with no structured data markup, forcing agents to scrape instead of reading schema.org.","dimensionKey":"pricing_legibility","evidence":{"locked":true,"count":3},"fix":null},{"rank":3,"title":"No API documentation is published, leaving agents to discover the UCP manifest by trial rather than by reading a guide.","dimensionKey":"programmatic_onboarding","evidence":{"locked":true,"count":3},"fix":null}],"fixArtifacts":{"locked":true,"count":11,"summaries":[{"id":"product_jsonld:products-good-angles-set","kind":"product_jsonld","title":"Product markup for Good Angles Set","path":"/products/good-angles-set","effort":{"minutes":30,"role":"developer"},"outcome":{"dimension":"pricing_legibility","external":["Assistants read price, availability and identifiers from every sampled product page."]}},{"id":"product_jsonld:products-mini-lip-pulse-gift","kind":"product_jsonld","title":"Product markup for Mini Lip Pulse Gift","path":"/products/mini-lip-pulse-gift","effort":{"minutes":30,"role":"developer"},"outcome":{"dimension":"pricing_legibility","external":["Assistants read price, availability and identifiers from every sampled product page."]}},{"id":"product_jsonld:products-tinted-skincare-lineup-dreambeam","kind":"product_jsonld","title":"Product markup for Tinted Skincare Lineup™ Set","path":"/products/tinted-skincare-lineup-dreambeam","effort":{"minutes":30,"role":"developer"},"outcome":{"dimension":"pricing_legibility","external":["Assistants read price, availability and identifiers from every sampled product page."]}},{"id":"product_jsonld_liquid:snippets-seconddoor-product-jsonld-liquid","kind":"product_jsonld_liquid","title":"Product markup snippet for every product page","path":"snippets/seconddoor-product-jsonld.liquid","effort":{"minutes":30,"role":"developer"},"outcome":{"dimension":"pricing_legibility","external":["Every Shopify product page carries complete Product markup, not only the sampled ones."]}},{"id":"review_schema_vendor:notes","kind":"review_schema_vendor","title":"Put Okendo reviews in the page","path":"notes","effort":{"minutes":10,"role":"owner"},"outcome":{"dimension":"machine_discoverability","external":["Review text and ratings reach crawlers that do not run the review widget's script."]}},{"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":"merchant_policy_jsonld:product-page","kind":"merchant_policy_jsonld","title":"Return policy and shipping structured data","path":"product page","effort":{"minutes":30,"role":"developer"},"outcome":{"dimension":"machine_fetchable_trust","external":["Assistants read the return window and shipping terms from structured data."]}},{"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":["Feed listings stop being rejected for a missing brand or GTIN."]}},{"id":"product_feed_openai:openai-product-feed-tsv","kind":"product_feed_openai","title":"OpenAI product feed","path":"openai-product-feed.tsv","effort":{"minutes":20,"role":"owner"},"outcome":{"dimension":"commercial_rails","external":["The catalogue can be submitted to the OpenAI product feed."]}},{"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":"pricing_legibility","checkId":"product_pages","key":"issue:pricing_legibility:product_pages"},{"type":"issue","dimensionKey":"pricing_legibility","checkId":null,"key":"issue:pricing_legibility:-"},{"type":"issue","dimensionKey":"programmatic_onboarding","checkId":null,"key":"issue:programmatic_onboarding:-"}]}}