How Provenance Records Follow an AI-Made File

A legal disclosure tells an audience that an AI system or synthetic process is relevant. A provenance record tries to preserve more of the path by which an asset came into being and changed afterward. This chapter explains how C2PA represents that path—through manifests, assertions, claims, signatures, bindings, actions, and ingredients—so readers can understand what a machine-readable history adds to a short “AI-generated” label.

The important point is architectural rather than promotional. C2PA is an opt-in technical specification, not the EU AI Act itself. It can supply evidence about a declared history and the integrity of a record, but it does not turn the record into a factual verdict.

A manifest is a bundle of different jobs

A C2PA asset is a file or stream that contains digital content and may have an associated C2PA Manifest. The manifest is not simply a sentence attached to the file. It is a structured collection of information about the asset’s provenance, combining assertions, a claim, and a claim signature. A manifest can be embedded in the asset or stored externally in a manifest store.

An assertion is a data structure representing a statement about the asset. Some assertions describe metadata, some describe actions, some contain thumbnails, and some establish content bindings. An assertion may be created by a signer or gathered by a claim generator from another part of the workflow. That distinction matters: information gathered from another actor is not automatically attributed to the signer in the same way as an assertion the signer created.

A claim gathers the assertions associated with an asset at a particular time, including information that binds the claim to the content. The claim is cryptographically hashed and signed. The claim signature is the digital signature created with a private key held by a signer. The manifest brings these pieces together so a validator can locate the claims and assertions, check the signature, and test whether the content binding still matches the asset.

A useful mental model is a chain of responsibility. The asset is what people see or use. Assertions describe selected facts about it. The claim gathers those descriptions. The signature attributes the claim to a credentialed signer under the trust model. The manifest stores or references the complete package. A validator then checks the relationships rather than merely reading a free-text label.

classDiagram class Asset class ManifestStore class Manifest class Claim class Assertion class ClaimSignature class HardBinding class SoftBinding class Action class Ingredient class Validator Asset --> ManifestStore : carries or references ManifestStore --> Manifest : contains Manifest --> Claim : binds Manifest --> ClaimSignature : includes Manifest --> Assertion : stores Claim --> HardBinding : references Claim --> SoftBinding : may reference Manifest --> Action : records Manifest --> Ingredient : records Validator --> Manifest : validates Validator --> Asset : checks binding

The components are useful because they answer different questions. An action can describe what an editing or creation tool did. An ingredient can connect the current asset to an existing asset, prompt, model, or other input.