Context-matched advertising needs a verifiable substrate before it needs a matching algorithm. FCS — Full-Context Signatures, an open HTTP header protocol — is that substrate: cryptographic content provenance, model lineage, and audit trails that any ad-relevance layer can build on without re-inventing trust.
FCS is a small set of HTTP response headers (X-FCS-Version,
X-FCS-Content-Hash, X-FCS-Model,
X-FCS-Signature) that let a publisher attest to where AI-generated
or agent-modified content came from. The headers are cryptographically verifiable: a consumer
— an agent, a browser, an ad relevance engine — can check the hash against the body, verify
the signature against the publisher's key, and read the model lineage as structured data.
FCS-2.1 is stable. Apache 2.0 + CALT-Open 1.0.
Advertising on AI surfaces breaks if the surface itself is not provenance-verifiable. If an agent cannot tell that a piece of content came from a known model, signed by a known publisher, the agent cannot reliably tell whether an ad placement is appropriate — and brand-safety verification collapses into post-hoc audit instead of pre-render check.
FCS does not select ads. FCS makes it possible to know what the agent is looking at before an ad is placed against it. The match layer sits above; the trust layer sits beneath.
| Header | Purpose | Required |
|---|---|---|
X-FCS-Version | Declares FCS protocol version (currently 2.1) | Yes |
X-FCS-Content-Hash | Cryptographic hash of the content body (sha256 / sha512 / blake3) | Yes |
X-FCS-Model | Identifies the AI model that generated the content (provider/model:version) | Yes for AI content |
X-FCS-Signature | Cryptographic signature of content + metadata (ed25519 / rsa2048 / ecdsa-p256) | Yes |
The full specification, including verification examples and key-discovery procedures, lives at the FCS-2.1 spec page linked below.
OpenAI Ads selects ad placements against conversation intent using context hints, landing-page content, and ad copy. The product handles auction, creative serving, and the buyer-side dashboard. None of that requires FCS.
But: when an agent surface displays an ad next to AI-generated content, the question "what is this content, and can I trust its provenance?" sits underneath every brand-safety, attribution, and audit decision. FCS answers that question with cryptographic headers, neutrally, in a way no single platform owns.
OpenAI Ads can operate without FCS. Brand teams placing ads on agent surfaces benefit from FCS being present.
Three things to add to your origin server's response pipeline:
A reference implementation, header generator, and verification script are in the spec.