This is a work in progress may not be accurate or complete.
Doc notes from ManifestStore_schema_annotated.json
are highlighted below.
See also: Additional schema questions / comments
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 Clarify that the value of this property is the UUID of the active manifest. |
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 What “type” does this refer to? |
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
What does it mean to have additionalProperties
here?
{: .comment}
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.
DataSource
A description of the source for assertion data
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
actors | Array of Actor | A list of [ Reference-style link missing shortlink. |
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 |
DateT
A string.
DateT store date strings in CBOR with datetime Tag(0) This helper class should be used where the C2PA spec specifies a tagged CBOR datatime
HashedUri
Hashed Uri structure as defined by C2PA spec It is annotated to produce the correctly tagged cbor serialization Link to relevant section of spec. Spelling/capitalization issues. {: .comment}
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 image.
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
active_manifest | String | The active manifest label (if one exists). If this ingredient has a [ Short links for reference-style links must be separated by newline. |
NO | N/A |
data | ResourceRef | A reference to the actual data of the ingredient. |
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 [ Reference-style link does not match shortlink: |
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 |
resources | ResourceStore | No description provided If we don’t document ResourceStore, then what should we do about this property? |
NO | N/A |
thumbnail | ResourceRef | A thumbnail image capturing the visual state at the time of import. A tuple of thumbnail MIME format (i.e. |
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. This is not a terribly helpful description. {: .comment}
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
assertions | An array of ManifestAssertion | A list of assertions Should this say an array of ManifestAssertions (with link)? |
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 Link to https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent? |
NO | c2pa/0.25.2 |
claim_generator_hints | Object | No description provided.
Does |
NO | N/A |
claim_generator_info | Array of ClaimGeneratorInfo | Description TBD. |
NO | N/A |
credentials | Array of true | A List of verified credentials The type definition is strange… An array of ‘true’? |
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 What is the significance of the default value? |
NO | xmp:iid:c1fcfabf-75b8-49ac-9032-34c7c6463098 |
label | String | Description TBD. |
NO | N/A |
redactions | Array of string | A list of redactions - URIs to a redacted assertions |
NO | N/A |
resources | ResourceStore | container for binary assets (like thumbnails) If we don’t document ResourceStore, then what should we do about this property? |
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 So is this property just a counter? How do you know what value to use here? |
NO | N/A |
kind | ManifestAssertionKind | The [ManifestAssertionKind] for this assertion (as stored in c2pa content) Reference-style link missing shortlink and formatting. |
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
What does it mean to have additionalProperties
here?
{: .comment}
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
data_source | DataSource | Description TBD. |
NO | N/A |
dateTime | DateT | Description TBD. |
NO | N/A |
reference | HashedUri | 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.
Relationship
A string that is one of the following:
- “parentOf”
- “componentOf”
- “inputTo”
ResourceRef
A reference to a resource to be used in JSON serialization
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
data_types | Array of AssetType | Description TBD. |
NO | N/A |
format | String | Description TBD. |
YES | N/A |
identifier | String | Description TBD. |
YES | N/A |
ResourceStore
Resource store to contain binary objects referenced from JSON serializable structures This should not be documented. {: .comment}
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
base_path | String | Description TBD. |
NO | N/A |
resources | (Object) | Description TBD. |
YES | N/A |
ReviewRating
A rating on an [Assertion
].
See https://c2pa.org/specifications/specifications/1.0/specs/C2PA_Specification.html#_claim_review.
Update spec to link to v1.3. Reference-style link missing shortlink.
{: .comment}
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 |
SignatureInfo
Holds information about a signature
Property | Type | Description | Required? | Default Value |
---|---|---|---|---|
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 |
time | String | the time the signature was created |
NO | N/A |
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.0/specs/C2PA_Specification.html#_existing_manifests.
Maybe “struct” is not the best word to use here? Would “object” be the right JSON term?
Update link to spec to v1.3.
{: .comment}
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 |