# Graza: agent door 55, human door not measured
- Site: graza.co
- Scanned: 2026-09-08
- Scan type: Basic scan
- Business type: unknown
- Report: https://www.seconddoor.io/r/graza-f3ab7e
- Scanner version: 12
A Shopify storefront with strong machine discoverability but no programmatic API for agents to automate orders or integrate inventory.
## Scores
| Measure | Score |
| --- | --- |
| Humans | not measured |
| Agents | 55/100 |
| Composite | 55/100 |
Agent door only. The human door could not be measured on this scan. A Door Gap needs both doors, so this scan does not report one.
## What the machine actually did
The agent got through 10 of 16 requests, but could not find a contact route for machines. It came up empty on 5 other checks too.
- ok      reach the site at all
- ok      find out whether machines are welcome
- ok      ask whether the door opens for requests carrying the AI crawlers' names
- ok      read the site's own guide for language models
- ok      find out what pages exist
- missing find a contact route for machines
- missing find a published agent interface
- missing find an agent plugin manifest
- missing find out whether verified agents are recognised
- ok      read the homepage as data rather than as a page
- missing find a machine readable API spec
- missing read the developer documentation
- ok      read the prices without running JavaScript
- ok      read the product catalogue as data
- ok      read a product page as data
- ok      read the returns and shipping terms
## Top issues
1. **No security.txt file is published, leaving no documented contact for security researchers to report vulnerabilities.** (machine_fetchable_trust)
2. **No programmatic API exists for agents to automate orders, manage inventory, or integrate with external systems.** (programmatic_onboarding)
3. **The site publishes a Universal Commerce Protocol manifest but does not publish an MCP manifest, limiting agent compatibility.** (agent_aware_instrumentation)
The evidence and the recommended fix for each are on the report page: https://www.seconddoor.io/r/graza-f3ab7e
## Files generated from this scan
- **robots.txt rules for AI crawlers** at `/robots.txt`, 10 minutes, no developer needed. Verify: The next scan reads robots.txt and finds every search and agent crawler allowed, none of them kept off product or pricing paths.
- **Product markup snippet for every product page** at `snippets/seconddoor-product-jsonld.liquid`, 30 minutes, developer. Verify: The next scan reads price, currency and availability in the Product markup of every product page it samples, with the structured price matching the catalogue feed.
- **Put Okendo reviews in the page** at `notes`, 10 minutes, no developer needed. Verify: The next scan finds review text in the server HTML of a product page.
- **Return policy and shipping structured data** at `product page`, 30 minutes, developer. Verify: The next scan reads a MerchantReturnPolicy on the product pages, and OfferShippingDetails when the shipping node was published.
- **Link the policy pages from the product page** at `notes`, 30 minutes, no developer needed. Verify: The next scan finds the returns and shipping policy pages linked from a product page.
- **Variants missing a GTIN or a brand** at `catalog-identifiers.csv`, 5 minutes, no developer needed. Verify: The next scan reads the catalogue feed and finds a valid GTIN on at least nine in ten variants and a brand on at least nine in ten products.
- **Machine interfaces: where you stand** at `notes`, 10 minutes, no developer needed. Verify: The next scan finds the interface you published answering at its well-known path, and that check passes.
- **security.txt** at `/.well-known/security.txt`, 10 minutes, no developer needed. Verify: The next scan fetches /.well-known/security.txt as text and the security.txt check passes.
Each file is written from what this scan found on the site. The content is in the JSON once the evidence is opened: https://www.seconddoor.io/api/reports/graza-f3ab7e
## The agent door
- **machine_discoverability** 100/100. No AI crawler is blocked by robots.txt; all major assistants are explicitly allowed. The site serves a real browser normally, publishes llms.txt, declares 7 schema.org types on the homepage, lists 37 URLs in a sitemap that includes product.
- **programmatic_onboarding** 10/100. No API documentation is linked from the homepage or discoverable in the site structure. The probe checked for OpenAPI specs at 6 standard paths and found none.
- **pricing_legibility** 90/100. Prices are embedded in the raw HTML of all 3 product pages checked, with 41 prices visible on the homepage alone and 150 across the product pages.
- **agent_aware_instrumentation** 49/100. No MCP manifest exists at the 3 standard paths checked. However, a Universal Commerce Protocol manifest is published at version 2026-08-25, declaring 8 capabilities including checkout, cart, and catalog search.
- **machine_fetchable_trust** 69/100. No security.txt is published at /.well-known/security.txt. The returns policy and shipping policy are both readable as plain text at their policy URLs, though neither is embedded in product page structured data.
- **commercial_rails** 10/100. The site runs on Shopify and publishes a Universal Commerce Protocol manifest with 3 payment handlers, so agents can theoretically initiate checkout.
## The human door
- **steps_to_first_value** null/100. Could not verify: this scan did not reach the pages that would show it.
- **required_fields** null/100. Could not verify: this scan did not reach the pages that would show it.
- **verification_walls** null/100. Could not verify: this scan did not reach the pages that would show it.
- **error_recovery** null/100. Could not verify: this scan did not reach the pages that would show it.
---
Scored by SecondDoor. Method: https://www.seconddoor.io/methodology
Scan another site: https://www.seconddoor.io
Rate an issue or this report: POST https://www.seconddoor.io/api/feedback, or the rate_fix tool on https://www.seconddoor.io/api/mcp
