{"slug":"graza-9ffjqj","companyName":"Graza","domain":"graza.co","url":"https://graza.co","headline":"A Shopify storefront with open product data but no checkout integration for agents, and reviews locked behind JavaScript.","compositeScore":54,"humanScore":0,"agentScore":54,"doorGap":0,"humanMeasured":0,"agentMeasured":6,"percentile":null,"humanPercentile":null,"agentPercentile":null,"isPartial":true,"depth":"free","siteClass":"ecommerce","scannerVersion":16,"scannedAt":"2026-09-08T20:01:59.950Z","unlocked":false,"mission":{"steps":[{"url":"https://graza.co","outcome":"ok","purpose":"reach the site at all"},{"url":"https://graza.co/robots.txt","outcome":"ok","purpose":"find out whether machines are welcome"},{"url":"https://graza.co","outcome":"ok","purpose":"ask whether the door opens for requests carrying the AI crawlers' names"},{"url":"https://graza.co/llms.txt","outcome":"ok","purpose":"read the site's own guide for language models"},{"url":"https://www.graza.co/sitemap.xml","outcome":"ok","purpose":"find out what pages exist"},{"url":"https://graza.co/.well-known/security.txt","outcome":"missing","purpose":"find a contact route for machines"},{"url":"https://graza.co","outcome":"missing","purpose":"find a published agent interface"},{"url":"https://graza.co/.well-known/ai-plugin.json","outcome":"missing","purpose":"find an agent plugin manifest"},{"url":"https://graza.co","outcome":"missing","purpose":"find out whether verified agents are recognised"},{"url":"https://graza.co","outcome":"ok","purpose":"read the homepage as data rather than as a page"},{"url":"https://graza.co","outcome":"missing","purpose":"find a machine readable API spec"},{"url":"https://graza.co","outcome":"ok","purpose":"read the prices without running JavaScript"},{"url":"https://graza.co","outcome":"ok","purpose":"read the product catalogue as data"},{"url":"https://graza.co","outcome":"ok","purpose":"read a product page as data"}],"verdict":"The agent got through 9 of 14 requests, but could not find a contact route for machines. It came up empty on 4 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; ChatGPT, Claude, Gemini and Perplexity are explicitly allowed. The homepage serves 2000 characters to a real browser, the sitemap lists 37 URLs including products, and llms.txt is.","evidence":{"locked":true,"count":4}},{"key":"programmatic_onboarding","audience":"agent","score":10,"summary":"No API documentation, OpenAPI spec, or integration surface was found at any of the 6 standard paths checked. The site publishes product data as JSON but offers no programmatic way for an agent to place an order or manage a transaction.","evidence":{"locked":true,"count":1}},{"key":"pricing_legibility","audience":"agent","score":90,"summary":"Prices are embedded in the raw HTML of every product page and the homepage, so an agent can read cost without JavaScript. Product structured data carries price in USD and currency code. Availability is published.","evidence":{"locked":true,"count":2}},{"key":"agent_aware_instrumentation","audience":"agent","score":14,"summary":"No MCP manifest exists at any of the 3 standard paths checked. The catalogue does answer as JSON at /products.json, which is the only machine-readable instrumentation present. No AI plugin manifest or Web Bot Auth signals were found.","evidence":{"locked":true,"count":4}},{"key":"machine_fetchable_trust","audience":"agent","score":40,"summary":"The homepage and all key pages are served to automated clients without blocking. No security.txt file is published at /.well-known/security.txt, so no contact or vulnerability disclosure policy is machine-readable.","evidence":{"locked":true,"count":2}},{"key":"commercial_rails","audience":"agent","score":70,"summary":"Product markup carries price, currency, GTIN, brand, and availability. The catalogue is readable as JSON. Shopify Catalog can syndicate these products to shopping agents.","evidence":{"locked":true,"count":3}},{"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":0}},{"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":0}},{"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":0}},{"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":0}}],"issues":[{"rank":1,"title":"Reviews load from Okendo by script, so a client that reads raw HTML sees the products without a single review.","dimensionKey":"pricing_legibility","evidence":{"locked":true,"count":1},"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 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}],"fixArtifacts":{"locked":true,"count":6,"summaries":[{"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":"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":"openapi","key":"issue:programmatic_onboarding:openapi"}]}}