# Klaviyo: agent door 54, human door not measured
- Site: klaviyo.com
- Scanned: 2026-09-10
- Scan type: Basic scan
- Business type: hybrid
- Report: https://www.seconddoor.io/r/klaviyo-75r52f
- Scanner version: 49
- Scanner release: c49d1def936f56a5ab0871f38c5e6412433ec37a
- Scoring methodology: 1
- Evidence schema: 1
0 human and 4 agent dimensions measured from the pages checked; remaining dimensions are not scored.
## Scores
| Measure | Score |
| --- | --- |
| Humans | not measured |
| Agents | 54/100 (4/6 dimensions) |
| Composite | 54/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 scanner recorded successful observations for 10 of 17 checks, but could not find a contact route for machines. It came up empty on 6 other checks too. 2 checks could not be measured; see the report limitations.
- 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 an MCP manifest at the standard paths checked
- missing find an agent plugin manifest
- ok      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
- ok      read the developer documentation
- ok      read the product catalogue as data
- missing read a product page as data
- missing read the returns and shipping terms
- missing discover storefront agent checkout rails
- ok      find a comparison page worth citing
## Top issues
1. **No valid security.txt was identified at /.well-known/security.txt.** (machine_fetchable_trust)
   - Evidence: /.well-known/security.txt: not found (404)
   - Evidence: Checked URL: https://www.klaviyo.com/.well-known/security.txt
   - Fix: Publish /.well-known/security.txt with a contact route.
The full report is at https://www.seconddoor.io/r/klaviyo-75r52f
## Files generated from this scan
- **Product markup skeleton** at `/uk/products/email-marketing`, 2 hours, developer. Verify: The next scan reads price, currency and availability in the Product markup of at least one product page.
- **Agent checkout: where you stand** at `notes`, 10 minutes, no developer needed. Verify: The next scan finds a UCP manifest, a storefront MCP endpoint or another discovery file answering, and the checkout check passes.
- **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/klaviyo-75r52f
## The agent door
- **machine_discoverability** 100/100. Robots.txt explicitly names 9 AI crawler tokens; policies differ by token. On its first visit, our browser read the homepage. No user agent rule refused the tested retrieval crawler names. A sitemap listing 2976 URLs.
- **programmatic_onboarding** 34/100. API credentials are documented. Authentication is documented. Code samples are provided.
- **pricing_legibility** not measured. Not measured: our scanner could not identify the required evidence on the pages checked.
- **agent_aware_instrumentation** 43/100. No MCP manifest was identified at the discovery paths checked. Web Bot Auth signals are published, so verified agents can be recognised. Robots.txt explicitly names 9 AI crawler tokens; policies differ by token.
- **machine_fetchable_trust** 40/100. No security.txt was identified at the checked path. The homepage answers automated requests.
- **commercial_rails** not measured. Not measured: an access refusal or challenge prevented our scanner from reading the required page.
## The human door
- **steps_to_first_value** not measured. Not measured: an access refusal or challenge prevented our scanner from reading the required page.
- **required_fields** not measured. Not measured: an access refusal or challenge prevented our scanner from reading the required page.
- **verification_walls** not measured. Not measured: an access refusal or challenge prevented our scanner from reading the required page.
- **error_recovery** not measured. Not measured: an access refusal or challenge prevented our scanner from reading the required page.
---
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
