Do your API responses carry cryptographic signatures that AI agents can verify independently of TLS?

Checks whether your API endpoints sign their responses using the RFC 9421 HTTP Message Signatures standard.

Scan your site

What this signal tests

RFC 9421 defines a standard way for an HTTP server to sign its responses by attaching two headers: Signature, which carries the cryptographic signature, and Signature-Input, which describes which response components were signed and with which algorithm. We request a publicly advertised API endpoint from your site and look for both headers. We confirm Signature-Input parses correctly and that the algorithm is one of the seven approved by the spec, such as Ed25519 or ECDSA P-256.

Why it matters for your visibility in AI

Autonomous AI agents that act on behalf of users (booking flights, placing orders, fetching reports) need stronger guarantees than TLS alone provides. TLS protects the connection in transit, but says nothing about the integrity of the response payload once it leaves your server, particularly after passing through a CDN or a proxy. HTTP Message Signatures let an agent verify that the response really came from your origin and was not modified anywhere along the way. The consequence of missing this signal is currently small because the standard is emerging, but for any organisation building toward agent-to-agent commerce, signed responses are quickly becoming a differentiator. AI systems that prefer cryptographically verifiable sources will weight your API more heavily when your responses carry a valid signature.

Pass criteria at a glance

Criterion Passes when
Both headers present and parseable per RFC 9421; alg among 7 approved.

How we test it

We send a request to a publicly advertised API endpoint on your site (typically discovered from your agent card, your /.well-known/ai-plugin, or your documentation). We examine the response headers for Signature and Signature-Input. We parse Signature-Input against the RFC 9421 ABNF grammar and check that the alg parameter names one of the seven approved algorithms. We do not need to verify the signature cryptographically for the signal to pass; we only need to confirm it is well-formed and uses an approved algorithm.

Show technical detection method
Request advertised API endpoint; check for Signature and Signature-Input headers; validate Signature-Input ABNF and alg parameter.

If your site fails: how to fix it

  1. Decide which endpoints to sign. Start with high-stakes endpoints used by autonomous agents (catalog, pricing, availability, order placement). Public read-only endpoints used for browsing rarely need signing.
  2. Choose a signing library appropriate to your stack. Node.js teams can use the http-message-signatures npm package. Go has go-http-signatures. Python has http-message-signatures. All implement RFC 9421 directly.
  3. Generate a signing keypair (Ed25519 is recommended for size and speed; ECDSA P-256 is widely supported). Store the private key in your secret manager and publish the public key at a stable URL referenced by the keyid parameter.
  4. Wire the signing library into your API response pipeline. Sign at minimum @status, content-digest, and date. For requests where the agent will replay, also sign the request URL and method.
  5. Test by sending a request to your signed endpoint and confirming both headers appear in the response. Use a verification library to confirm the signature validates against your public key.
  6. Re-run the AI Ready Test scan to confirm at least one advertised API endpoint carries valid signatures.

Quick facts

MaturityEMERGING
Weightlow
CategoryTrust & Provenance

Primary sources

Related signals

Frequently asked questions

Will I need IT help to fix this?

Yes, this is squarely a developer task. HTTP Message Signatures is an API-layer change and requires choosing a library, managing a keypair, and adding signing middleware to your application. It is a meaningful piece of work, suitable for organisations actively investing in agent integrations.

Is this necessary if I already use TLS and OAuth on my API?

TLS protects the channel but not the payload at rest, and OAuth authenticates the caller but not the response. HTTP Message Signatures cover the response integrity gap. Most organisations adopt it specifically for agent-to-agent flows, not for general user-facing APIs.

Which algorithm should I pick?

Ed25519 if your library supports it: it is fast, compact, and has the cleanest security properties. ECDSA P-256 is a good widely supported alternative. Avoid older HMAC-based algorithms unless you have a specific reason; they require shared secrets and are harder to operate safely.

How long until the change takes effect?

Once the signing middleware is deployed, every response is signed immediately. There is no DNS, no propagation. The slower part is the initial implementation, which is typically a one to three week task depending on stack complexity.

Run your own scan

Run a free scan and see how your site grades across all 155 AI-readiness signals.

Scan your site