---
title: "Sanofi: the 360 check | Agent Ready Checklist"
description: "Sanofi on Ora's agent-readiness scan, read 2026-11-09: 28 of 100, grade D. 6 of 19 checklist rows met, 13 not met. One company a day."
canonical: https://agentreadychecklist.com/blog/sanofi-agent-readiness
site: "Agent Ready Checklist"
last_updated: 2026-11-09
date: 2026-11-09
section: "360 checks"
---

# Sanofi: the 360 check | Agent Ready Checklist

> Sanofi on Ora's agent-readiness scan, read 2026-11-09: 28 of 100, grade D. 6 of 19 checklist rows met, 13 not met. One company a day.

Source: https://agentreadychecklist.com/blog/sanofi-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).

# Sanofi against the checklist: the 360 agent-readiness check

360 check, 9 November 2026. Sanofi is France's largest drugmaker.

Sanofi scores 28 of 100 on Ora's agent-readiness scan, a D, read 9 November 2026. At the door, site accessible to 6 AI agent user-agents. 6 of the 19 checklist rows with an Ora check are met. Nothing blocks the agents and nothing is written for them.

On 9 November 2026 the public site at sanofi.com scored **28 of 100** on [Ora's](https://ora.ai/?utm_source=agentreadychecklist.com&utm_medium=referral&utm_campaign=check) agent-readiness scan, a D. 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: Sanofi has strong brand presence and training data, but lacks public API, developer portal, and agent integration infrastructure.

## The score

| Layer | Points | Share | What the layer asks |
| --- | --- | --- | --- |
| Discovery | 18 of 36 | 50% | Can agents find and recommend it |
| Identity | 20 of 60 | 33% | Can agents tell what it is |
| Access | 7 of 31 | 23% | Can agents read it |
| Agent Integration | 2 of 29 | 7% | Can agents integrate with it |
| User Experience | 5 of 9 | 56% | How the site reads inside an agent |
| Total | 28 of 100 | 28% | Grade D |

## 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 | Met | robots.txt AI crawler policy (pass), robots.txt agent-user policy, Agent crawler reachability, Not blocked by bot detection (pass).; robots.txt allows all crawlers (User-agent: * Allow: /) - open by default but missing explicit AI-crawler tier differentiation |
| 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 | Met | Sitemap exists (pass).; Valid sitemap found at https://www.sanofi.com/sitemap-index.xml with multiple sitemaps entries |
| AR-FIND-04; AI Catalog at .well-known | MAY | No Ora check | AI Catalog discovery, ARD discovery. |
| AR-READ-01; Answer in the initial HTML | MUST | Met | Content without JavaScript (pass).; 2853 chars with H1 but flat heading structure |
| AR-READ-02; Real HTTP status codes | MUST | No Ora check | Redirect hygiene. |
| 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. |
| 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 | Not met | llms.txt exists (fail), llms.txt formatting (fail), llms.txt links resolve.; No llms.txt found at /llms.txt or /.well-known/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 | No Ora check | Markdown alternate link. |
| AR-READ-11; Pricing as first-party HTML | SHOULD | No Ora check | Pricing info accessible (not applicable). |
| AR-ACT-01; Auth an agent can finish | SHOULD | Met | OAuth 2.0 support (pass), Scoped permissions (not applicable).; OpenID Connect discovery endpoint found at https://identity.sanofi.com |
| 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 | Not met | MCP server / manifest (fail), Listed in MCP registries (not applicable), MCP PKCE S256 support (not applicable), MCP OAuth metadata (not applicable).; No MCP server or manifest found |
| AR-ACT-04; MCP server card | MAY | Not met | MCP server-card.json (fail).; No MCP server card found at /.well-known/mcp/server-card.json |
| AR-ACT-05; MCP Apps view | MAY | Not met | MCP Apps support (fail).; No MCP Apps support detected (optional bonus - only counted if implemented) |
| AR-ACT-06; SDKs and a CLI | SHOULD | Met | CLI tool available (not applicable), Multi-language SDK packages (not applicable), NPM/PyPI SDK package (pass).; NPM/PyPI SDK package: pass, 1 of 1. |
| AR-ACT-07; WebMCP tools | SHOULD | Not met | WebMCP support (fail).; No WebMCP support detected |
| 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 /ask endpoint found |
| AR-ACT-10; An MCP server or a CLI | MUST | Not met | MCP server / manifest (fail), CLI tool available (not applicable).; No MCP server or manifest found |
| 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 "cookie,accept-encoding, origin") |
| 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 | No Ora check | Agent Skills index conformance (v0.2.0) (not applicable). |
| 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 "cookie,accept-encoding, origin") |
| VERCEL-ROBOTS-EXCLUSIONS; Robots exclusions | vercel | Met | robots.txt AI crawler policy (pass), robots.txt agent-user policy.; robots.txt allows all crawlers (User-agent: * Allow: /) - open by default but missing explicit AI-crawler tier differentiation |

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

OpenAPI spec published

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

Public API with reachable endpoints

Fail, 0 of 7, about 7.2 points to gain. Ora saw: No public API endpoint or documentation found. No checklist row names this check.

MCP server / manifest

Fail, 0 of 6, about 3.9 points to gain. Ora saw: No MCP server or manifest found. Row [AR-ACT-03](https://agentreadychecklist.com/checklist/ar-act-03/), MCP over Streamable HTTP.

Developer resource discoverability

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

Category share of voice

Fail, 0 of 6, about 3.1 points to gain. Ora saw: For the query "pharmaceutical research and development company", Sanofi does not appear in search results. Instead, AI search engines surface major pharmaceutical firms,AbbVie, Eli Lilly, Novartis, Merck. No checklist row names this check.

## Our read

Sanofi reads as a plain, open corporate site that Ora scored with its five-layer model, Identity and Agent Integration among them, so its 28 is not directly comparable with the four-layer reads around it. The door is open to all six agent user agents Ora sent, robots.txt allows every crawler with a wildcard and declares no AI tier, the sitemap index is valid, and the home page gives 2,853 characters with an H1 and a flat heading structure. What is missing is the layer of files the checklist asks for: neither an llms.txt nor JSON-LD on the home page, and no markdown when an agent asks for it. The one developer surface is an OpenID Connect discovery endpoint at identity.sanofi.com, which is a login, and the Agent Integration layer scores 2 of 29. France's largest drugmaker has nothing blocking it and nothing published for agents; the whole list is additions, starting with a text file.

## 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/sanofi.com, Ora's scan (vendor)](https://ora.ai/api/score/sanofi.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
-   [sanofi.com, the company's site](https://www.sanofi.com/en)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.
