---
title: "Zurich Insurance: the 360 check | Agent Ready Checklist"
description: "Zurich Insurance on Ora's agent-readiness scan, read 2026-11-09: 20 of 100, grade F. 2 of 23 checklist rows met, 14 not met."
canonical: https://agentreadychecklist.com/blog/zurich-agent-readiness
site: "Agent Ready Checklist"
last_updated: 2026-11-09
date: 2026-11-09
section: "360 checks"
---

# Zurich Insurance: the 360 check | Agent Ready Checklist

> Zurich Insurance on Ora's agent-readiness scan, read 2026-11-09: 20 of 100, grade F. 2 of 23 checklist rows met, 14 not met.

Source: https://agentreadychecklist.com/blog/zurich-agent-readiness
Site: Agent Ready Checklist
Last reviewed: 2026-11-09
Agent endpoints: https://agentreadychecklist.com/llms.txt (index), https://agentreadychecklist.com/openapi.json (API), https://agentreadychecklist.com/mcp (MCP server), https://agentreadychecklist.com/ask (search)
Access: https://agentreadychecklist.com/auth.md (no key). Pricing: https://agentreadychecklist.com/pricing.md (free).

# Zurich Insurance against the checklist: the 360 agent-readiness check

360 check, 9 November 2026. Zurich Insurance is the Swiss insurance group.

Zurich Insurance scores 20 of 100 on Ora's agent-readiness scan, an F, read 9 November 2026. At the door, site accessible to 6 AI agent user-agents. 2 of the 23 checklist rows with an Ora check are met. 1 of 4 MUST rows is met. An open door onto a home page that renders no text without JavaScript.

On 9 November 2026 the public site at zurich.com scored **20 of 100** on [Ora's](https://ora.ai/?utm_source=agentreadychecklist.com&utm_medium=referral&utm_campaign=check) agent-readiness scan, an F. Ora probes a site the way an agent would: it requests pages with the agents' own user agents, reads robots.txt, looks for the files agents read, and tries the API, MCP and payment surfaces. Below, each of the 31 checklist rows is read against the Ora checks the [crosswalk](https://agentreadychecklist.com/checklist/ora-checks/) names for it, so the result says which requirements this company meets, not only how many points it scored. Ora's one-line summary: Zurich.com offers a CLI tool, but lacks a public API with reachable endpoints.

## The score

| Layer | Points | Share | What the layer asks |
| --- | --- | --- | --- |
| Discovery | 2 of 17 | 12% | Can agents find and recommend it |
| Access | 12 of 53 | 23% | Can agents read it |
| Usability | 10 of 43 | 23% | Can agents use it |
| Payments | 0 of 0 | none apply | Can agents pay |
| Total | 20 of 100 | 20% | Grade F |

## Row by row

A row is met when every Ora check the crosswalk names for it passes, not met when every one fails, and partly when the checks disagree or one is partial. A row with no Ora check in the catalogue, or whose checks did not apply to this site, is marked as such; the [Verify Kit](https://agentreadychecklist.com/kit/) tests those by hand.

| Row | Level | Result | Ora checks, and what Ora saw |
| --- | --- | --- | --- |
| AR-FIND-01; Do not block agents | MUST | Partly | robots.txt AI crawler policy (fail), robots.txt agent-user policy (pass), Agent crawler reachability (pass), Not blocked by bot detection (pass).; No AI crawler directives in robots.txt |
| AR-FIND-02; Answers on one first-party page | SHOULD | No Ora check | No check in Ora's catalogue names this row. |
| AR-FIND-03; Sitemap listed in robots.txt | SHOULD | Not met | Sitemap exists (fail).; No sitemap found |
| AR-FIND-04; AI Catalog at .well-known | MAY | Partly | AI Catalog discovery, ARD discovery (partial).; /.well-known/ai-catalog.json exists but is not valid JSON |
| AR-READ-01; Answer in the initial HTML | MUST | Not met | Content without JavaScript (fail).; Very little text content (0 chars) - likely JS-rendered, invisible to AI crawlers |
| AR-READ-02; Real HTTP status codes | MUST | Met | Redirect hygiene (pass).; Redirect hygiene: pass, 1 of 1. |
| AR-READ-03; Home page with real links | SHOULD | Not met | Public API/docs linked from homepage (fail).; No public API or documentation page linked from homepage |
| AR-READ-04; Docs that answer agent tasks | SHOULD | No Ora check | No check in Ora's catalogue names this row. |
| AR-READ-05; Fenced, language-tagged code | SHOULD | No Ora check | Code fence validity (not applicable). |
| AR-READ-06; Link the discovery files | SHOULD | No Ora check | No check in Ora's catalogue names this row. |
| AR-READ-07; Ship llms.txt | SHOULD | Partly | llms.txt exists (partial), llms.txt formatting (fail), llms.txt links resolve (not applicable).; A file is present at https://zurich.com/.well-known/llms.txt, but it returns an HTML page rather than a plain-text llms.txt. |
| AR-READ-08; JSON-LD on key pages | SHOULD | Not met | JSON-LD structured data (fail).; No JSON-LD structured data found on homepage |
| AR-READ-09; Advertise a markdown mirror | MAY | Not met | Markdown alternate link (fail).; No sampled page advertises a markdown alternate. Add <link rel="alternate" type="text/markdown" href="..."> (or the equivalent Link response header) pointing at a markdown twin of the page. |
| AR-READ-11; Pricing as first-party HTML | SHOULD | Not met | Pricing info accessible (fail).; No pricing page or pricing data found |
| AR-ACT-01; Auth an agent can finish | SHOULD | Not met | OAuth 2.0 support (fail), Scoped permissions (fail).; No OAuth 2.0 or OpenID Connect support detected |
| AR-ACT-02; OpenAPI contract | SHOULD | Not met | OpenAPI spec published (fail).; No OpenAPI/Swagger specification found |
| AR-ACT-03; MCP over Streamable HTTP | SHOULD | Partly | MCP server / manifest (partial), Listed in MCP registries (not applicable), MCP PKCE S256 support (not applicable), MCP OAuth metadata (not applicable).; MCP endpoint found at /.well-known/mcp/manifest.json but response is not valid JSON |
| AR-ACT-04; MCP server card | MAY | Partly | MCP server-card.json (partial).; https://zurich.com/.well-known/mcp/server-card.json exists but body is not valid JSON |
| AR-ACT-05; MCP Apps view | MAY | No Ora check | MCP Apps support (not applicable). |
| AR-ACT-06; SDKs and a CLI | SHOULD | Met | CLI tool available (pass), Multi-language SDK packages (not applicable), NPM/PyPI SDK package (pass).; CLI tool found on PyPI: zurich |
| AR-ACT-07; WebMCP tools | SHOULD | Not met | WebMCP support (fail).; No WebMCP support detected - no tool-attribute forms and no document.modelContext / navigator.modelContext usage found (scanned 1 of 1 same-origin script bundle(s) for modelContext registrations) |
| AR-ACT-08; Agent payments | MAY | No Ora check | x402 payment protocol (not applicable), MPP payment protocol (not applicable), UCP - Universal Commerce Protocol (not applicable), ACP - Agentic Commerce Protocol (not applicable), ACP delegate payment (not applicable). |
| AR-ACT-09; NLWeb /ask endpoint | MAY | Not met | NLWeb /ask endpoint (fail).; No NLWeb-conformant /ask endpoint found via GET or POST |
| AR-ACT-10; An MCP server or a CLI | MUST | Partly | MCP server / manifest (partial), CLI tool available (pass).; MCP endpoint found at /.well-known/mcp/manifest.json but response is not valid JSON |
| CF-CONTENT-SIGNALS; Content-Signal line | cloudflare | No Ora check | No check in Ora's catalogue names this row. |
| CF-MARKDOWN-NEGOTIATION; Markdown by Accept | cloudflare | Not met | Markdown content negotiation (acceptmarkdown.com) (fail), Markdown agent docs (fail).; Not acceptmarkdown.com compliant: Accept: text/markdown returned text/html; Vary header missing Accept (got "none") |
| CF-PAY-PER-CRAWL; Pay per crawl, HTTP 402 | cloudflare | No Ora check | No check in Ora's catalogue names this row. |
| CF-OAUTH-DISCOVERY; OAuth discovery files | cloudflare | Not met | OAuth Protected Resource metadata (RFC 9728) (fail).; No /.well-known/oauth-protected-resource found (RFC 9728) |
| CF-AGENT-SKILLS; Agent Skills index | cloudflare | Not met | Agent Skills index conformance (v0.2.0) (fail).; /.well-known/agent-skills/index.json is not valid JSON |
| VERCEL-NEGOTIATION-HEADERS; Markdown headers | vercel | Not met | Markdown content negotiation (acceptmarkdown.com) (fail).; Not acceptmarkdown.com compliant: Accept: text/markdown returned text/html; Vary header missing Accept (got "none") |
| VERCEL-ROBOTS-EXCLUSIONS; Robots exclusions | vercel | Partly | robots.txt AI crawler policy (fail), robots.txt agent-user policy (pass).; No AI crawler directives in robots.txt |

## 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 Zurich Insurance, each tied to the checklist row whose recipes cover it.

Developer resource discoverability

Fail, 0 of 6, about 7.8 points to gain. Ora saw: Agent searched for "zurich" developer resources but found nothing relevant. No checklist row names this check.

Public API with reachable endpoints

Fail, 0 of 7, about 7.2 points to gain. Ora saw: No publicly reachable API surface detected (REST and GraphQL both absent or auth-gated). No checklist row names this check.

OAuth 2.0 support

Fail, 0 of 5, about 5.2 points to gain. Ora saw: No OAuth 2.0 or OpenID Connect support detected. Row [AR-ACT-01](https://agentreadychecklist.com/checklist/ar-act-01/), Auth an agent can finish.

Scoped permissions

Fail, 0 of 5, about 5.2 points to gain. Ora saw: No scoped permissions or security schemes found. Row [AR-ACT-01](https://agentreadychecklist.com/checklist/ar-act-01/), Auth an agent can finish.

OpenAPI spec published

Fail, 0 of 7, about 4.4 points to gain. Ora saw: No OpenAPI/Swagger specification found. Row [AR-ACT-02](https://agentreadychecklist.com/checklist/ar-act-02/), OpenAPI contract.

## Our read

Zurich Insurance opens the door and then shows the agent an empty room. All six AI agent user agents Ora sent reached zurich.com and robots.txt places no restriction on them, but the home page returned zero characters of text, so the content is rendered by JavaScript and invisible to a plain fetch, which is the single row the checklist weights most. The files follow the same pattern as several insurers here: the llms.txt at /.well-known/llms.txt returns an HTML page, an MCP manifest at /.well-known/mcp/manifest.json does not parse as JSON, and there is no sitemap and no JSON-LD. Ora could not verify the Wikipedia article, and the domain appears ninth of nine in a search for its own name. The zurich package on PyPI is unrelated. The fix is in the template rather than at the edge: render the text on the server, and the rest of the reading rows become possible.

## Verify your own site

The scan above is free and needs no account: enter a domain at [ora.ai](https://ora.ai/?utm_source=agentreadychecklist.com&utm_medium=referral&utm_campaign=check) and read the same four layers for your own site, then take each failing row to its recipe on this site. 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. Payments did not apply to this company; a site that sells is read on that layer too. [Why Ora, and its limits](https://agentreadychecklist.com/verify-with-ora/).

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

[All 360 checks](https://agentreadychecklist.com/blog/), one company a day. Corrections to [the corrections page](https://agentreadychecklist.com/corrections/).

## Sources

-   [ora.ai/api/score/zurich.com, Ora's scan (vendor)](https://ora.ai/api/score/zurich.com?utm_source=agentreadychecklist.com&utm_medium=referral&utm_campaign=check)read 2026-11-09
-   [ora.ai/api/checks, contract 1.38.0 (vendor)](https://ora.ai/api/checks?utm_source=agentreadychecklist.com&utm_medium=referral&utm_campaign=check)read 2026-11-05
-   [zurich.com, the company's site](https://www.zurich.com/)read 2026-11-09

Edition

Data

2026-11-04

Reviewed

2026-11-05

Spec

AgentReady v2.0, 273d2d7

Crawl

13,071 rows, 2026-11-04

Ora

132 checks, contract 1.38.0, 2026-11-05

Verify with Ora

The scanner this site recommends for the whole checklist. 132 checks, a score out of 100, no account.

`npx ax@0.10 audit <url> --min-score <n>`

[Why Ora, and its limits](https://agentreadychecklist.com/verify-with-ora/)

Method

-   [How rows, commands and rates are made](https://agentreadychecklist.com/method/)
-   [How an Ora check is matched to a row](https://agentreadychecklist.com/checklist/ora-checks/)
-   [Pass rates by rank band](https://agentreadychecklist.com/data/by-rank/)

Sources and read dates sit at the foot of the page.

Last reviewed 2026-11-09. AgentReady v2.0, read 2026-11-04.
