The Index › Retail › sephora.com
D
Sephorasephora.com
43/ 100 · Agentic Usability Score
Muse
Meta
?UntestedChatGPT Agent
OpenAI
✕BlockedClaude
Anthropic
✕BlockedComet
Perplexity
✕BlockedGrok Bot
xAI
◌Not disallowedGemini
Google
✕BlockedManus
Manus
◌Not disallowedInstinct
Spear Street
?UntestedScore breakdown
Five pillars. Task completion is pending until the live task runner ships; the other four are rescaled to 100.
Accessrobots.txt stance + live door test
17/40
Consent & identity pathContent-Signal, published agent policy
0/10
Machine-readable surfacellms.txt, JSON-LD, landmarks, SSR
22/25
Agent protocolsUCP, MCP, A2A, OpenAPI
0/15
Task completionlive agent run: search → cart → checkout
pending
Evidence
Generated by the scanner from this run. Every line is reproducible with the open-source probe.
- ✕Homepage blocks identified agents: ChatGPT-User (HTTP 403), Claude-User (HTTP 403), Perplexity-User (HTTP 403), GoogleAgent-Mariner (HTTP 403)
- ✓robots.txt has no rule against any user-directed agent we test
- ◐No Content-Signal in robots.txt
- ✓Publishes llms.txt
- ✓Homepage carries 3 JSON-LD blocks
- ◐Missing main/nav landmarks
- ◐No agent-protocol manifest (UCP, MCP, A2A, OpenAPI)
| Identified as | HTTP | Result |
|---|---|---|
ChatGPT-User | 403 | blocked · “Access Denied” |
Claude-User | 403 | blocked · “Access Denied” |
Perplexity-User | 403 | blocked · “Access Denied” |
GoogleAgent-Mariner | 403 | blocked · “Access Denied” |
browser (human) | 200 | normal page |
What Sephora would need to change
1Verify agents cryptographically instead of blocking them at the doorAccess · up to 23 pts
Your edge answers ChatGPT-User, Claude-User, Perplexity-User, GoogleAgent-Mariner with a block or interstitial. Web Bot Auth (HTTP Message Signatures, RFC 9421) lets an agent prove who it is per request; Cloudflare, Akamai, AWS WAF and Vercel can verify it. Allow verified agents and keep challenging the rest.
# Cloudflare: Security → Bots → Verified bots → allow category "AI Agent" # Or verify yourself: fetch the agent's key from # https://<signature-agent>/.well-known/http-message-signatures-directory # and check the Signature / Signature-Input headers (tag="web-bot-auth")
2Give agents a front doorProtocols · up to 12 pts
A Universal Commerce Protocol manifest for shopping, or an MCP server card for everything else. An agent that can call an API never needs to hold a customer's password.
GET /.well-known/ucp
{ "ucp": { "version": "2026-01-23",
"services": { "dev.ucp.shopping": [{ "transport": "rest", "endpoint": "https://www.sephora.com/api/ucp/v1" }] },
"capabilities": { "dev.ucp.shopping.checkout": [ … ] } } }
# or
GET /.well-known/mcp.json
{ "name": "Sephora", "endpoint": "https://www.sephora.com/mcp", "transport": "streamable-http" }3Use semantic landmarksSurface · up to 5 pts
main, nav, header, footer and labeled forms. Everything an accessibility audit already asks for.
<header>…</header> <nav aria-label="Primary">…</nav> <main>…</main> <form aria-label="Site search"><label for="q">Search</label><input id="q" name="q"></form>
4Say your stance with a Content-SignalConsent · up to 3 pts
Two lines in robots.txt end the guessing game. ai-input covers agents reading pages on a person's behalf.
User-Agent: * Content-Signal: search=yes, ai-input=yes, ai-train=no Allow: /