Skip to content

Latest commit

 

History

History
70 lines (43 loc) · 4.19 KB

File metadata and controls

70 lines (43 loc) · 4.19 KB

Metadata Assertion

The C2PA technical specification allows actors in a workflow to make cryptographically signed assertions about the produced C2PA asset.

This specification describes a C2PA assertion referred to here as the metadata assertion that can be added to a C2PA Manifest to allow metadata from various metadata standards (including, but not limited to, XMP, IPTC, and Exif) to be cryptographically bound to the C2PA Manifest.

This specification differs from the c2pa.metadata assertion from the C2PA technical specification in that there are no restrictions on the metadata fields which can be represented.

Version 1.0 Approved 18 March 2024 · [_version_history]

Maintainers:

1. Introduction

This section is non-normative.

1.1. Scope

Important
For purposes of the Community Specification License, the scope.md document at the root of this project’s GitHub repository is the governing document of this specification’s scope.

1.2. History

In versions 1.3 and earlier of the C2PA technical specification, there were individual assertions for each metadata standard (e.g., IPTC, EXIF). These were coalesced into a single “common” metadata assertion in version 1.4 of the specification. In version 2.0 of the C2PA technical specification, new restrictions were added as to which metadata content could be reflected in the built-in c2pa.metadata assertion.

This specification is not a product of the C2PA, but provides a mechanism for metadata that can no longer be expressed in the c2pa.metadata assertion to be included in a C2PA Manifest.

3. Assertion definition

A CAWG metadata assertion SHALL have a label of cawg.metadata and SHALL follow the format for metadata assertions as described below:

Each metadata assertion shall contain a single JSON content type box containing the JSON-LD serialization of one or more metadata values. The @context property within the JSON-LD object shall be included, and used to provide context / namespaces for the metadata standards being specified. The recommended procedure to create this JSON-LD object is to first create an XMP Data Model representation of the metadata and then serialize that to JSON-LD using the JSON-LD serialization of XMP. The JSON-LD would then be stored as a JSON content type box.
Important
The restrictions expressed in Appendix A, “Implementation Details for c2pa.metadata,” in the C2PA technical specification SHALL NOT apply to this assertion.

3.1. Examples

This section is non-normative.

An example of an common metadata assertion for an image:

link:partial$examples/common-metadata-image.jsonld[role=include]

An example of an common metadata assertion for a PDF:

link:partial$examples/common-metadata-pdf.jsonld[role=include]