This page is generated from the unmodified JSON schema and contains some information that’s redacted in the edited version with CAI styling that’s included into the docs. See Review comments and questions for details.
xmpMM:InstanceID
in XMP metadata.
ManifestStore
A Container for a set of Manifests and a ValidationStatus list..
Properties
Property | Type | Description | Required? |
---|---|---|---|
active_manifest | String | A label for the active (most recent) manifest in the store. |
NO |
manifests | Object | A HashMap of Manifests. See Manifest |
YES |
validation_status | Array of ValidationStatus | ValidationStatus generated when loading the ManifestStore from an asset. |
NO |
Definitions
Actor
Identifies a person responsible for an action.
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
credentials | Array of HashedUri | List of references to W3C Verifiable Credentials. |
NO | N/A |
identifier | String | An identifier for a human actor, used when the “type” is |
NO | N/A |
AssetType
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
type | String | Description TBD. |
YES | N/A |
version | String | Description TBD. |
NO | N/A |
ClaimGeneratorInfo
Description of the claim generator, or the software used in generating the claim. This structure is also used for actions softwareAgent
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
icon | UriOrResource | hashed URI to the icon (either embedded or remote) |
NO | N/A |
name | String | A human readable string naming the claim_generator |
YES | N/A |
version | String | A human readable string of the product’s version |
NO | N/A |
NOTE: This object can have any number of additional user-defined properties.
Coordinate
An x, y coordinate used for specifying vertices in polygons.
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
x | Number / double | The coordinate along the x-axis. |
YES | N/A |
y | Number / double | The coordinate along the y-axis. |
YES | N/A |
DataSource
A description of the source for assertion data
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
actors | Array of Actor | A list of [ |
NO | N/A |
details | String | A human-readable string giving details about the source of the assertion data. |
NO | N/A |
type | String | A value from among the enumerated list indicating the source of the assertion. |
YES | N/A |
Frame
A frame range representing starting and ending frames or pages.
If both start
and end
are missing, the frame will span the entire asset.
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
end | Integer (int32) | The end of the frame inclusive or the end of the asset if not present. |
NO | N/A |
start | Integer (int32) | The start of the frame or the end of the asset if not present. The first frame/page starts at 0. |
NO | N/A |
HashedUri
Hashed Uri structure as defined by C2PA spec It is annotated to produce the correctly tagged cbor serialization
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
alg | String | Description TBD. |
NO | N/A |
hash | An array of integer | Description TBD. |
YES | N/A |
url | String | Description TBD. |
YES | N/A |
Ingredient
An Ingredient
is any external asset that has been used in the creation of an asset.
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
active_manifest | String | The active manifest label (if one exists). If this ingredient has a |
NO | N/A |
data | ResourceRef | A reference to the actual data of the ingredient. |
NO | N/A |
data_types | Array of AssetType | Additional information about the data’s type to the ingredient V2 structure. |
NO | N/A |
description | String | Additional description of the ingredient. |
NO | N/A |
document_id | String | Document ID from |
NO | N/A |
format | String | The format of the source file as a MIME type. |
NO | application/octet-stream |
hash | String | An optional hash of the asset to prevent duplicates. |
NO | N/A |
informational_URI | String | URI to an informational page about the ingredient or its data. |
NO | N/A |
instance_id | String | Instance ID from |
NO | N/A |
manifest_data | ResourceRef | A |
NO | N/A |
metadata | Metadata | Any additional |
NO | N/A |
provenance | String | URI from |
NO | N/A |
relationship | Relationship | Set to There can only be one parent ingredient in the ingredients. |
NO | componentOf |
thumbnail | ResourceRef | A thumbnail image capturing the visual state at the time of import. A tuple of thumbnail MIME format (for example |
NO | N/A |
title | String | A human-readable title, generally source filename. |
YES | N/A |
validation_status | Array of ValidationStatus | Validation results. |
NO | N/A |
Manifest
A Manifest represents all the information in a c2pa manifest
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
assertions | An array of ManifestAssertion | A list of assertions |
NO | Empty array |
claim_generator | String | A User Agent formatted string identifying the software/hardware/system produced this claim Spaces are not allowed in names, versions can be specified with product/1.0 syntax |
NO | c2pa/0.36.3 |
claim_generator_info | Array of ClaimGeneratorInfo | A list of claim generator info data identifying the software/hardware/system produced this claim |
NO | N/A |
credentials | Array of true | A List of verified credentials |
NO | N/A |
format | String | The format of the source file as a MIME type. |
NO | application/octet-stream |
ingredients | An array of Ingredient | A List of ingredients |
NO | Empty array |
instance_id | String | Instance ID from |
NO | xmp:iid:eafef862-379d-44a1-99f7-2ead485e279d |
label | String | Description TBD. |
NO | N/A |
metadata | Array of Metadata | A list of user metadata for this claim |
NO | N/A |
redactions | Array of string | A list of redactions - URIs to a redacted assertions |
NO | N/A |
signature_info | SignatureInfo | Signature data (only used for reporting) |
NO | N/A |
thumbnail | ResourceRef | Description TBD. |
NO | N/A |
title | String | A human-readable title, generally source filename. |
NO | N/A |
vendor | String | Optional prefix added to the generated Manifest Label This is typically Internet domain name for the vendor (i.e. |
NO | N/A |
ManifestAssertion
A labeled container for an Assertion value in a Manifest
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
data | ManifestData | The data of the assertion as Value |
YES | N/A |
instance |
Integer
(uint) Minimum: 0.0 |
There can be more than one assertion for any label |
NO | N/A |
kind | ManifestAssertionKind | The ManifestAssertionKind for this assertion (as stored in c2pa content) |
NO | N/A |
label | String | An assertion label in reverse domain format |
YES | N/A |
ManifestAssertionKind
A string that is one of the following:
- “Cbor”
- “Json”
- “Binary”
- “Uri”
ManifestData
Description TBD.
Any of the following:
- true
- type: integer, format: uint8, minimum: 0.0
Metadata
The Metadata structure can be used as part of other assertions or on its own to reference others
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
dataSource | DataSource | Description TBD. |
NO | N/A |
dateTime | String | A date time in ISO 8601 format. |
NO | N/A |
reference | HashedUri | Description TBD. |
NO | N/A |
regionOfInterest | RegionOfInterest | Description TBD. |
NO | N/A |
reviewRatings | Array of ReviewRating | Description TBD. |
NO | N/A |
NOTE: This object can have any number of additional user-defined properties.
Range
A spatial, temporal, frame, or textual range describing the region of interest.
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
frame | Frame | A frame range. |
NO | N/A |
shape | Shape | A spatial range. |
NO | N/A |
text | Text | A textual range. |
NO | N/A |
time | Time | A temporal range. |
NO | N/A |
type | RangeType | The type of range of interest. |
YES | N/A |
RangeType
The type of range for the region of interest.
RangeType | Type | Description |
---|---|---|
spatial | string | A spatial range, see |
temporal | string | A temporal range, see |
frame | string | A spatial range, see |
textual | string | A textual range, see |
RegionOfInterest
A region of interest within an asset describing the change.
This struct can be used from Action::changes
or Metadata::region_of_interest
.
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
description | String | A free-text string. |
NO | N/A |
identifier | String | A free-text string representing a machine-readable, unique to this assertion, identifier for the region. |
NO | N/A |
metadata | Metadata | Additional information about the asset. |
NO | N/A |
name | String | A free-text string representing a human-readable name for the region which might be used in a user interface. |
NO | N/A |
region | An array of Range | A range describing the region of interest for the specific asset. |
YES | N/A |
role | Role | A value from our controlled vocabulary or an entity-specific value (e.g., com.litware.coolArea) that represents the role of a region among other regions. |
NO | N/A |
type | String | A value from a controlled vocabulary such as https://cv.iptc.org/newscodes/imageregiontype/ or an entity-specific value (e.g., com.litware.newType) that represents the type of thing(s) depicted by a region. Note this field serializes/deserializes into the name |
NO | N/A |
Relationship
A string that is one of the following:
- “parentOf”
- “componentOf”
- “inputTo”
ResourceRef
A reference to a resource to be used in JSON serialization.
The underlying data can be read as a stream via Reader::resource_to_stream
.
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
alg | String | The algorithm used to hash the resource (if applicable). |
NO | N/A |
data_types | Array of AssetType | More detailed data types as defined in the C2PA spec. |
NO | N/A |
format | String | The mime type of the referenced resource. |
YES | N/A |
hash | String | The hash of the resource (if applicable). |
NO | N/A |
identifier | String | A URI that identifies the resource as referenced from the manifest. This may be a JUMBF URI, a file path, a URL or any other string. Relative JUMBF URIs will be resolved with the manifest label. Relative file paths will be resolved with the base path if provided. |
YES | N/A |
ReviewRating
A rating on an Assertion
.
See Review Ratings in C2PA spec
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
code | String | Description TBD. |
NO | N/A |
explanation | String | Description TBD. |
YES | N/A |
value |
Integer
(uint8)
Minimum: 0.0 |
Description TBD. |
YES | N/A |
Role
A role describing the region.
Role | Type | Description |
---|---|---|
c2pa.areaOfInterest | string | Arbitrary area worth identifying. |
c2pa.cropped | string | This area is all that is left after a crop action. |
c2pa.edited | string | This area has had edits applied to it. |
c2pa.placed | string | The area where an ingredient was placed/added. |
c2pa.redacted | string | Something in this area was redacted. |
c2pa.subjectArea | string | Area specific to a subject (human or not). |
c2pa.deleted | string | A range of information was removed/deleted. |
c2pa.styled | string | Styling was applied to this area. |
c2pa.watermarked | string | Invisible watermarking was applied to this area for the purpose of soft binding. |
Shape
A spatial range representing rectangle, circle, or a polygon.
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
height | Number (double) | The height of a rectnagle. This field can be ignored for circles and polygons. |
NO | N/A |
inside | Boolean | If the range is inside the shape. The default value is true. |
NO | N/A |
origin | Coordinate | THe origin of the coordinate in the shape. |
YES | N/A |
type | ShapeType | The type of shape. |
YES | N/A |
unit | UnitType | The type of unit for the shape range. |
YES | N/A |
vertices | Array of Coordinate | The vertices of the polygon. This field can be ignored for rectangles and circles. |
NO | N/A |
width | Number (double) | The width for rectangles or diameter for circles. This field can be ignored for polygons. |
NO | N/A |
ShapeType
The type of shape for the range.
ShapeType | Type | Description |
---|---|---|
rectangle | string | A rectangle. |
circle | string | A circle. |
polygon | string | A polygon. |
SignatureInfo
Holds information about a signature
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
alg | SigningAlg | human readable issuing authority for this signature |
NO | N/A |
cert_serial_number | String | The serial number of the certificate |
NO | N/A |
issuer | String | human readable issuing authority for this signature |
NO | N/A |
revocation_status | Boolean | revocation status of the certificate |
NO | N/A |
time | String | the time the signature was created |
NO | N/A |
SigningAlg
Describes the digital signature algorithms allowed by the C2PA spec:
All digital signatures that are stored in a C2PA Manifest shall be generated using one of the digital signature algorithms and key types listed as described in this section.
SigningAlg | Type | Description |
---|---|---|
Es256 | string | ECDSA with SHA-256 |
Es384 | string | ECDSA with SHA-384 |
Es512 | string | ECDSA with SHA-512 |
Ps256 | string | RSASSA-PSS using SHA-256 and MGF1 with SHA-256 |
Ps384 | string | RSASSA-PSS using SHA-384 and MGF1 with SHA-384 |
Ps512 | string | RSASSA-PSS using SHA-512 and MGF1 with SHA-512 |
Ed25519 | string | Edwards-Curve DSA (Ed25519 instance only) |
Text
A textual range representing multiple (possibly discontinuous) ranges of text.
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
selectors | An array of TextSelectorRange | The ranges of text to select. |
YES | N/A |
TextSelector
Selects a range of text via a fragment identifier. This is modeled after the W3C Web Annotation selector model.
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
end | Integer (int32) | The end character offset or the end of the fragment if not present. |
NO | N/A |
fragment | String | Fragment identifier as per RFC3023 (XML) or ISO 32000-2 (PDF), Annex O. |
YES | N/A |
start | Integer (int32) | The start character offset or the start of the fragment if not present. |
NO | N/A |
TextSelectorRange
One or two TextSelector
objects identifying the range to select.
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
end | TextSelector | The end of the text range. |
NO | N/A |
selector | TextSelector | The start (or entire) text range. |
YES | N/A |
Time
A temporal range representing a starting time to an ending time.
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
end | String | The end time or the end of the asset if not present. |
NO | N/A |
start | String | The start time or the start of the asset if not present. |
NO | N/A |
type | TimeType | The type of time. |
NO | npt |
TimeType
The type of time.
TimeType | Type | Description |
---|---|---|
npt | string | Times are described using Normal Play Time (npt) as described in RFC 2326. |
UnitType
The type of unit for the range.
UnitType | Type | Description |
---|---|---|
pixel | string | Use pixels. |
percent | string | Use percentage. |
UriOrResource
Description TBD.
Any of the following:
ValidationStatus
A ValidationStatus
struct describes the validation status of a specific part of a manifest.
See https://c2pa.org/specifications/specifications/1.4/specs/C2PA_Specification.html#_existing_manifests.
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
code | String | Description TBD. |
YES | N/A |
explanation | String | Description TBD. |
NO | N/A |
url | String | Description TBD. |
NO | N/A |