# ShipBob: agent door 28, human door not measured
- Site: shipbob.com
- Scanned: 2026-09-10
- Scan type: Basic scan
- Business type: b2b_saas
- Report: https://www.seconddoor.io/r/shipbob-rce8j8
- Scanner version: 49
- Scanner release: c49d1def936f56a5ab0871f38c5e6412433ec37a
- Scoring methodology: 1
- Evidence schema: 1
0 human and 6 agent dimensions measured from the pages checked; remaining dimensions are not scored.
## Scores
| Measure | Score |
| --- | --- |
| Humans | not measured |
| Agents | 28/100 (6/6 dimensions) |
| Composite | 28/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 7 of 14 checks, but could not find a contact route for machines. It came up empty on 6 other checks too. 1 check 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
- 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
- ok      read the developer documentation
- missing read the prices without running JavaScript
- missing walk the way a visitor would, to a signup form or a product
## What a visitor meets
1. **Entry observation** (observed). Primary entry is "Get A Quote", a sales route. 2 steps from the homepage.
## Top issues
1. **No OpenAPI specification was identified at the 6 standard paths checked.** (programmatic_onboarding)
   - Evidence: No OpenAPI spec at the 6 standard paths checked (/openapi.json, /openapi.yaml, /swagger.json, /api/openapi.json, /api-docs, /.well-known/openapi.json). Documentation links found: https://developer.shipbob.com/introduction/
   - Evidence: Checked directly: /openapi.json, /openapi.yaml, /swagger.json, /api/openapi.json, /api-docs, /.well-known/openapi.json.
   - Evidence: Checked URL: https://www.shipbob.com
   - Fix: Publish the API's OpenAPI document at /openapi.json or /.well-known/openapi.json and link it from the docs.
2. **No valid security.txt was identified at /.well-known/security.txt.** (machine_fetchable_trust)
The evidence and the recommended fix for the rest are on the report page: https://www.seconddoor.io/r/shipbob-rce8j8
## Files generated from this scan
- **Prices in the HTML, not only after JavaScript** at `pricing page`, 1 hour, developer. Verify: The next scan reads the prices in the raw HTML of the pricing page, with none needing JavaScript to appear.
- **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.
- **pricing.md** at `/pricing.md`, 20 minutes, no developer needed. Verify: The next scan fetches /pricing.md as text and records pricing as machine readable.
- **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/shipbob-rce8j8
## The agent door
- **machine_discoverability** 84/100. No restriction on the tested crawler names was found in robots.txt. On its first visit, our browser read the homepage. No user agent rule refused the tested retrieval crawler names.
- **programmatic_onboarding** 5/100. API credentials are documented. The observed entry link leads to a sales page.
- **pricing_legibility** 30/100. 2 prices appear only after JavaScript runs. A client that does not render pages sees no price at all.
- **agent_aware_instrumentation** 8/100. No MCP manifest was identified at the discovery paths checked.
- **machine_fetchable_trust** 40/100. No security.txt was identified at the checked path. The homepage answers automated requests.
- **commercial_rails** 0/100. The pricing page includes a sales route and no prices were identified in its raw HTML. The entry point is a sales conversation.
## The human door
- **steps_to_first_value** not measured. Not measured: this scan did not reach the page or action needed to verify it.
- **required_fields** not measured. Not measured: our scanner could not identify the required evidence on the pages checked.
- **verification_walls** not measured. Not measured: this scan did not reach the page or action needed to verify it.
- **error_recovery** not measured. Not measured: this scan did not reach the page or action needed to verify 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
