xmpMM:InstanceID
in XMP metadata.
A Container for a set of Manifests and a ValidationStatus list..
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 |
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 |
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
type | String | Description TBD. |
YES | N/A |
version | String | Description TBD. |
NO | N/A |
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.
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 |
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 |
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 |
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 |
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 |
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 |
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 |
A string that is one of the following:
Description TBD.
Any of the following:
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.
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 |
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 |
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 |
A string that is one of the following:
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 |
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 |
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. |
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 |
The type of shape for the range.
ShapeType | Type | Description |
---|---|---|
rectangle | string | A rectangle. |
circle | string | A circle. |
polygon | string | A polygon. |
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 |
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) |
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 |
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 |
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 |
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 |
The type of time.
TimeType | Type | Description |
---|---|---|
npt | string | Times are described using Normal Play Time (npt) as described in RFC 2326. |
The type of unit for the range.
UnitType | Type | Description |
---|---|---|
pixel | string | Use pixels. |
percent | string | Use percentage. |
Description TBD.
Any of the following:
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 |