Agent Ready CheckoutEdition . The pay layer for agents.

360 check, 9 Nov 2026

Sephora on the pay layer: the 360 agent-readiness check

In short

Sephora scores 21 of 100 on Ora's agent-readiness scan, an F, read 14 Nov 2026. The six payment checks did not apply to sephora.com on this read, which is how Ora treats a site it does not read as a shop. Tenth for its own name, and a security page for every agent that asks.

On 14 Nov 2026 the public site at sephora.com scored 21 of 100 on Ora's agent-readiness scan, an F, in Ora's E-commerce category. Sephora is the beauty retailer of the LVMH group, selling online in the United States, so this check reads the Payments layer first: the six checks that look for x402, MPP, UCP, ACP and AP2 on the domain, the same protocols this site's matrix tracks row by row. The other layers follow, with every check Ora ran and what it saw. Ora's one-line summary: Homepage content is walled off by a WAF challenge, and there is no MCP server, OpenAPI spec, or WebMCP support for agents to use.

The score

Sephora on Ora, read 14 Nov 2026: points per layer, with the share of each layer's maximum. 4 checks pass, 10 are partial, 50 fail and 74 do not apply to this site.
LayerPointsShareWhat the layer asks
Discovery5 of 956%Can agents find and recommend it
Access0 of 390%Can agents read it
Usability13 of 6620%Can agents use it
Payments0 of 0none applyCan agents pay
Total21 of 10021%Grade F

The pay layer

Ora did not run the six payment checks against sephora.com on this read: it marks them not applicable on a site it does not read as a shop, so the layer has no maximum and costs nothing. A retailer that sells online can still publish any of the five protocols; the matrix says which processors and platforms carry each one. Each protocol links to its matrix row, where the processors and platforms that carry it are dated and sourced.

The six Payments checks Ora runs, on sephora.com, read 14 Nov 2026. A protocol not found costs nothing, and a check marked does not apply was not run against the site.
Payment checkResultPointsMatrix rowWhat Ora saw
x402Does not apply0 of 2x402 in the matrixNo x402 payment protocol support detected. No commerce signals detected - agent-payment protocols are optional for non-commerce sites
MPPDoes not apply0 of 2MPP in the matrixNo MPP (Machine Payments Protocol) support detected. No commerce signals detected - agent-payment protocols are optional for non-commerce sites
UCPDoes not apply0 of 3UCP in the matrixno UCP (Universal Commerce Protocol) signals detected. No commerce signals detected - agent-payment protocols are optional for non-commerce sites
ACPDoes not apply0 of 3ACP in the matrixno ACP (Agentic Commerce Protocol) signals detected. No commerce signals detected - agent-payment protocols are optional for non-commerce sites

The other layers, check by check

Every check Ora ran on sephora.com, grouped by layer, with the result, the points and what Ora recorded where its wording passes this site's gate.

Discovery: 5 of 9

Discovery checks on sephora.com, read 14 Nov 2026; 7 more checks in this layer did not apply to the site.
CheckResultPointsWhat Ora saw
ARD discoveryFail0 of 1No /.well-known/ard.json, no same-site rel="ard" link, and no legacy /.well-known/ai-catalog.json
Developer resource discoverabilityPass4 of 4Pass, no detail recorded.
Brand name discoverabilityPartial1 of 3sephora.com ranks #8 for "sephora" (searched your brand name alone: we could not read a product term from your site)
NPM/PyPI SDK packageFail0 of 1No NPM or PyPI SDK package found
Agent platform configsFail0 of 1Could not locate a public repo containing agent configs or rules. If our probes missed it, AI coding agents likely will too - link the repo from your homepage or docs so it's discoverable.
Agent Plugins manifestFail0 of 1No Agent Plugins manifest (plugin.json) found in discovered repos
ChatGPT app listedFail0 of 2Not found in ChatGPT app directory

Access: 0 of 39

Access checks on sephora.com, read 14 Nov 2026; 11 more checks in this layer did not apply to the site.
CheckResultPointsWhat Ora saw
Sitemap existsFail0 of 1No sitemap found
Content without JavaScriptPartial0 of 5Homepage blocked by WAF/security challenge - content not accessible to agents
Not blocked by bot detectionPartial0 of 2Bot management challenged ChatGPT-User, OAI-SearchBot, Claude-User, PerplexityBot. A challenge is an identity check that verified crawlers pass
Agent discovery fileFail0 of 2No agent discovery file found
A2A / agent-cardFail0 of 2No A2A agent card found at /.well-known/agent-card.json
Listed on skills.shFail0 of 1No official skills self-published on skills.sh (4 community skills with potential relation to this domain found, but only self-published official skills count)
pricing.md existsFail0 of 2No pricing.md found - agents need machine-readable pricing to compare products and make purchase recommendations
NLWeb Schema FeedsPartial0 of 1robots.txt blocked by WAF/bot protection - cannot check for Schema Feeds
MCP well-known discoveryFail0 of 2No MCP server URL discovered
HTTP Link headers (RFC 8288)Fail0 of 1No HTTP Link response headers (RFC 8288) found
Markdown URL fallbackFail0 of 2Homepage does not support the .md suffix. Probed https://sephora.com/index.md and it did not return markdown (expected text/markdown content-type or a heading-led non-HTML body).
Modular llms.txt per product areaFail0 of 1No section-level llms.txt found. Tried /docs/llms.txt, /api/llms.txt, /developers/llms.txt, /guides/llms.txt, /reference/llms.txt. This is a bonus check: it can add a point and never costs one.
llms.txt existsFail0 of 1No llms.txt found at https://sephora.com/llms.txt. Publish it at the site root, where agents that follow the llms.txt spec look for it.
llms.txt formattingFail0 of 2No llms.txt found to evaluate quality
JSON-LD structured dataPartial0 of 2Homepage blocked by WAF - cannot check structured data
Pricing info accessibleFail0 of 3No pricing page or pricing data found
Public API/docs linked from homepagePartial0 of 4Homepage blocked by WAF - cannot check for docs links
Agent instruction / when-to-useFail0 of 1No agent instruction file with when-to-use guidance found
Skills.sh skill qualityFail0 of 2No official skills on skills.sh to evaluate
JSON-LD entity linking (sameAs)Partial0 of 1Homepage blocked by WAF - cannot check entity linking
Metadata completenessPartial0 of 1Homepage blocked by WAF - cannot check metadata
Organization schema completenessPartial0 of 1Homepage blocked by WAF - cannot check Organization schema
Trust anchor pagesFail0 of 1No trust anchor pages found with sufficient content (About, Contact, Privacy)
OpenAPI spec publishedFail0 of 8No OpenAPI/Swagger specification found
Developer portalFail0 of 5No developer portal found
API catalog (RFC 9727)Fail0 of 2No /.well-known/api-catalog found (RFC 9727)
Markdown agent docsFail0 of 1Missing markdown content negotiation. Homepage returned text/html when probed with Accept: text/markdown (expected text/markdown), and none of the well-known root paths (/llms.md, /auth.md, /agents.md, /developers.md
Markdown content negotiation (acceptmarkdown.com)Fail0 of 1Homepage https://sephora.com does not meet the Markdown negotiation requirements: Accept: text/markdown returned text/html; Vary header missing Accept (got "none")
Agent crawler reachabilityPartial0 of 1Bot management challenged ChatGPT-User, OAI-SearchBot, Claude-User, PerplexityBot - a challenge is an identity check verified crawlers pass, so reachability is undetermined rather than blocked (ChatGPT-User: challenged

Usability: 13 of 66

Usability checks on sephora.com, read 14 Nov 2026; 51 more checks in this layer did not apply to the site.
CheckResultPointsWhat Ora saw
Public API with reachable endpointsPass8 of 8GraphQL endpoint at https://api.sephora.com/graphql is reachable; introspection requires authentication (API key / OAuth), which is expected for agent access. Best-of-protocols score: 7/7.
OAuth 2.0 supportPass5 of 5OpenID Connect discovery endpoint found at https://login.sephora.com
Scoped permissionsFail0 of 5No declared OAuth scopes, security schemes, or scoped-permission documentation found
Agent onboarding frictionFail0 of 2Insufficient content to evaluate onboarding friction
Web Bot Auth directoryFail0 of 2No /.well-known/http-message-signatures-directory found
OAuth Protected Resource metadata (RFC 9728)Fail0 of 2No /.well-known/oauth-protected-resource found (RFC 9728)
auth.md existsFail0 of 2No /auth.md found at site root
auth.md structureFail0 of 2No /auth.md found at site root
Agent auth discovery metadataFail0 of 3Neither /.well-known/oauth-protected-resource nor /.well-known/oauth-authorization-server found. Probed: sephora.com, api.sephora.com.
Agent auth WWW-Authenticate hintFail0 of 1No 401 with WWW-Authenticate: Bearer resource_metadata=... found. Probed [https://sephora.com/api, https://sephora.com/api/v1, https://sephora.com/v1, https://sephora.com/v2, https://sephora.com/agent/identity
agent_auth endpoints reachableFail0 of 2No agent_auth endpoint URIs found in AS metadata or /auth.md prose; nothing to probe
MCP server / manifestFail0 of 10No MCP server or manifest found
WebMCP supportFail0 of 8No WebMCP support detected - no document.modelContext / navigator.modelContext usage found
Rate limit response headersFail0 of 2GraphQL introspection auth-gated and no header convention documented on GraphQL-tagged pages
Idempotency-Key supportFail0 of 3GraphQL introspection auth-gated and no idempotency documentation found on GraphQL-tagged pages
JSON error responsesFail0 of 3API does not return JSON error responses (or no API detected)
CLI tool availableFail0 of 3No CLI tool found
NLWeb /ask endpointPass1 of 1NLWeb /ask endpoint exists but requires authentication (HTTP 403, via GET)
NLWeb streaming supportFail0 of 1NLWeb /ask requires authentication - cannot verify streaming
MCP server-card.jsonFail0 of 2No MCP server card found (checked /.well-known/mcp/server-card.json, the site's ai-catalog.json, servers[].card in mcp.json, and <server>/server-card)
Product + docs MCP coverageFail0 of 2This bonus needs two MCP servers: one for your product so agents can take actions, and a separate one for your documentation so agents can answer questions from your docs.
Sandbox / test environmentFail0 of 2No sandbox or test environment found
GraphQL typed error modelFail0 of 3GraphQL introspection auth-gated and no typed graphql error model documentation found on GraphQL-tagged pages
GraphQL versioning / deprecation policyFail0 of 2GraphQL introspection auth-gated and no graphql versioning / deprecation policy documentation found on GraphQL-tagged pages
GraphQL pagination patternFail0 of 2GraphQL introspection auth-gated and no graphql pagination pattern documentation found on GraphQL-tagged pages
GraphQL async-job patternFail0 of 2GraphQL introspection auth-gated and no graphql async-job pattern documentation found on GraphQL-tagged pages
API schema complexity analysisFail0 of 2GraphQL: introspection auth-gated and no schema evidence in docs
Function calling compatibilityFail0 of 2No API spec found - function calling requires discoverable endpoints

The fixes worth most points

Ora attaches an estimate to each failing or partial check: how many points the site would gain by passing it. These are the 5 with the largest estimates for Sephora.

OpenAPI spec published
Fail, 0 of 8, about 6.8 points to gain. Ora saw: No OpenAPI/Swagger specification found.
MCP server / manifest
Fail, 0 of 10, about 6.7 points to gain. Ora saw: No MCP server or manifest found.
WebMCP support
Fail, 0 of 8, about 5.4 points to gain. Ora saw: No WebMCP support detected - no document.modelContext / navigator.modelContext usage found.
Brand name discoverability
Partial, 1 of 3, about 4.9 points to gain. Ora saw: sephora.com ranks #8 for "sephora" (searched your brand name alone: we could not read a product term from your site).
Content without JavaScript
Partial, 0 of 5, about 4.3 points to gain. Ora saw: Homepage blocked by WAF/security challenge - content not accessible to agents.

Our read

Sephora's door is shut to every agent Ora sent: bot management challenged ChatGPT-User, OAI-SearchBot, Claude-User and PerplexityBot, robots.txt answered with a 403 challenge and the home page came back as a security page, so the Access layer scores 0 of 50 and the content, policy and structured-data rows are unverified from outside. Ora found no commerce signals past the wall, so the six payment checks did not apply on this read, on the largest prestige beauty retailer in the world. What it could reach is an OpenID Connect discovery endpoint at login.sephora.com and a GraphQL endpoint at api.sephora.com with introspection gated; it found neither a developer portal nor an OpenAPI specification, neither an MCP server nor declared scopes, and neither a sitemap nor an llms.txt. The brand search is the detail to read: sephora.com ranks tenth for its own name, behind nine pages about it. Beauty is a category shoppers already ask assistants about, and the assistants cannot get past the first page.

Test your own checkout

The scan above is free and needs no account: enter a domain at ora.ai and read the same layers for your own site, with the six payment checks mapped to this matrix on the Ora Payments page. The command below runs the same audit from a terminal and exits with 1 under the score you set, so it can gate a deploy. Why Ora, and its limits.

npx ax@0.10 audit https://example.com --min-score 70

All 360 checks, one company a day. Corrections to the corrections page.

Sources

  1. ora.ai/api/score/sephora.com, Ora's scan (vendor), read 14 Nov 2026
  2. Ora's scoring rules, version 3 (vendor), read 14 Nov 2026
  3. Ora check catalog (GET /api/checks), read 14 Nov 2026
  4. sephora.com, the company's site, read 14 Nov 2026

Last reviewed