{"slug":"versedskin-b7eqmd","companyName":"Versed Skin","domain":"versedskin.com","url":"https://versedskin.com","headline":"A Shopify storefront with strong product data and agent checkout support, but no API documentation and reviews locked behind JavaScript.","compositeScore":69,"humanScore":71,"agentScore":66,"doorGap":5,"humanMeasured":4,"agentMeasured":6,"percentile":null,"humanPercentile":null,"agentPercentile":null,"isPartial":false,"depth":"free","siteClass":"ecommerce","scannerVersion":12,"scannedAt":"2026-09-08T14:16:28.218Z","unlocked":false,"mission":{"steps":[{"url":"https://versedskin.com","outcome":"ok","purpose":"reach the site at all"},{"url":"https://versedskin.com/robots.txt","outcome":"ok","purpose":"find out whether machines are welcome"},{"url":"https://versedskin.com","outcome":"ok","purpose":"ask whether the door opens for requests carrying the AI crawlers' names"},{"url":"https://versedskin.com/llms.txt","outcome":"ok","purpose":"read the site's own guide for language models"},{"url":"https://versedskin.com/sitemap.xml","outcome":"ok","purpose":"find out what pages exist"},{"url":"https://versedskin.com/.well-known/security.txt","outcome":"missing","purpose":"find a contact route for machines"},{"url":"https://versedskin.com","outcome":"missing","purpose":"find a published agent interface"},{"url":"https://versedskin.com/.well-known/ai-plugin.json","outcome":"missing","purpose":"find an agent plugin manifest"},{"url":"https://versedskin.com","outcome":"missing","purpose":"find out whether verified agents are recognised"},{"url":"https://versedskin.com","outcome":"ok","purpose":"read the homepage as data rather than as a page"},{"url":"https://versedskin.com","outcome":"missing","purpose":"find a machine readable API spec"},{"url":"https://versedskin.com","outcome":"missing","purpose":"read the developer documentation"},{"url":"https://versedskin.com","outcome":"ok","purpose":"read the prices without running JavaScript"},{"url":"https://versedskin.com","outcome":"ok","purpose":"read the product catalogue as data"},{"url":"https://versedskin.com","outcome":"ok","purpose":"read a product page as data"},{"url":"https://versedskin.com","outcome":"ok","purpose":"read the returns and shipping terms"},{"url":"https://versedskin.com","outcome":"ok","purpose":"walk the way a visitor would, to a signup form or a product"}],"verdict":"The agent got through 11 of 17 requests, but could not find a contact route for machines. It came up empty on 5 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 62 URLs including product pages, and 3 schema.org types on the homepage.","evidence":{"locked":true,"count":4}},{"key":"programmatic_onboarding","audience":"agent","score":10,"summary":"No API documentation is linked from the homepage or discoverable in the raw HTML. No OpenAPI spec exists at any of the 6 standard paths checked. The site publishes a UCP manifest for agent checkout, but an agent cannot learn how to.","evidence":{"locked":true,"count":3}},{"key":"pricing_legibility","audience":"agent","score":83,"summary":"38 prices appear in the homepage HTML and 113 prices across the 3 product pages checked, all readable without JavaScript. Product structured data carries price and currency on every page. Availability is published.","evidence":{"locked":true,"count":2}},{"key":"agent_aware_instrumentation","audience":"agent","score":57,"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. The catalogue answers as data at /products.json.","evidence":{"locked":true,"count":4}},{"key":"machine_fetchable_trust","audience":"agent","score":65,"summary":"No security.txt is published at /.well-known/security.txt. The returns policy and shipping policy both read as plain text at their policy URLs, though neither is embedded in product page structured data.","evidence":{"locked":true,"count":3}},{"key":"commercial_rails","audience":"agent","score":80,"summary":"Product markup carries price, currency, identifier and brand. The catalogue answers as data at /products.json, ready for feed syndication. 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 its price ($40) and an add-to-cart control is reached in 2 steps from the homepage. No variant selection is required. The product page renders in a real browser without blocking.","evidence":{"locked":true,"count":1}},{"key":"required_fields","audience":"human","score":80,"summary":"The product page does not demand an account before adding to cart. Two express wallets, PayPal and Afterpay, are available and skip the form entirely. The entry path walk found no account requirement blocking the add-to-cart action.","evidence":{"locked":true,"count":1}},{"key":"verification_walls","audience":"human","score":75,"summary":"No sign-in requirement appears on the product page before purchase. The entry path walk confirmed that a guest can add a product to the cart. Email verification or account creation may occur at checkout, which was not walked.","evidence":{"locked":true,"count":1}},{"key":"error_recovery","audience":"human","score":35,"summary":"Of the 5 inputs on the product page, 0 carry validation rules, descriptions or live error regions. The page has 17 live regions but no inline error containers, so validation feedback is not visible inline if it occurs.","evidence":{"locked":true,"count":1}}],"issues":[{"rank":1,"title":"The visible price on the product page differs from the structured price, creating ambiguity about which value is current.","dimensionKey":"pricing_legibility","evidence":{"locked":true,"count":3},"fix":null},{"rank":2,"title":"No security.txt is published, so a machine has no documented route to report a problem.","dimensionKey":"machine_fetchable_trust","evidence":{"locked":true,"count":1},"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":11,"summaries":[{"id":"product_jsonld:products-daily-routine","kind":"product_jsonld","title":"Product markup for Daily Routine","path":"/products/daily-routine","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-day-dissolve-daily-gel-cleanser","kind":"product_jsonld","title":"Product markup for Day Dissolve","path":"/products/day-dissolve-daily-gel-cleanser","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-glass-skin-duo-1","kind":"product_jsonld","title":"Product markup for Face","path":"/products/glass-skin-duo-1","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":"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":["Feed listings stop being rejected for a missing brand or GTIN."]}},{"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":"machine_fetchable_trust","checkId":"security_txt","key":"issue:machine_fetchable_trust:security_txt"},{"type":"issue","dimensionKey":"programmatic_onboarding","checkId":"api_surface","key":"issue:programmatic_onboarding:api_surface"}]}}