From 03d89091b02fe9d693a1b0326bbfb40198b9075b Mon Sep 17 00:00:00 2001 From: Rand McKinney Date: Tue, 13 May 2025 11:25:22 -0700 Subject: [PATCH 1/5] Move all manifest ref docs into sub-dir, refactor React component used to render raw HTML --- docs/manifest/{ => json-ref}/cai-addon.css | 0 .../{ => json-ref}/manifest-json-schema.md | 0 docs/manifest/{ => json-ref}/manifest-ref.js | 26 +- docs/manifest/{ => json-ref}/manifest-ref.mdx | 2 +- docs/manifest/json-ref/reference-cai.html | 4225 +++++++++++++ docs/manifest/reference-cai.html | 5220 ----------------- sidebars.js | 4 +- 7 files changed, 4250 insertions(+), 5227 deletions(-) rename docs/manifest/{ => json-ref}/cai-addon.css (100%) rename docs/manifest/{ => json-ref}/manifest-json-schema.md (100%) rename docs/manifest/{ => json-ref}/manifest-ref.js (51%) rename docs/manifest/{ => json-ref}/manifest-ref.mdx (83%) create mode 100644 docs/manifest/json-ref/reference-cai.html delete mode 100644 docs/manifest/reference-cai.html diff --git a/docs/manifest/cai-addon.css b/docs/manifest/json-ref/cai-addon.css similarity index 100% rename from docs/manifest/cai-addon.css rename to docs/manifest/json-ref/cai-addon.css diff --git a/docs/manifest/manifest-json-schema.md b/docs/manifest/json-ref/manifest-json-schema.md similarity index 100% rename from docs/manifest/manifest-json-schema.md rename to docs/manifest/json-ref/manifest-json-schema.md diff --git a/docs/manifest/manifest-ref.js b/docs/manifest/json-ref/manifest-ref.js similarity index 51% rename from docs/manifest/manifest-ref.js rename to docs/manifest/json-ref/manifest-ref.js index b7a82cdd..3014e233 100644 --- a/docs/manifest/manifest-ref.js +++ b/docs/manifest/json-ref/manifest-ref.js @@ -1,15 +1,33 @@ import BrowserOnly from '@docusaurus/BrowserOnly'; import React, { useEffect, useRef, useState } from 'react'; import './cai-addon.css'; -const referenceCAI = require('!!raw-loader!./reference-cai.html')?.default; -const ManifestReference = () => { +// Import all possible HTML files statically +const htmlFiles = { + './reference-cai.html': require('!!raw-loader!./reference-cai.html')?.default, + // Add other HTML files here as needed +}; + +const ManifestReference = ({ htmlPath }) => { const myRef = useRef(null); const [refAquired, setRefAquired] = useState(false); + const [htmlContent, setHtmlContent] = useState(''); + useEffect(() => { setRefAquired(true); }, []); + useEffect(() => { + // Get the HTML content from our static imports + const content = htmlFiles[htmlPath]; + if (content) { + setHtmlContent(content); + } else { + console.error(`HTML file not found: ${htmlPath}`); + setHtmlContent('
Error: HTML file not found
'); + } + }, [htmlPath]); + useEffect(() => { if (myRef.current) { for (const link of myRef.current.querySelectorAll('a')) { @@ -21,12 +39,12 @@ const ManifestReference = () => { } } } - }, [refAquired]); + }, [refAquired, htmlContent]); return ( {() => ( -
+
)} ); diff --git a/docs/manifest/manifest-ref.mdx b/docs/manifest/json-ref/manifest-ref.mdx similarity index 83% rename from docs/manifest/manifest-ref.mdx rename to docs/manifest/json-ref/manifest-ref.mdx index c9c68f1f..9cf14fc4 100644 --- a/docs/manifest/manifest-ref.mdx +++ b/docs/manifest/json-ref/manifest-ref.mdx @@ -10,4 +10,4 @@ import ManifestReference from './manifest-ref.js'; This is a beta release of this reference. It is a work in progress and may not be accurate or complete. ::: - + diff --git a/docs/manifest/json-ref/reference-cai.html b/docs/manifest/json-ref/reference-cai.html new file mode 100644 index 00000000..fdbc8789 --- /dev/null +++ b/docs/manifest/json-ref/reference-cai.html @@ -0,0 +1,4225 @@ + + +
+
+ + active_manifest + + : + + UUID + +
+
+ + manifests + +
+
+
+ UUID + : +
+ +
+
+
+ UUID + : +
+ +
+
+ + ... + +
+
+
+ + validation_status + + : Array of +
+ +
+ + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ title +
+
+ : + + A human-readable title, generally source filename. + +
+
+
+ +
+ label +
+
+ : + + : + Description TBD + . + +
+
+
+ +
+ format +
+
+ : + + The format of the source file as a MIME type. + +
+
+
+ +
+ credentials +
+
+ : + A List of verified credentials +
+
+
+ +
+ instance_id +
+
+ : + + Instance ID from + + xmpMM:InstanceID + + in XMP metadata. + +
+
+
+ +
+ redactions +
+
+ : + + A list of redactions - URIs to a redacted assertions + +
+
+
+ +
+ claim_generator +
+
+ : + + 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 + +
+
+
+
+ claim_generator_info +
+ +
+
+
+ thumbnail +
+ +
+
+
+ + ingredients + + : Array of +
+ +
+
+
+ + assertions + + : Array of +
+ +
+
+
+ signature_info +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

+ +

+

ManifestStore

+

A Container for a set of Manifests and a ValidationStatus list..

+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?
active_manifest + + + String + + + + +

A label for the active (most recent) manifest in the store.

+
+ + NO +
manifestsObject +

A HashMap of Manifests.

+
+ See + Manifest +
+ + YES +
validation_status + + + Array of + ValidationStatus + + + +

+ ValidationStatus generated when loading the ManifestStore from an + asset. +

+
+ + NO +
+ +

Definitions

+ + + + + + + + + + + +
+ Actor +
+ AssetType +
+ ClaimGeneratorInfo +
+ Coordinate +
+ DataSource +
+ Frame +
+ HashedUri +
+
+ Ingredient +
+ Manifest +
+ ManifestAssertion +
+ ManifestAssertionKind +
+ ManifestData +
+ Metadata +
+ Range +
+
+ RangeType +
+ RegionOfInterest +
+ Relationship +
+ ResourceRef +
+ ReviewRating +
+ Role +
+ Shape +
+
+ ShapeType +
+ SignatureInfo +
+ SigningAlg +
+ Text +
+ TextSelector +
+ TextSelectorRange +
+ Time +
+
+ TimeType +
+ UnitType +
+ UriOrResource +
+ ValidationStatus +
+
+ +

+ + Scroll To Top + +

+

Actor

+

+ +

+

Identifies a person responsible for an action.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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 + + humanEntry.identified + + . +

+
+
+ + NO + + + N/A +
+ +

+ + Scroll To Top + +

+

AssetType

+

+ +

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
type + + + String + +

Description TBD.

+
+ + YES + + + N/A +
version + + + String + + + + +

Description TBD.

+
+ + NO + + + N/A +
+ +

+ + Scroll To Top + +

+

ClaimGeneratorInfo

+

+ +

+

+ Description of the claim generator, or the software used in generating the + claim. This structure is also used for actions softwareAgent +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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. +

+ +

+ + Scroll To Top + +

+

Coordinate

+

+ +

+

+ An x, y coordinate used for specifying vertices in polygons. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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 +
+ +

+ + Scroll To Top + +

+

DataSource

+

+ +

+

A description of the source for assertion data

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
actors + + + Array of + Actor + + + +
+

+ A list of [ + Actor + ]s associated with this source. +

+
+
+ + 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 +
+ +

+ + Scroll To Top + +

+

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. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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 +
+ +

+ + Scroll To Top + +

+

HashedUri

+

+ +

+

+ Hashed Uri structure as defined by C2PA spec It is annotated to produce the + correctly tagged cbor serialization +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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 +
+ +

+ + Scroll To Top + +

+

Ingredient

+

+ +

+

+ An + Ingredient + is any external asset that has been used in the creation of an asset. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
active_manifest + + + String + + + + +
+

The active manifest label (if one exists).

+

+ If this ingredient has a + + + ManifestStore + + + , this will hold the label of the active + + + Manifest + + + . +

+
+
+ + 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 + + xmpMM:DocumentID + + in XMP metadata. +

+
+
+ + 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 + + xmpMM:InstanceID + + in XMP metadata. +

+
+
+ + NO + + + N/A +
manifest_data + + ResourceRef + + +
+

+ A + + + ManifestStore + + + from the source asset extracted as a binary C2PA blob. +

+
+
+ + NO + + + N/A +
metadata + + Metadata + + +
+

+ Any additional + + + Metadata + + + as defined in the C2PA spec. +

+
+
+ + NO + + + N/A +
provenance + + + String + + + + +
+

+ URI from + + dcterms:provenance + + in XMP metadata. +

+
+
+ + NO + + + N/A +
relationship + + Relationship + + +
+

+ Set to + + ParentOf + + if this is the parent ingredient. +

+

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 + + image/jpeg + + ) and binary bits of the image. +

+
+
+ + 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 +
+ +

+ + Scroll To Top + +

+

Manifest

+

+ +

+

+ A Manifest represents all the information in a c2pa manifest +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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 + + xmpMM:InstanceID + + in XMP metadata. +

+
+
+ + 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. + adobe + ) +

+
+
+ + NO + + + N/A +
+ +

+ + Scroll To Top + +

+

ManifestAssertion

+

+ +

+

+ A labeled container for an Assertion value in a Manifest +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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 +
+ +

+ + Scroll To Top + +

+

ManifestAssertionKind

+

+ +

+

A string that is one of the following:

+
    +
  • “Cbor”
  • +
  • “Json”
  • +
  • “Binary”
  • +
  • + “Uri” + +
  • +
+

+ + Scroll To Top + +

+

ManifestData

+

+ +

+

Description TBD.

+

Any of the following:

+
    + +
  • true
  • + +
  • type: integer, format: uint8, minimum: 0.0
  • +
+

+ + Scroll To Top + +

+

Metadata

+

+ +

+

+ The Metadata structure can be used as part of other assertions or on its own + to reference others +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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. +

+ +

+ + Scroll To Top + +

+

Range

+

+ +

+

+ A spatial, temporal, frame, or textual range describing the region of + interest. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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 +
+ +

+ + Scroll To Top + +

+

RangeType

+

The type of range for the region of interest.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RangeTypeTypeDescription
spatialstring +
+

+ A spatial range, see + + + Shape + + + for more details. +

+
+
temporalstring +
+

+ A temporal range, see + + Time + + for more details. +

+
+
framestring +
+

+ A spatial range, see + + + Frame + + + for more details. +

+
+
textualstring +
+

+ A textual range, see + + Text + + for more details. +

+
+
+

+ +

+

+ + Scroll To Top + +

+

RegionOfInterest

+

+ +

+

+ A region of interest within an asset describing the change. This struct can + be used from + + + Action::changes + + + or + + + Metadata::region_of_interest + + + . +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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 + type + . +

+
+
+ + NO + + + N/A +
+ +

+ + Scroll To Top + +

+

Relationship

+

+ +

+

A string that is one of the following:

+
    +
  • “parentOf”
  • +
  • “componentOf”
  • +
  • + “inputTo” + +
  • +
+

+ + Scroll To Top + +

+

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 + + + . +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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 +
+ +

+ + Scroll To Top + +

+

ReviewRating

+

+ +

+

+ A rating on an + + Assertion + + . See + + Review Ratings in C2PA spec + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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 +
+ +

+ + Scroll To Top + +

+

Role

+

A role describing the region.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RoleTypeDescription
c2pa.areaOfIntereststring +
+

Arbitrary area worth identifying.

+
+
c2pa.croppedstring +
+

This area is all that is left after a crop action.

+
+
c2pa.editedstring +
+

This area has had edits applied to it.

+
+
c2pa.placedstring +
+

The area where an ingredient was placed/added.

+
+
c2pa.redactedstring +
+

Something in this area was redacted.

+
+
c2pa.subjectAreastring +
+

Area specific to a subject (human or not).

+
+
c2pa.deletedstring +
+

A range of information was removed/deleted.

+
+
c2pa.styledstring +
+

Styling was applied to this area.

+
+
c2pa.watermarkedstring +
+

+ Invisible watermarking was applied to this area for the purpose of + soft binding. +

+
+
+

+ +

+

+ + Scroll To Top + +

+

Shape

+

+ +

+

+ A spatial range representing rectangle, circle, or a polygon. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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 +
+ +

+ + Scroll To Top + +

+

ShapeType

+

The type of shape for the range.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ShapeTypeTypeDescription
rectanglestring +
+

A rectangle.

+
+
circlestring +
+

A circle.

+
+
polygonstring +
+

A polygon.

+
+
+

+ +

+

+ + Scroll To Top + +

+

SignatureInfo

+

+ +

+

Holds information about a signature

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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 +
+ +

+ + Scroll To Top + +

+

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. +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SigningAlgTypeDescription
Es256string +
+

ECDSA with SHA-256

+
+
Es384string +
+

ECDSA with SHA-384

+
+
Es512string +
+

ECDSA with SHA-512

+
+
Ps256string +
+

RSASSA-PSS using SHA-256 and MGF1 with SHA-256

+
+
Ps384string +
+

RSASSA-PSS using SHA-384 and MGF1 with SHA-384

+
+
Ps512string +
+

RSASSA-PSS using SHA-512 and MGF1 with SHA-512

+
+
Ed25519string +
+

Edwards-Curve DSA (Ed25519 instance only)

+
+
+

+ +

+

+ + Scroll To Top + +

+

Text

+

+ +

+

+ A textual range representing multiple (possibly discontinuous) ranges of + text. +

+ + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
selectors + + + + An array of + TextSelectorRange + +
+

The ranges of text to select.

+
+
+ + YES + + + N/A +
+ +

+ + Scroll To Top + +

+

TextSelector

+

+ +

+

+ Selects a range of text via a fragment identifier. This is modeled after the + W3C Web Annotation selector model. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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 +
+ +

+ + Scroll To Top + +

+

TextSelectorRange

+

+ +

+

+ One or two + + TextSelector + + objects identifying the range to select. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
end + + TextSelector + + +
+

The end of the text range.

+
+
+ + NO + + + N/A +
selector + + TextSelector + + +
+

The start (or entire) text range.

+
+
+ + YES + + + N/A +
+ +

+ + Scroll To Top + +

+

Time

+

+ +

+

+ A temporal range representing a starting time to an ending time. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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 +
+ +

+ + Scroll To Top + +

+

TimeType

+

The type of time.

+ + + + + + + + + + + + + + + +
TimeTypeTypeDescription
nptstring +
+

+ Times are described using Normal Play Time (npt) as described in + RFC 2326. +

+
+
+

+ +

+

+ + Scroll To Top + +

+

UnitType

+

The type of unit for the range.

+ + + + + + + + + + + + + + + + + + + + +
UnitTypeTypeDescription
pixelstring +
+

Use pixels.

+
+
percentstring +
+

Use percentage.

+
+
+

+ +

+

+ + Scroll To Top + +

+

UriOrResource

+

+ +

+

Description TBD.

+

Any of the following:

+ +

+ + Scroll To Top + +

+

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 + + . +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
code + + + String + +

Description TBD.

+
+ + YES + + + N/A +
explanation + + + String + + + + +

Description TBD.

+
+ + NO + + + N/A +
url + + + String + + + + +

Description TBD.

+
+ + NO + + + N/A +
+ +

+ +

+ diff --git a/docs/manifest/reference-cai.html b/docs/manifest/reference-cai.html deleted file mode 100644 index 764f43b1..00000000 --- a/docs/manifest/reference-cai.html +++ /dev/null @@ -1,5220 +0,0 @@ - - -
-
- - active_manifest - - : - - - UUID - - -
-
- - manifests - -
-
-
- - UUID - - : -
- -
-
-
- - UUID - - : -
- -
-
- - ... - -
-
-
- - validation_status - - : Array of -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- -
- title -
-
- : - - A human-readable title, generally source filename. - -
-
-
- -
- label -
-
- : - - : - - Description TBD - - . - -
-
-
- -
- format -
-
- : - - The format of the source file as a MIME type. - -
-
-
- -
- credentials -
-
- : - - A List of verified credentials - -
-
-
- -
- instance_id -
-
- : - - Instance ID from - - xmpMM:InstanceID - - in XMP metadata. - -
-
-
- -
- redactions -
-
- : - - A list of redactions - URIs to a redacted assertions - -
-
-
- -
- claim_generator -
-
- : - - 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 - -
-
-
-
- claim_generator_info -
- -
-
-
- thumbnail -
- -
-
-
- - ingredients - - : Array of -
- -
-
-
- - assertions - - : Array of -
- -
-
-
- signature_info -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- -

-

- 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 - -
- - AssetType - -
- - ClaimGeneratorInfo - -
- - Coordinate - -
- - DataSource - -
- - Frame - -
- - HashedUri - -
-
- - Ingredient - -
- - Manifest - -
- - ManifestAssertion - -
- - ManifestAssertionKind - -
- - ManifestData - -
- - Metadata - -
- - Range - -
-
- - RangeType - -
- - RegionOfInterest - -
- - Relationship - -
- - ResourceRef - -
- - ReviewRating - -
- - Role - -
- - Shape - -
-
- - ShapeType - -
- - SignatureInfo - -
- - SigningAlg - -
- - Text - -
- - TextSelector - -
- - TextSelectorRange - -
- - Time - -
-
- - TimeType - -
- - UnitType - -
- - UriOrResource - -
- - ValidationStatus - -
-
- -

- - Scroll To Top - -

-

- 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 - - humanEntry.identified - - . -

-
-
- - NO - - - N/A -
- -

- - Scroll To Top - -

-

- AssetType -

-

- -

-

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Property - - Type - - Description - - Required? - - Default Value -
- type - - - - String - -

- Description TBD. -

-
- - YES - - - N/A -
- version - - - - String - - - - -

- Description TBD. -

-
- - NO - - - N/A -
- -

- - Scroll To Top - -

-

- 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. -

- -

- - Scroll To Top - -

-

- 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 -
- -

- - Scroll To Top - -

-

- DataSource -

-

- -

-

- A description of the source for assertion data -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Property - - Type - - Description - - Required? - - Default Value -
- actors - - - - Array of - - Actor - - - - -
-

- A list of [ - - Actor - - ]s associated with this source. -

-
-
- - 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 -
- -

- - Scroll To Top - -

-

- 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 -
- -

- - Scroll To Top - -

-

- 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 -
- -

- - Scroll To Top - -

-

- 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 - - - ManifestStore - - - , this will hold the label of the active - - - Manifest - - - . -

-
-
- - 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 - - xmpMM:DocumentID - - in XMP metadata. -

-
-
- - 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 - - xmpMM:InstanceID - - in XMP metadata. -

-
-
- - NO - - - N/A -
- manifest_data - - - - ResourceRef - - - -
-

- A - - - ManifestStore - - - from the source asset extracted as a binary C2PA blob. -

-
-
- - NO - - - N/A -
- metadata - - - - Metadata - - - -
-

- Any additional - - - Metadata - - - as defined in the C2PA spec. -

-
-
- - NO - - - N/A -
- provenance - - - - String - - - - -
-

- URI from - - dcterms:provenance - - in XMP metadata. -

-
-
- - NO - - - N/A -
- relationship - - - - Relationship - - - -
-

- Set to - - ParentOf - - if this is the parent ingredient. -

-

- 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 - - image/jpeg - - ) and binary bits of the image. -

-
-
- - 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 -
- -

- - Scroll To Top - -

-

- 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 - - xmpMM:InstanceID - - in XMP metadata. -

-
-
- - 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. - - adobe - - ) -

-
-
- - NO - - - N/A -
- -

- - Scroll To Top - -

-

- 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 -
- -

- - Scroll To Top - -

-

- ManifestAssertionKind -

-

- -

-

- A string that is one of the following: -

-
    -
  • - “Cbor” -
  • -
  • - “Json” -
  • -
  • - “Binary” -
  • -
  • - “Uri” - -
  • -
-

- - Scroll To Top - -

-

- ManifestData -

-

- -

-

- Description TBD. -

-

- Any of the following: -

-
    - -
  • - true -
  • - -
  • - type: integer, - format: uint8, - minimum: 0.0 -
  • -
-

- - Scroll To Top - -

-

- 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. -

- -

- - Scroll To Top - -

-

- 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 -
- -

- - Scroll To Top - -

-

- RangeType -

-

- The type of range for the region of interest. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- RangeType - - Type - - Description -
- spatial - - string - -
-

- A spatial range, see - - - Shape - - - for more details. -

-
-
- temporal - - string - -
-

- A temporal range, see - - - Time - - - for more details. -

-
-
- frame - - string - -
-

- A spatial range, see - - - Frame - - - for more details. -

-
-
- textual - - string - -
-

- A textual range, see - - - Text - - - for more details. -

-
-
-

- -

-

- - Scroll To Top - -

-

- 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 - - type - - . -

-
-
- - NO - - - N/A -
- -

- - Scroll To Top - -

-

- Relationship -

-

- -

-

- A string that is one of the following: -

-
    -
  • - “parentOf” -
  • -
  • - “componentOf” -
  • -
  • - “inputTo” - -
  • -
-

- - Scroll To Top - -

-

- 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 -
- -

- - Scroll To Top - -

-

- 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 -
- -

- - Scroll To Top - -

-

- 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. -

-
-
-

- -

-

- - Scroll To Top - -

-

- 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 -
- -

- - Scroll To Top - -

-

- ShapeType -

-

- The type of shape for the range. -

- - - - - - - - - - - - - - - - - - - - - - - - - -
- ShapeType - - Type - - Description -
- rectangle - - string - -
-

- A rectangle. -

-
-
- circle - - string - -
-

- A circle. -

-
-
- polygon - - string - -
-

- A polygon. -

-
-
-

- -

-

- - Scroll To Top - -

-

- 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 -
- -

- - Scroll To Top - -

-

- 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) -

-
-
-

- -

-

- - Scroll To Top - -

-

- 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 -
- -

- - Scroll To Top - -

-

- 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 -
- -

- - Scroll To Top - -

-

- 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 -
- -

- - Scroll To Top - -

-

- 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 -
- -

- - Scroll To Top - -

-

- TimeType -

-

- The type of time. -

- - - - - - - - - - - - - - - -
- TimeType - - Type - - Description -
- npt - - string - -
-

- Times are described using Normal Play Time (npt) as described in RFC 2326. -

-
-
-

- -

-

- - Scroll To Top - -

-

- UnitType -

-

- The type of unit for the range. -

- - - - - - - - - - - - - - - - - - - - -
- UnitType - - Type - - Description -
- pixel - - string - -
-

- Use pixels. -

-
-
- percent - - string - -
-

- Use percentage. -

-
-
-

- -

-

- - Scroll To Top - -

-

- UriOrResource -

-

- -

-

- Description TBD. -

-

- Any of the following: -

- -

- - Scroll To Top - -

-

- 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 -
- -

- -

- diff --git a/sidebars.js b/sidebars.js index 0be68513..00b60359 100644 --- a/sidebars.js +++ b/sidebars.js @@ -52,11 +52,11 @@ const sidebars = { }, { type: 'doc', - id: 'manifest/manifest-ref', + id: 'manifest/json-ref/manifest-ref', }, { type: 'doc', - id: 'manifest/manifest-json-schema', + id: 'manifest/json-ref/manifest-json-schema', label: 'JSON schema', }, ], From 66a0181f20664ac666765998726e0e07e258881b Mon Sep 17 00:00:00 2001 From: Rand McKinney Date: Wed, 14 May 2025 09:19:55 -0700 Subject: [PATCH 2/5] Add new json refs --- docs/manifest/json-ref/index.md | 18 + docs/manifest/json-ref/json-schema-cai.html | 1269 +++ docs/manifest/json-ref/manifest-def-cai.html | 4596 +++++++++ docs/manifest/json-ref/manifest-def.mdx | 13 + docs/manifest/json-ref/manifest-ref.js | 4 +- docs/manifest/json-ref/reader-cai.html | 5401 ++++++++++ .../json-ref/{manifest-ref.mdx => reader.mdx} | 6 +- docs/manifest/json-ref/reference-cai.html | 8953 +++++++++-------- sidebars.js | 21 +- 9 files changed, 16175 insertions(+), 4106 deletions(-) create mode 100644 docs/manifest/json-ref/index.md create mode 100644 docs/manifest/json-ref/json-schema-cai.html create mode 100644 docs/manifest/json-ref/manifest-def-cai.html create mode 100644 docs/manifest/json-ref/manifest-def.mdx create mode 100644 docs/manifest/json-ref/reader-cai.html rename docs/manifest/json-ref/{manifest-ref.mdx => reader.mdx} (67%) diff --git a/docs/manifest/json-ref/index.md b/docs/manifest/json-ref/index.md new file mode 100644 index 00000000..fdc9a434 --- /dev/null +++ b/docs/manifest/json-ref/index.md @@ -0,0 +1,18 @@ +--- +id: index +title: Manifest JSON reference +hide_table_of_contents: true +pagination_next: null +pagination_prev: null +--- + +The manifest as described in the C2PA specification is a binary structure in JPEG universal metadata box format ([JUMBF](https://www.iso.org/standard/84635.html)) that can include JSON and binary data for things like encryption keys and thumbnail images. + +Because the binary structure is hard to understand and program to, the SDK defines a JSON manifest structure that's a declarative language for representing and creating a manifest in binary format. + +The JSON manifest format is an abstract translation layer that's easier to understand than the binary format. It can describe everything in the underlying binary format except for binary data such as thumbnails that are included by a structure called a _resource reference_. When the SDK generates the binary manifest structure, it assembles all the JSON objects, resource references, and ingredients defined, and then converts them into different assertions and other objects as required. + +References: + +- [ManifestDefinition](manifest-def.mdx) +- [Reader](reader.mdx) \ No newline at end of file diff --git a/docs/manifest/json-ref/json-schema-cai.html b/docs/manifest/json-ref/json-schema-cai.html new file mode 100644 index 00000000..abfdf354 --- /dev/null +++ b/docs/manifest/json-ref/json-schema-cai.html @@ -0,0 +1,1269 @@ + + + + + + CAI ManifestStore JSON Schema - Manifest Reference + + + + + + + +
+
+
{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "ManifestStore",
+  "description": "A Container for a set of Manifests and a ValidationStatus list.",
+  "type": "object",
+  "required": [
+    "manifests"
+  ],
+  "properties": {
+    "active_manifest": {
+      "description": "A label for the active (most recent) manifest in the store.",
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "manifests": {
+      "description": "A HashMap of Manifests.",
+      "type": "object",
+      "additionalProperties": {
+        "$ref": "#/definitions/Manifest"
+      }
+    },
+    "validation_status": {
+      "description": "ValidationStatus generated when loading the ManifestStore from an asset.",
+      "type": [
+        "array",
+        "null"
+      ],
+      "items": {
+        "$ref": "#/definitions/ValidationStatus"
+      }
+    }
+  },
+  "definitions": {
+    "Actor": {
+      "description": "Identifies a person responsible for an action.",
+      "type": "object",
+      "properties": {
+        "credentials": {
+          "description": "List of references to W3C Verifiable Credentials.",
+          "type": [
+            "array",
+            "null"
+          ],
+          "items": {
+            "$ref": "#/definitions/HashedUri"
+          }
+        },
+        "identifier": {
+          "description": "An identifier for a human actor, used when the \"type\" is `humanEntry.identified`.",
+          "type": [
+            "string",
+            "null"
+          ]
+        }
+      }
+    },
+    "AssetType": {
+      "type": "object",
+      "required": [
+        "type"
+      ],
+      "properties": {
+        "type": {
+          "type": "string"
+        },
+        "version": {
+          "type": [
+            "string",
+            "null"
+          ]
+        }
+      }
+    },
+    "ClaimGeneratorInfo": {
+      "description": "Description of the claim generator, or the software used in generating the claim.\n\nThis structure is also used for actions softwareAgent",
+      "type": "object",
+      "required": [
+        "name"
+      ],
+      "properties": {
+        "icon": {
+          "description": "hashed URI to the icon (either embedded or remote)",
+          "anyOf": [
+            {
+              "$ref": "#/definitions/UriOrResource"
+            },
+            {
+              "type": "null"
+            }
+          ]
+        },
+        "name": {
+          "description": "A human readable string naming the claim_generator",
+          "type": "string"
+        },
+        "version": {
+          "description": "A human readable string of the product's version",
+          "type": [
+            "string",
+            "null"
+          ]
+        }
+      },
+      "additionalProperties": true
+    },
+    "Coordinate": {
+      "description": "An x, y coordinate used for specifying vertices in polygons.",
+      "type": "object",
+      "required": [
+        "x",
+        "y"
+      ],
+      "properties": {
+        "x": {
+          "description": "The coordinate along the x-axis.",
+          "type": "number",
+          "format": "double"
+        },
+        "y": {
+          "description": "The coordinate along the y-axis.",
+          "type": "number",
+          "format": "double"
+        }
+      }
+    },
+    "DataSource": {
+      "description": "A description of the source for assertion data",
+      "type": "object",
+      "required": [
+        "type"
+      ],
+      "properties": {
+        "actors": {
+          "description": "A list of [`Actor`]s associated with this source.",
+          "type": [
+            "array",
+            "null"
+          ],
+          "items": {
+            "$ref": "#/definitions/Actor"
+          }
+        },
+        "details": {
+          "description": "A human-readable string giving details about the source of the assertion data.",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "type": {
+          "description": "A value from among the enumerated list indicating the source of the assertion.",
+          "type": "string"
+        }
+      }
+    },
+    "Frame": {
+      "description": "A frame range representing starting and ending frames or pages.\n\nIf both `start` and `end` are missing, the frame will span the entire asset.",
+      "type": "object",
+      "properties": {
+        "end": {
+          "description": "The end of the frame inclusive or the end of the asset if not present.",
+          "type": [
+            "integer",
+            "null"
+          ],
+          "format": "int32"
+        },
+        "start": {
+          "description": "The start of the frame or the end of the asset if not present.\n\nThe first frame/page starts at 0.",
+          "type": [
+            "integer",
+            "null"
+          ],
+          "format": "int32"
+        }
+      }
+    },
+    "HashedUri": {
+      "description": "Hashed Uri structure as defined by C2PA spec It is annotated to produce the correctly tagged cbor serialization",
+      "type": "object",
+      "required": [
+        "hash",
+        "url"
+      ],
+      "properties": {
+        "alg": {
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "hash": {
+          "type": "array",
+          "items": {
+            "type": "integer",
+            "format": "uint8",
+            "minimum": 0.0
+          }
+        },
+        "url": {
+          "type": "string"
+        }
+      }
+    },
+    "Ingredient": {
+      "description": "An `Ingredient` is any external asset that has been used in the creation of an asset.",
+      "type": "object",
+      "required": [
+        "title"
+      ],
+      "properties": {
+        "active_manifest": {
+          "description": "The active manifest label (if one exists).\n\nIf this ingredient has a [`ManifestStore`](crate::ManifestStore) , this will hold the label of the active [`Manifest`](crate::Manifest).",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "data": {
+          "description": "A reference to the actual data of the ingredient.",
+          "anyOf": [
+            {
+              "$ref": "#/definitions/ResourceRef"
+            },
+            {
+              "type": "null"
+            }
+          ]
+        },
+        "data_types": {
+          "description": "Additional information about the data's type to the ingredient V2 structure.",
+          "type": [
+            "array",
+            "null"
+          ],
+          "items": {
+            "$ref": "#/definitions/AssetType"
+          }
+        },
+        "description": {
+          "description": "Additional description of the ingredient.",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "document_id": {
+          "description": "Document ID from `xmpMM:DocumentID` in XMP metadata.",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "format": {
+          "description": "The format of the source file as a MIME type.",
+          "default": "application/octet-stream",
+          "type": "string"
+        },
+        "hash": {
+          "description": "An optional hash of the asset to prevent duplicates.",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "informational_URI": {
+          "description": "URI to an informational page about the ingredient or its data.",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "instance_id": {
+          "description": "Instance ID from `xmpMM:InstanceID` in XMP metadata.",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "manifest_data": {
+          "description": "A [`ManifestStore`] from the source asset extracted as a binary C2PA blob.\n\n[`ManifestStore`]: crate::ManifestStore",
+          "anyOf": [
+            {
+              "$ref": "#/definitions/ResourceRef"
+            },
+            {
+              "type": "null"
+            }
+          ]
+        },
+        "metadata": {
+          "description": "Any additional [`Metadata`] as defined in the C2PA spec.\n\n[`Metadata`]: crate::Manifest",
+          "anyOf": [
+            {
+              "$ref": "#/definitions/Metadata"
+            },
+            {
+              "type": "null"
+            }
+          ]
+        },
+        "provenance": {
+          "description": "URI from `dcterms:provenance` in XMP metadata.",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "relationship": {
+          "description": "Set to `ParentOf` if this is the parent ingredient.\n\nThere can only be one parent ingredient in the ingredients.",
+          "default": "componentOf",
+          "allOf": [
+            {
+              "$ref": "#/definitions/Relationship"
+            }
+          ]
+        },
+        "thumbnail": {
+          "description": "A thumbnail image capturing the visual state at the time of import.\n\nA tuple of thumbnail MIME format (for example `image/jpeg`) and binary bits of the image.",
+          "anyOf": [
+            {
+              "$ref": "#/definitions/ResourceRef"
+            },
+            {
+              "type": "null"
+            }
+          ]
+        },
+        "title": {
+          "description": "A human-readable title, generally source filename.",
+          "type": "string"
+        },
+        "validation_status": {
+          "description": "Validation results.",
+          "type": [
+            "array",
+            "null"
+          ],
+          "items": {
+            "$ref": "#/definitions/ValidationStatus"
+          }
+        }
+      }
+    },
+    "Manifest": {
+      "description": "A Manifest represents all the information in a c2pa manifest",
+      "type": "object",
+      "properties": {
+        "assertions": {
+          "description": "A list of assertions",
+          "default": [],
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/ManifestAssertion"
+          }
+        },
+        "claim_generator": {
+          "description": "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",
+          "default": "c2pa/0.36.3",
+          "type": "string"
+        },
+        "claim_generator_info": {
+          "description": "A list of claim generator info data identifying the software/hardware/system produced this claim",
+          "type": [
+            "array",
+            "null"
+          ],
+          "items": {
+            "$ref": "#/definitions/ClaimGeneratorInfo"
+          }
+        },
+        "credentials": {
+          "description": "A List of verified credentials",
+          "type": [
+            "array",
+            "null"
+          ],
+          "items": true
+        },
+        "format": {
+          "description": "The format of the source file as a MIME type.",
+          "default": "application/octet-stream",
+          "type": "string"
+        },
+        "ingredients": {
+          "description": "A List of ingredients",
+          "default": [],
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/Ingredient"
+          }
+        },
+        "instance_id": {
+          "description": "Instance ID from `xmpMM:InstanceID` in XMP metadata.",
+          "default": "xmp:iid:eafef862-379d-44a1-99f7-2ead485e279d",
+          "type": "string"
+        },
+        "label": {
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "metadata": {
+          "description": "A list of user metadata for this claim",
+          "type": [
+            "array",
+            "null"
+          ],
+          "items": {
+            "$ref": "#/definitions/Metadata"
+          }
+        },
+        "redactions": {
+          "description": "A list of redactions - URIs to a redacted assertions",
+          "type": [
+            "array",
+            "null"
+          ],
+          "items": {
+            "type": "string"
+          }
+        },
+        "signature_info": {
+          "description": "Signature data (only used for reporting)",
+          "anyOf": [
+            {
+              "$ref": "#/definitions/SignatureInfo"
+            },
+            {
+              "type": "null"
+            }
+          ]
+        },
+        "thumbnail": {
+          "anyOf": [
+            {
+              "$ref": "#/definitions/ResourceRef"
+            },
+            {
+              "type": "null"
+            }
+          ]
+        },
+        "title": {
+          "description": "A human-readable title, generally source filename.",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "vendor": {
+          "description": "Optional prefix added to the generated Manifest Label This is typically Internet domain name for the vendor (i.e. `adobe`)",
+          "type": [
+            "string",
+            "null"
+          ]
+        }
+      }
+    },
+    "ManifestAssertion": {
+      "description": "A labeled container for an Assertion value in a Manifest",
+      "type": "object",
+      "required": [
+        "data",
+        "label"
+      ],
+      "properties": {
+        "data": {
+          "description": "The data of the assertion as Value",
+          "allOf": [
+            {
+              "$ref": "#/definitions/ManifestData"
+            }
+          ]
+        },
+        "instance": {
+          "description": "There can be more than one assertion for any label",
+          "type": [
+            "integer",
+            "null"
+          ],
+          "format": "uint",
+          "minimum": 0.0
+        },
+        "kind": {
+          "description": "The [ManifestAssertionKind](crate::ManifestAssertionKind) for this assertion (as stored in c2pa content)",
+          "anyOf": [
+            {
+              "$ref": "#/definitions/ManifestAssertionKind"
+            },
+            {
+              "type": "null"
+            }
+          ]
+        },
+        "label": {
+          "description": "An assertion label in reverse domain format",
+          "type": "string"
+        }
+      }
+    },
+    "ManifestAssertionKind": {
+      "description": "Assertions in C2PA can be stored in several formats",
+      "type": "string",
+      "enum": [
+        "Cbor",
+        "Json",
+        "Binary",
+        "Uri"
+      ]
+    },
+    "ManifestData": {
+      "anyOf": [
+        true,
+        {
+          "type": "array",
+          "items": {
+            "type": "integer",
+            "format": "uint8",
+            "minimum": 0.0
+          }
+        }
+      ]
+    },
+    "Metadata": {
+      "description": "The Metadata structure can be used as part of other assertions or on its own to reference others",
+      "type": "object",
+      "properties": {
+        "dataSource": {
+          "anyOf": [
+            {
+              "$ref": "#/definitions/DataSource"
+            },
+            {
+              "type": "null"
+            }
+          ]
+        },
+        "dateTime": {
+          "type": "string",
+          "description": "A date time in ISO 8601 format."
+        },
+        "reference": {
+          "anyOf": [
+            {
+              "$ref": "#/definitions/HashedUri"
+            },
+            {
+              "type": "null"
+            }
+          ]
+        },
+        "regionOfInterest": {
+          "anyOf": [
+            {
+              "$ref": "#/definitions/RegionOfInterest"
+            },
+            {
+              "type": "null"
+            }
+          ]
+        },
+        "reviewRatings": {
+          "type": [
+            "array",
+            "null"
+          ],
+          "items": {
+            "$ref": "#/definitions/ReviewRating"
+          }
+        }
+      },
+      "additionalProperties": true
+    },
+    "Range": {
+      "description": "A spatial, temporal, frame, or textual range describing the region of interest.",
+      "type": "object",
+      "required": [
+        "type"
+      ],
+      "properties": {
+        "frame": {
+          "description": "A frame range.",
+          "anyOf": [
+            {
+              "$ref": "#/definitions/Frame"
+            },
+            {
+              "type": "null"
+            }
+          ]
+        },
+        "shape": {
+          "description": "A spatial range.",
+          "anyOf": [
+            {
+              "$ref": "#/definitions/Shape"
+            },
+            {
+              "type": "null"
+            }
+          ]
+        },
+        "text": {
+          "description": "A textual range.",
+          "anyOf": [
+            {
+              "$ref": "#/definitions/Text"
+            },
+            {
+              "type": "null"
+            }
+          ]
+        },
+        "time": {
+          "description": "A temporal range.",
+          "anyOf": [
+            {
+              "$ref": "#/definitions/Time"
+            },
+            {
+              "type": "null"
+            }
+          ]
+        },
+        "type": {
+          "description": "The type of range of interest.",
+          "allOf": [
+            {
+              "$ref": "#/definitions/RangeType"
+            }
+          ]
+        }
+      }
+    },
+    "RangeType": {
+      "description": "The type of range for the region of interest.",
+      "oneOf": [
+        {
+          "description": "A spatial range, see [`Shape`](#shape) for more details.\n\n",
+          "type": "string",
+          "enum": [
+            "spatial"
+          ]
+        },
+        {
+          "description": "A temporal range, see [`Time`](#time) for more details.",
+          "type": "string",
+          "enum": [
+            "temporal"
+          ]
+        },
+        {
+          "description": "A spatial range, see [`Frame`](#frame) for more details.",
+          "type": "string",
+          "enum": [
+            "frame"
+          ]
+        },
+        {
+          "description": "A textual range, see [`Text`](#text) for more details.",
+          "type": "string",
+          "enum": [
+            "textual"
+          ]
+        }
+      ]
+    },
+    "RegionOfInterest": {
+      "description": "A region of interest within an asset describing the change.\n\nThis struct can be used from [`Action::changes`](https://docs.rs/c2pa/latest/c2pa/assertions/struct.Action.html#method.changes) or [`Metadata::region_of_interest`](https://docs.rs/c2pa/latest/c2pa/assertions/struct.Metadata.html#method.region_of_interest).",
+      "type": "object",
+      "required": [
+        "region"
+      ],
+      "properties": {
+        "description": {
+          "description": "A free-text string.",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "identifier": {
+          "description": "A free-text string representing a machine-readable, unique to this assertion, identifier for the region.",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "metadata": {
+          "description": "Additional information about the asset.",
+          "anyOf": [
+            {
+              "$ref": "#/definitions/Metadata"
+            },
+            {
+              "type": "null"
+            }
+          ]
+        },
+        "name": {
+          "description": "A free-text string representing a human-readable name for the region which might be used in a user interface.",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "region": {
+          "description": "A range describing the region of interest for the specific asset.",
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/Range"
+          }
+        },
+        "role": {
+          "description": "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.",
+          "anyOf": [
+            {
+              "$ref": "#/definitions/Role"
+            },
+            {
+              "type": "null"
+            }
+          ]
+        },
+        "type": {
+          "description": "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.\n\nNote this field serializes/deserializes into the name `type`.",
+          "type": [
+            "string",
+            "null"
+          ]
+        }
+      }
+    },
+    "Relationship": {
+      "type": "string",
+      "enum": [
+        "parentOf",
+        "componentOf",
+        "inputTo"
+      ]
+    },
+    "ResourceRef": {
+      "description": "A reference to a resource to be used in JSON serialization.\n\nThe underlying data can be read as a stream via [`Reader::resource_to_stream`](https://docs.rs/c2pa/latest/c2pa/struct.Reader.html#method.resource_to_stream).",
+      "type": "object",
+      "required": [
+        "format",
+        "identifier"
+      ],
+      "properties": {
+        "alg": {
+          "description": "The algorithm used to hash the resource (if applicable).",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "data_types": {
+          "description": "More detailed data types as defined in the C2PA spec.",
+          "type": [
+            "array",
+            "null"
+          ],
+          "items": {
+            "$ref": "#/definitions/AssetType"
+          }
+        },
+        "format": {
+          "description": "The mime type of the referenced resource.",
+          "type": "string"
+        },
+        "hash": {
+          "description": "The hash of the resource (if applicable).",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "identifier": {
+          "description": "A URI that identifies the resource as referenced from the manifest.\n\nThis 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.",
+          "type": "string"
+        }
+      }
+    },
+    "ReviewRating": {
+      "description": "A rating on an [`Assertion`](crate::ManifestAssertion).\n\n See [Review Ratings in C2PA spec](https://c2pa.org/specifications/specifications/1.4/specs/C2PA_Specification.html#_review_ratings.)",
+      "type": "object",
+      "required": [
+        "explanation",
+        "value"
+      ],
+      "properties": {
+        "code": {
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "explanation": {
+          "type": "string"
+        },
+        "value": {
+          "type": "integer",
+          "format": "uint8",
+          "minimum": 0.0
+        }
+      }
+    },
+    "Role": {
+      "description": "A role describing the region.",
+      "oneOf": [
+        {
+          "description": "Arbitrary area worth identifying.",
+          "type": "string",
+          "enum": [
+            "c2pa.areaOfInterest"
+          ]
+        },
+        {
+          "description": "This area is all that is left after a crop action.",
+          "type": "string",
+          "enum": [
+            "c2pa.cropped"
+          ]
+        },
+        {
+          "description": "This area has had edits applied to it.",
+          "type": "string",
+          "enum": [
+            "c2pa.edited"
+          ]
+        },
+        {
+          "description": "The area where an ingredient was placed/added.",
+          "type": "string",
+          "enum": [
+            "c2pa.placed"
+          ]
+        },
+        {
+          "description": "Something in this area was redacted.",
+          "type": "string",
+          "enum": [
+            "c2pa.redacted"
+          ]
+        },
+        {
+          "description": "Area specific to a subject (human or not).",
+          "type": "string",
+          "enum": [
+            "c2pa.subjectArea"
+          ]
+        },
+        {
+          "description": "A range of information was removed/deleted.",
+          "type": "string",
+          "enum": [
+            "c2pa.deleted"
+          ]
+        },
+        {
+          "description": "Styling was applied to this area.",
+          "type": "string",
+          "enum": [
+            "c2pa.styled"
+          ]
+        },
+        {
+          "description": "Invisible watermarking was applied to this area for the purpose of soft binding.",
+          "type": "string",
+          "enum": [
+            "c2pa.watermarked"
+          ]
+        }
+      ]
+    },
+    "Shape": {
+      "description": "A spatial range representing rectangle, circle, or a polygon.",
+      "type": "object",
+      "required": [
+        "origin",
+        "type",
+        "unit"
+      ],
+      "properties": {
+        "height": {
+          "description": "The height of a rectnagle.\n\nThis field can be ignored for circles and polygons.",
+          "type": [
+            "number",
+            "null"
+          ],
+          "format": "double"
+        },
+        "inside": {
+          "description": "If the range is inside the shape.\n\nThe default value is true.",
+          "type": [
+            "boolean",
+            "null"
+          ]
+        },
+        "origin": {
+          "description": "THe origin of the coordinate in the shape.",
+          "allOf": [
+            {
+              "$ref": "#/definitions/Coordinate"
+            }
+          ]
+        },
+        "type": {
+          "description": "The type of shape.",
+          "allOf": [
+            {
+              "$ref": "#/definitions/ShapeType"
+            }
+          ]
+        },
+        "unit": {
+          "description": "The type of unit for the shape range.",
+          "allOf": [
+            {
+              "$ref": "#/definitions/UnitType"
+            }
+          ]
+        },
+        "vertices": {
+          "description": "The vertices of the polygon.\n\nThis field can be ignored for rectangles and circles.",
+          "type": [
+            "array",
+            "null"
+          ],
+          "items": {
+            "$ref": "#/definitions/Coordinate"
+          }
+        },
+        "width": {
+          "description": "The width for rectangles or diameter for circles.\n\nThis field can be ignored for polygons.",
+          "type": [
+            "number",
+            "null"
+          ],
+          "format": "double"
+        }
+      }
+    },
+    "ShapeType": {
+      "description": "The type of shape for the range.",
+      "oneOf": [
+        {
+          "description": "A rectangle.",
+          "type": "string",
+          "enum": [
+            "rectangle"
+          ]
+        },
+        {
+          "description": "A circle.",
+          "type": "string",
+          "enum": [
+            "circle"
+          ]
+        },
+        {
+          "description": "A polygon.",
+          "type": "string",
+          "enum": [
+            "polygon"
+          ]
+        }
+      ]
+    },
+    "SignatureInfo": {
+      "description": "Holds information about a signature",
+      "type": "object",
+      "properties": {
+        "alg": {
+          "description": "human readable issuing authority for this signature",
+          "anyOf": [
+            {
+              "$ref": "#/definitions/SigningAlg"
+            },
+            {
+              "type": "null"
+            }
+          ]
+        },
+        "cert_serial_number": {
+          "description": "The serial number of the certificate",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "issuer": {
+          "description": "human readable issuing authority for this signature",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "revocation_status": {
+          "description": "revocation status of the certificate",
+          "type": [
+            "boolean",
+            "null"
+          ]
+        },
+        "time": {
+          "description": "the time the signature was created",
+          "type": [
+            "string",
+            "null"
+          ]
+        }
+      }
+    },
+    "SigningAlg": {
+      "description": "Describes the digital signature algorithms allowed by the [C2PA spec](https://c2pa.org/specifications/specifications/1.4/specs/C2PA_Specification.html#_digital_signatures):\n\n> 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.",
+      "oneOf": [
+        {
+          "description": "ECDSA with SHA-256",
+          "type": "string",
+          "enum": [
+            "Es256"
+          ]
+        },
+        {
+          "description": "ECDSA with SHA-384",
+          "type": "string",
+          "enum": [
+            "Es384"
+          ]
+        },
+        {
+          "description": "ECDSA with SHA-512",
+          "type": "string",
+          "enum": [
+            "Es512"
+          ]
+        },
+        {
+          "description": "RSASSA-PSS using SHA-256 and MGF1 with SHA-256",
+          "type": "string",
+          "enum": [
+            "Ps256"
+          ]
+        },
+        {
+          "description": "RSASSA-PSS using SHA-384 and MGF1 with SHA-384",
+          "type": "string",
+          "enum": [
+            "Ps384"
+          ]
+        },
+        {
+          "description": "RSASSA-PSS using SHA-512 and MGF1 with SHA-512",
+          "type": "string",
+          "enum": [
+            "Ps512"
+          ]
+        },
+        {
+          "description": "Edwards-Curve DSA (Ed25519 instance only)",
+          "type": "string",
+          "enum": [
+            "Ed25519"
+          ]
+        }
+      ]
+    },
+    "Text": {
+      "description": "A textual range representing multiple (possibly discontinuous) ranges of text.",
+      "type": "object",
+      "required": [
+        "selectors"
+      ],
+      "properties": {
+        "selectors": {
+          "description": "The ranges of text to select.",
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/TextSelectorRange"
+          }
+        }
+      }
+    },
+    "TextSelector": {
+      "description": "Selects a range of text via a fragment identifier.\n\nThis is modeled after the W3C Web Annotation selector model.",
+      "type": "object",
+      "required": [
+        "fragment"
+      ],
+      "properties": {
+        "end": {
+          "description": "The end character offset or the end of the fragment if not present.",
+          "type": [
+            "integer",
+            "null"
+          ],
+          "format": "int32"
+        },
+        "fragment": {
+          "description": "Fragment identifier as per RFC3023 (XML) or ISO 32000-2 (PDF), Annex O.",
+          "type": "string"
+        },
+        "start": {
+          "description": "The start character offset or the start of the fragment if not present.",
+          "type": [
+            "integer",
+            "null"
+          ],
+          "format": "int32"
+        }
+      }
+    },
+    "TextSelectorRange": {
+      "description": "One or two [`TextSelector`](#textselector) objects identifying the range to select.",
+      "type": "object",
+      "required": [
+        "selector"
+      ],
+      "properties": {
+        "end": {
+          "description": "The end of the text range.",
+          "anyOf": [
+            {
+              "$ref": "#/definitions/TextSelector"
+            },
+            {
+              "type": "null"
+            }
+          ]
+        },
+        "selector": {
+          "description": "The start (or entire) text range.",
+          "allOf": [
+            {
+              "$ref": "#/definitions/TextSelector"
+            }
+          ]
+        }
+      }
+    },
+    "Time": {
+      "description": "A temporal range representing a starting time to an ending time.",
+      "type": "object",
+      "properties": {
+        "end": {
+          "description": "The end time or the end of the asset if not present.",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "start": {
+          "description": "The start time or the start of the asset if not present.",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "type": {
+          "description": "The type of time.",
+          "default": "npt",
+          "allOf": [
+            {
+              "$ref": "#/definitions/TimeType"
+            }
+          ]
+        }
+      }
+    },
+    "TimeType": {
+      "description": "The type of time.",
+      "oneOf": [
+        {
+          "description": "Times are described using Normal Play Time (npt) as described in RFC 2326.",
+          "type": "string",
+          "enum": [
+            "npt"
+          ]
+        }
+      ]
+    },
+    "UnitType": {
+      "description": "The type of unit for the range.",
+      "oneOf": [
+        {
+          "description": "Use pixels.",
+          "type": "string",
+          "enum": [
+            "pixel"
+          ]
+        },
+        {
+          "description": "Use percentage.",
+          "type": "string",
+          "enum": [
+            "percent"
+          ]
+        }
+      ]
+    },
+    "UriOrResource": {
+      "anyOf": [
+        {
+          "$ref": "#/definitions/ResourceRef"
+        },
+        {
+          "$ref": "#/definitions/HashedUri"
+        }
+      ]
+    },
+    "ValidationStatus": {
+      "description": "A `ValidationStatus` struct describes the validation status of a specific part of a manifest.\n\nSee <https://c2pa.org/specifications/specifications/1.4/specs/C2PA_Specification.html#_existing_manifests>.",
+      "type": "object",
+      "required": [
+        "code"
+      ],
+      "properties": {
+        "code": {
+          "type": "string"
+        },
+        "explanation": {
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "url": {
+          "type": [
+            "string",
+            "null"
+          ]
+        }
+      }
+    }
+  }
+}
+
+
+
+
+ + diff --git a/docs/manifest/json-ref/manifest-def-cai.html b/docs/manifest/json-ref/manifest-def-cai.html new file mode 100644 index 00000000..4512e0c8 --- /dev/null +++ b/docs/manifest/json-ref/manifest-def-cai.html @@ -0,0 +1,4596 @@ + + + + + + CAI manifest definition reference - Manifest Reference + + + + + + + +

+ This page is generated from the unmodified JSON schema generated from + c2pa-rs on + 05/09/2025. +

+ + + +

ManifestDefinition

+ +
+

+ Use a ManifestDefinition to define a manifest and to build a + ManifestStore. + A manifest is a collection of ingredients and assertions used to define + a claim that can be signed and embedded into a file. +

+
+ +

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
assertions + + + + + + An array of + AssertionDefinition +

A list of assertions

+ + + NO + + + Empty array +
claim_generator_info + + + + + + An array of + ClaimGeneratorInfo + +

+ Claim Generator Info is always required with at least one entry +

+
+ + + NO + + + + Object with properties: +
    +
  • name - c2pa-rs
  • + +
  • version - 0.49.5
  • +
+
claim_version + + + + + Integer + + (uint8)
Minimum: 0.0 + + + + +
+

The version of the claim. Defaults to 1.

+
+ + + 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 + xmpMM:InstanceID + in XMP metadata. +

+
+ + + NO + + + + xmp:iid:dde3986c-d7b2-4256-b5dd-acc8ed9aada3 +
label + + + + + String + + + + + + +

+ Allows you to pre-define the manifest label, which must be unique. + Not intended for general use. If not set, it will be assigned + automatically. +

+
+ + + NO + + + + N/A +
metadata + + + + + Array of + + Metadata + + + + + +

+ Optional manifest metadata. This will be deprecated in the future; + not recommended to use. +

+
+ + + NO + + + + N/A +
redactions + + + + + Array of string + + + + + +

A list of redactions - URIs to redacted assertions.

+
+ + + NO + + + + N/A +
thumbnail + + + ResourceRef + + + +

+ An optional ResourceRef to a thumbnail image that represents the + asset that was signed. Must be available when the manifest is + signed. +

+
+ + + 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 a reverse domain name. +

+
+ + + NO + + + + N/A +
+ + + +

Definitions

+ + + + + + + + + + + + + + + + + +
+ Actor
+ + AssertionData
+ + AssertionDefinition
+ + AssetType
+ + ClaimGeneratorInfo
+ + Coordinate
+ + DataSource
+
+ Frame
+ + HashedUri
+ + Ingredient
+ + IngredientDeltaValidationResult +
+ + Item
+ + Metadata
+ + Range
+
+ RangeType
+ + RegionOfInterest
+ + Relationship
+ + ResourceRef
+ + ReviewRating
+ + Role
+ + Shape
+
+ ShapeType
+ + StatusCodes
+ + Text
+ + TextSelector
+ + TextSelectorRange
+ + Time
+ + TimeType
+
+ UnitType
+ + UriOrResource
+ + ValidationResults
+ + ValidationStatus
+
+ + + +

+ Scroll To Top +

+ +

Actor

+ +

+ +

Identifies a person responsible for an action.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
credentials + + + + + Array of + + HashedUri + + + + + +
+

List of references to W3C Verifiable Credentials.

+
+
NON/A
identifier + + + + + String + + + + + + +
+

+ An identifier for a human actor, used when the “type” is + humanEntry.identified. +

+
+
NON/A
+ + + +

+ Scroll To Top +

+ +

AssertionData

+ +

+ +
+

+ This allows the assertion to be expressed as CBOR or JSON. The default + is CBOR unless you specify that an assertion should be JSON. +

+
+

Any of the following:

+ +
    + +
  • true
  • +
+ +

+ Scroll To Top +

+ +

AssertionDefinition

+ +

+ +

+ Defines an assertion that consists of a label that can be either a + C2PA-defined assertion label or a custom label in reverse domain format. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
data + + + + + AssertionData + +

Description TBD.

+
+ YES + N/A
label + + + + + String + +

Description TBD.

+
+ YES + N/A
+ + + +

+ Scroll To Top +

+ +

AssetType

+ +

+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
type + + + + + String + +

Description TBD.

+
+ YES + N/A
version + + + + + String + + + + + + +

Description TBD.

+
+ NO + N/A
+ + + +

+ Scroll To Top +

+ +

ClaimGeneratorInfo

+ +

+ +

+ Description of the claim generator, or the software used in generating the + claim. This structure is also used for actions softwareAgent +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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
operating_system + + + + + String + + + + + + +
+

+ A human readable string of the OS the claim generator is running + on +

+
+
+ NO + 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. +

+ + + +

+ Scroll To Top +

+ +

Coordinate

+ +

+ +

+ An x, y coordinate used for specifying vertices in polygons. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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
+ + + +

+ Scroll To Top +

+ +

DataSource

+ +

+ +

A description of the source for assertion data

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
actors + + + + + Array of + + Actor + + + + + +
+

+ A list of [Actor]s associated with this source. +

+
+
+ 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
+ + + +

+ Scroll To Top +

+ +

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. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
end + + + + + Integer + + (int32) + + + + + +
+

+ The end of the frame inclusive or the end of the asset if not + present. +

+
+
NON/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.

+
+
NON/A
+ + + +

+ Scroll To Top +

+ +

HashedUri

+ +

+ +

+ A + HashedUri + provides a reference to content available within the same manifest store. + This is described in [§8.3, URI References], of the C2PA Technical + Specification. [§8.3, URI References]: + https://c2pa.org/specifications/specifications/2.1/specs/C2PA_Specification.html#_uri_references +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
alg + + + + + String + + + + + + +
+

+ A string identifying the cryptographic hash algorithm used to + compute the hash +

+
+
+ NO + N/A
hash + + + + + + An array of + integer + +
+

Byte string containing the hash value

+
+
+ YES + N/A
url + + + + + String + +

JUMBF URI reference

+
+ YES + N/A
+ + + +

+ Scroll To Top +

+ +

Ingredient

+ +

+ +

+ An Ingredient is + any external asset that has been used in the creation of an asset. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
active_manifest + + + + + String + + + + + + +
+

The active manifest label (if one exists).

+ +

+ If this ingredient has a [ManifestStore], this will hold the label of the active + Manifest. +

+
+
NON/A
data + + + ResourceRef + + + +
+

A reference to the actual data of the ingredient.

+
+
NON/A
data_types + + + + + Array of + + AssetType + + + + + +
+

+ Additional information about the data’s type to the ingredient + V2 structure. +

+
+
NON/A
description + + + + + String + + + + + + +
+

Additional description of the ingredient.

+
+
NON/A
document_id + + + + + String + + + + + + +
+

+ Document ID from + xmpMM:DocumentID + in XMP metadata. +

+
+
NON/A
format + + + + + String + + + + + + +
+

The format of the source file as a MIME type.

+
+
NON/A
hash + + + + + String + + + + + + +
+

An optional hash of the asset to prevent duplicates.

+
+
NON/A
informational_URI + + + + + String + + + + + + +
+

+ URI to an informational page about the ingredient or its data. +

+
+
NON/A
instance_id + + + + + String + + + + + + +
+

+ Instance ID from + xmpMM:InstanceID + in XMP metadata. +

+
+
NON/A
label + + + + + String + + + + + + +
+

The ingredient’s label as assigned in the manifest.

+
+
NON/A
manifest_data + + + ResourceRef + + + +
+

+ A + ManifestStore + from the source asset extracted as a binary C2PA blob. +

+
+
NON/A
metadata + + + Metadata + + + +
+

+ Any additional + Metadata + as defined in the C2PA spec. +

+
+
NON/A
provenance + + + + + String + + + + + + +
+

+ URI from + dcterms:provenance + in XMP metadata. +

+
+
NON/A
relationship + + + Relationship + + + +
+

+ Set to + ParentOf + if this is the parent ingredient. +

+ +

There can only be one parent ingredient in the ingredients.

+
+
NOcomponentOf
thumbnail + + + ResourceRef + + + +
+

+ A thumbnail image capturing the visual state at the time of + import. +

+ +

+ A tuple of thumbnail MIME format (for example + image/jpeg) and binary bits of the image. +

+
+
NON/A
title + + + + + String + + + + + + +
+

A human-readable title, generally source filename.

+
+
NON/A
validation_results + + + ValidationResults + + + +
+

Validation results (Ingredient.V3)

+
+
NON/A
validation_status + + + + + Array of + + ValidationStatus + + + + + +
+

Validation status (Ingredient v1 & v2)

+
+
NON/A
+ + + +

+ Scroll To Top +

+ +

+ IngredientDeltaValidationResult +

+ +

+ +

+ Represents any changes or deltas between the current and previous + validation results for an ingredient’s manifest. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
ingredientAssertionURI + + + + + String + +
+

JUMBF URI reference to the ingredient assertion

+
+
+ YES + N/A
validationDeltas + + + StatusCodes + + + +
+

Validation results for the ingredient’s active manifest

+
+
+ YES + N/A
+ + + +

+ Scroll To Top +

+ +

Item

+ +

+ +

+ Description of the boundaries of an identified range. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
identifier + + + + + String + +
+

+ The container-specific term used to identify items, such as + “track_id” for MP4 or “item_ID” for HEIF. +

+
+
+ YES + N/A
value + + + + + String + +
+

+ The value of the identifier, e.g. a value of “2” for an + identifier of “track_id” would imply track 2 of the asset. +

+
+
+ YES + N/A
+ + + +

+ Scroll To Top +

+ +

Metadata

+ +

+ +

+ The Metadata structure can be used as part of other assertions or on its + own to reference others +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
dataSource + + + DataSource + + + +

Description TBD.

+
NON/A
dateTime + + + + +

Description TBD.

+
NON/A
reference + + + HashedUri + + + +

Description TBD.

+
NON/A
regionOfInterest + + + RegionOfInterest + + + +

Description TBD.

+
NON/A
reviewRatings + + + + + Array of + + ReviewRating + + + + + +

Description TBD.

+
NON/A
+ +

+ NOTE: This object can have any number of additional user-defined + properties. +

+ + + +

+ Scroll To Top +

+ +

Range

+ +

+ +

+ A spatial, temporal, frame, or textual range describing the region of + interest. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
frame + + + Frame + + + +

A frame range.

+
+ NO + N/A
item + + + Item + + + +

A item identifier.

+
+ 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
+ + + +

+ Scroll To Top +

+ +

RangeType

+ +

The type of range for the region of interest.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RangeTypeTypeDescription
spatialstring +
+

+ A spatial range, see [Shape] for more details. +

+
+
temporalstring +
+

+ A temporal range, see [Time] for more details. +

+
+
framestring +
+

+ A spatial range, see [Frame] for more details. +

+
+
textualstring +
+

+ A textual range, see [Text] for more details. +

+
+
identifiedstring +
+

+ A range identified by a specific identifier and value, see + [Item] + for more details. +

+
+
+ +

+ +

+ Scroll To Top +

+ +

RegionOfInterest

+ +

+ +

+ A region of interest within an asset describing the change. This struct + can be used from [Action::changes][crate::assertions::Action::changes] or [Metadata::region_of_interest][crate::assertions::Metadata::region_of_interest]. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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 + type. +

+
+
+ NO + N/A
+ + + +

+ Scroll To Top +

+ +

Relationship

+ +

+ +

A string that is one of the following:

+ +
    +
  • “parentOf”
  • +
  • “componentOf”
  • +
  • “inputTo”
  • +
+ +

+ Scroll To Top +

+ +

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][crate::Reader::resource_to_stream]. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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
+ + + +

+ Scroll To Top +

+ +

ReviewRating

+ +

+ +

+ A rating on an Assertion. See + https://c2pa.org/specifications/specifications/1.0/specs/C2PA_Specification.html#_claim_review. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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
+ + + +

+ Scroll To Top +

+ +

Role

+ +

A role describing the region.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RoleTypeDescription
c2pa.areaOfIntereststring +
+

Arbitrary area worth identifying.

+
+
c2pa.croppedstring +
+

This area is all that is left after a crop action.

+
+
c2pa.editedstring +
+

This area has had edits applied to it.

+
+
c2pa.placedstring +
+

The area where an ingredient was placed/added.

+
+
c2pa.redactedstring +
+

Something in this area was redacted.

+
+
c2pa.subjectAreastring +
+

Area specific to a subject (human or not).

+
+
c2pa.deletedstring +
+

A range of information was removed/deleted.

+
+
c2pa.styledstring +
+

Styling was applied to this area.

+
+
c2pa.watermarkedstring +
+

+ Invisible watermarking was applied to this area for the purpose + of soft binding. +

+
+
+ +

+ +

+ Scroll To Top +

+ +

Shape

+ +

+ +

+ A spatial range representing rectangle, circle, or a polygon. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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
+ + + +

+ Scroll To Top +

+ +

ShapeType

+ +

The type of shape for the range.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ShapeTypeTypeDescription
rectanglestring +

A rectangle.

+
circlestring +

A circle.

+
polygonstring +

A polygon.

+
+ +

+ +

+ Scroll To Top +

+ +

StatusCodes

+ +

+ +

+ Contains a set of success, informational, and failure validation status + codes. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
failure + + + + + + An array of + ValidationStatus + +

Description TBD.

+
+ YES + N/A
informational + + + + + + An array of + ValidationStatus + +

Description TBD.

+
+ YES + N/A
success + + + + + + An array of + ValidationStatus + +

Description TBD.

+
+ YES + N/A
+ + + +

+ Scroll To Top +

+ +

Text

+ +

+ +

+ A textual range representing multiple (possibly discontinuous) ranges of + text. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
selectors + + + + + + An array of + TextSelectorRange + +

The ranges of text to select.

+
+ YES + N/A
+ + + +

+ Scroll To Top +

+ +

TextSelector

+ +

+ +

+ Selects a range of text via a fragment identifier. This is modeled after + the W3C Web Annotation selector model. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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
+ + + +

+ Scroll To Top +

+ +

TextSelectorRange

+ +

+ +

+ One or two [TextSelector][TextSelector] identifiying the range to select. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
end + + + TextSelector + + + +

The end of the text range.

+
+ NO + N/A
selector + + + TextSelector + + + +
+

The start (or entire) text range.

+
+
+ YES + N/A
+ + + +

+ Scroll To Top +

+ +

Time

+ +

+ +

+ A temporal range representing a starting time to an ending time. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
end + + + + + String + + + + + + +
+

The end time or the end of the asset if not present.

+
+
NON/A
start + + + + + String + + + + + + +
+

The start time or the start of the asset if not present.

+
+
NON/A
type + + + TimeType + + + +

The type of time.

+
NOnpt
+ + + +

+ Scroll To Top +

+ +

TimeType

+ +

The type of time.

+ + + + + + + + + + + + + + + + + +
TimeTypeTypeDescription
nptstring +
+

+ Times are described using Normal Play Time (npt) as described in + RFC 2326. +

+
+
+ +

+ +

+ Scroll To Top +

+ +

UnitType

+ +

The type of unit for the range.

+ + + + + + + + + + + + + + + + + + + + + + +
UnitTypeTypeDescription
pixelstring +

Use pixels.

+
percentstring +

Use percentage.

+
+ +

+ +

+ Scroll To Top +

+ +

UriOrResource

+ +

+ +

Description TBD.

+

Any of the following:

+ + + +

+ Scroll To Top +

+ +

ValidationResults

+ +

+ +

+ A map of validation results for a manifest store. The map contains the + validation results for the active manifest and any ingredient deltas. It + is normal for there to be many +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
activeManifest + + + StatusCodes + + + +

Description TBD.

+
NON/A
ingredientDeltas + + + + + Array of + + IngredientDeltaValidationResult + + + + + +

Description TBD.

+
NON/A
+ + + +

+ Scroll To Top +

+ +

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. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
code + + + + + String + +

Description TBD.

+
+ YES + N/A
explanation + + + + + String + + + + + + +

Description TBD.

+
+ NO + N/A
success + + + + + Boolean + + + + + + +

Description TBD.

+
+ NO + N/A
url + + + + + String + + + + + + +

Description TBD.

+
+ NO + N/A
+ + + +

+ +

+ + diff --git a/docs/manifest/json-ref/manifest-def.mdx b/docs/manifest/json-ref/manifest-def.mdx new file mode 100644 index 00000000..a41636e2 --- /dev/null +++ b/docs/manifest/json-ref/manifest-def.mdx @@ -0,0 +1,13 @@ +--- +id: manifest-def +title: ManifestDefinition JSON reference +hide_table_of_contents: true +--- + +import ManifestReference from './manifest-ref.js'; + +:::danger Warning +This is a beta release of this reference. It is a work in progress and may not be accurate or complete. +::: + + diff --git a/docs/manifest/json-ref/manifest-ref.js b/docs/manifest/json-ref/manifest-ref.js index 3014e233..2eac8389 100644 --- a/docs/manifest/json-ref/manifest-ref.js +++ b/docs/manifest/json-ref/manifest-ref.js @@ -4,7 +4,9 @@ import './cai-addon.css'; // Import all possible HTML files statically const htmlFiles = { - './reference-cai.html': require('!!raw-loader!./reference-cai.html')?.default, + './manifest-def-cai.html': require('!!raw-loader!./manifest-def-cai.html') + ?.default, + './reader-cai.html': require('!!raw-loader!./reader-cai.html')?.default, // Add other HTML files here as needed }; diff --git a/docs/manifest/json-ref/reader-cai.html b/docs/manifest/json-ref/reader-cai.html new file mode 100644 index 00000000..2ba52ef7 --- /dev/null +++ b/docs/manifest/json-ref/reader-cai.html @@ -0,0 +1,5401 @@ + + + + + + Reader reference - Manifest Reference + + + + + + + + + +

Reader

+ +

A reader for the manifest store.

+ +

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
active_manifest + + + + + String + + + + + + +

A label for the active (most recent) manifest in the store

+
+ + NO + + + + N/A +
manifestsObject +

A HashMap of Manifests

+ +
See + Manifest +
+ + YES + + + + N/A +
validation_results + + + ValidationResults + + + +

+ ValidationStatus generated when loading the ManifestStore from an + asset +

+
+ + NO + + + + N/A +
validation_state + + + ValidationState + + + +

The validation state of the manifest store

+
+ + NO + + + + N/A +
validation_status + + + + + Array of + + ValidationStatus + + + + + +

+ ValidationStatus generated when loading the ManifestStore from an + asset +

+
+ + NO + + + + N/A +
+ + + +

Definitions

+ + + + + + + + + + + + + + + + + + + +
+ Actor
+ + AssetType
+ + ClaimGeneratorInfo
+ + Coordinate
+ + DataSource
+ + DateT
+ + Frame
+
+ HashedUri
+ + Ingredient
+ + IngredientDeltaValidationResult +
+ + Item
+ + Manifest
+ + ManifestAssertion
+ + ManifestAssertionKind
+
+ ManifestData
+ + Metadata
+ + Range
+ + RangeType
+ + RegionOfInterest
+ + Relationship
+ + ResourceRef
+
+ ResourceStore
+ + ReviewRating
+ + Role
+ + Shape
+ + ShapeType
+ + SignatureInfo
+ + SigningAlg
+
+ StatusCodes
+ + Text
+ + TextSelector
+ + TextSelectorRange
+ + Time
+ + TimeType
+ + UnitType
+
+ UriOrResource
+ + ValidationResults
+ + ValidationState
+ + ValidationStatus
+
+ + + +

+ Scroll To Top +

+ +

Actor

+ +

+ +

Identifies a person responsible for an action.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
credentials + + + + + Array of + + HashedUri + + + + + +
+

List of references to W3C Verifiable Credentials.

+
+
NON/A
identifier + + + + + String + + + + + + +
+

+ An identifier for a human actor, used when the “type” is + humanEntry.identified. +

+
+
NON/A
+ + + +

+ Scroll To Top +

+ +

AssetType

+ +

+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
type + + + + + String + +

Description TBD.

+
+ YES + N/A
version + + + + + String + + + + + + +

Description TBD.

+
+ NO + N/A
+ + + +

+ Scroll To Top +

+ +

ClaimGeneratorInfo

+ +

+ +

+ Description of the claim generator, or the software used in generating the + claim. This structure is also used for actions softwareAgent +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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
operating_system + + + + + String + + + + + + +
+

+ A human readable string of the OS the claim generator is running + on +

+
+
+ NO + 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. +

+ + + +

+ Scroll To Top +

+ +

Coordinate

+ +

+ +

+ An x, y coordinate used for specifying vertices in polygons. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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
+ + + +

+ Scroll To Top +

+ +

DataSource

+ +

+ +

A description of the source for assertion data

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
actors + + + + + Array of + + Actor + + + + + +
+

+ A list of [Actor]s associated with this source. +

+
+
+ 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
+ + + +

+ Scroll To Top +

+ +

DateT

+ +

+ +

A string.

+ + + +

+ Scroll To Top +

+ +

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. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
end + + + + + Integer + + (int32) + + + + + +
+

+ The end of the frame inclusive or the end of the asset if not + present. +

+
+
NON/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.

+
+
NON/A
+ + + +

+ Scroll To Top +

+ +

HashedUri

+ +

+ +

+ A + HashedUri + provides a reference to content available within the same manifest store. + This is described in [§8.3, URI References], of the C2PA Technical + Specification. [§8.3, URI References]: + https://c2pa.org/specifications/specifications/2.1/specs/C2PA_Specification.html#_uri_references +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
alg + + + + + String + + + + + + +
+

+ A string identifying the cryptographic hash algorithm used to + compute the hash +

+
+
+ NO + N/A
hash + + + + + + An array of + integer + +
+

Byte string containing the hash value

+
+
+ YES + N/A
url + + + + + String + +

JUMBF URI reference

+
+ YES + N/A
+ + + +

+ Scroll To Top +

+ +

Ingredient

+ +

+ +

+ An Ingredient is + any external asset that has been used in the creation of an asset. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
active_manifest + + + + + String + + + + + + +
+

The active manifest label (if one exists).

+ +

+ If this ingredient has a [ManifestStore], this will hold the label of the active + Manifest. +

+
+
NON/A
data + + + ResourceRef + + + +
+

A reference to the actual data of the ingredient.

+
+
NON/A
data_types + + + + + Array of + + AssetType + + + + + +
+

+ Additional information about the data’s type to the ingredient + V2 structure. +

+
+
NON/A
description + + + + + String + + + + + + +
+

Additional description of the ingredient.

+
+
NON/A
document_id + + + + + String + + + + + + +
+

+ Document ID from + xmpMM:DocumentID + in XMP metadata. +

+
+
NON/A
format + + + + + String + + + + + + +
+

The format of the source file as a MIME type.

+
+
NON/A
hash + + + + + String + + + + + + +
+

An optional hash of the asset to prevent duplicates.

+
+
NON/A
informational_URI + + + + + String + + + + + + +
+

+ URI to an informational page about the ingredient or its data. +

+
+
NON/A
instance_id + + + + + String + + + + + + +
+

+ Instance ID from + xmpMM:InstanceID + in XMP metadata. +

+
+
NON/A
label + + + + + String + + + + + + +
+

The ingredient’s label as assigned in the manifest.

+
+
NON/A
manifest_data + + + ResourceRef + + + +
+

+ A + ManifestStore + from the source asset extracted as a binary C2PA blob. +

+
+
NON/A
metadata + + + Metadata + + + +
+

+ Any additional + Metadata + as defined in the C2PA spec. +

+
+
NON/A
provenance + + + + + String + + + + + + +
+

+ URI from + dcterms:provenance + in XMP metadata. +

+
+
NON/A
relationship + + + Relationship + + + +
+

+ Set to + ParentOf + if this is the parent ingredient. +

+ +

There can only be one parent ingredient in the ingredients.

+
+
NOcomponentOf
resources + + + ResourceStore + + + +

Description TBD.

+
NON/A
thumbnail + + + ResourceRef + + + +
+

+ A thumbnail image capturing the visual state at the time of + import. +

+ +

+ A tuple of thumbnail MIME format (for example + image/jpeg) and binary bits of the image. +

+
+
NON/A
title + + + + + String + + + + + + +
+

A human-readable title, generally source filename.

+
+
NON/A
validation_results + + + ValidationResults + + + +
+

Validation results (Ingredient.V3)

+
+
NON/A
validation_status + + + + + Array of + + ValidationStatus + + + + + +
+

Validation status (Ingredient v1 & v2)

+
+
NON/A
+ + + +

+ Scroll To Top +

+ +

+ IngredientDeltaValidationResult +

+ +

+ +

+ Represents any changes or deltas between the current and previous + validation results for an ingredient’s manifest. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
ingredientAssertionURI + + + + + String + +
+

JUMBF URI reference to the ingredient assertion

+
+
+ YES + N/A
validationDeltas + + + StatusCodes + + + +
+

Validation results for the ingredient’s active manifest

+
+
+ YES + N/A
+ + + +

+ Scroll To Top +

+ +

Item

+ +

+ +

+ Description of the boundaries of an identified range. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
identifier + + + + + String + +
+

+ The container-specific term used to identify items, such as + “track_id” for MP4 or “item_ID” for HEIF. +

+
+
+ YES + N/A
value + + + + + String + +
+

+ The value of the identifier, e.g. a value of “2” for an + identifier of “track_id” would imply track 2 of the asset. +

+
+
+ YES + N/A
+ + + +

+ Scroll To Top +

+ +

Manifest

+ +

+ +

+ A Manifest represents all the information in a c2pa manifest +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
assertions + + + + + + An array of + ManifestAssertion + +

A list of assertions

+
NOEmpty 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 +

+
+
NON/A
claim_generator_info + + + + + Array of + + ClaimGeneratorInfo + + + + + +
+

+ A list of claim generator info data identifying the + software/hardware/system produced this claim +

+
+
NON/A
credentials + + + + + Array of true + + + + + +

A List of verified credentials

+
NON/A
format + + + + + String + + + + + + +
+

The format of the source file as a MIME type.

+
+
NON/A
ingredients + + + + + + An array of + Ingredient + +

A List of ingredients

+
NOEmpty array
instance_id + + + + + String + +
+

+ Instance ID from + xmpMM:InstanceID + in XMP metadata. +

+
+
NO + xmp:iid:424afed8-279d-4793-a279-b80a00b8c32b +
label + + + + + String + + + + + + +

Description TBD.

+
NON/A
metadata + + + + + Array of + + Metadata + + + + + +
+

A list of user metadata for this claim

+
+
NON/A
redactions + + + + + Array of string + + + + + +
+

A list of redactions - URIs to a redacted assertions

+
+
NON/A
resources + + + ResourceStore + + + +
+

container for binary assets (like thumbnails)

+
+
NON/A
signature_info + + + SignatureInfo + + + +
+

Signature data (only used for reporting)

+
+
NON/A
thumbnail + + + ResourceRef + + + +

Description TBD.

+
NON/A
title + + + + + String + + + + + + +
+

A human-readable title, generally source filename.

+
+
NON/A
vendor + + + + + String + + + + + + +
+

+ Optional prefix added to the generated Manifest Label This is + typically Internet domain name for the vendor (i.e. + adobe) +

+
+
NON/A
+ + + +

+ Scroll To Top +

+ +

ManifestAssertion

+ +

+ +

+ A labeled container for an Assertion value in a Manifest +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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
+ + + +

+ Scroll To Top +

+ +

ManifestAssertionKind

+ +

+ +

A string that is one of the following:

+ +
    +
  • “Cbor”
  • +
  • “Json”
  • +
  • “Binary”
  • +
  • “Uri”
  • +
+ +

+ Scroll To Top +

+ +

ManifestData

+ +

+ +

Description TBD.

+

Any of the following:

+ +
    + +
  • true
  • + + +
  • type: integer, format: uint8, minimum: 0.0
  • +
+ +

+ Scroll To Top +

+ +

Metadata

+ +

+ +

+ The Metadata structure can be used as part of other assertions or on its + own to reference others +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
dataSource + + + DataSource + + + +

Description TBD.

+
NON/A
dateTime + + + DateT + + + +

Description TBD.

+
NON/A
reference + + + HashedUri + + + +

Description TBD.

+
NON/A
regionOfInterest + + + RegionOfInterest + + + +

Description TBD.

+
NON/A
reviewRatings + + + + + Array of + + ReviewRating + + + + + +

Description TBD.

+
NON/A
+ +

+ NOTE: This object can have any number of additional user-defined + properties. +

+ + + +

+ Scroll To Top +

+ +

Range

+ +

+ +

+ A spatial, temporal, frame, or textual range describing the region of + interest. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
frame + + + Frame + + + +

A frame range.

+
+ NO + N/A
item + + + Item + + + +

A item identifier.

+
+ 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
+ + + +

+ Scroll To Top +

+ +

RangeType

+ +

The type of range for the region of interest.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RangeTypeTypeDescription
spatialstring +
+

+ A spatial range, see [Shape] for more details. +

+
+
temporalstring +
+

+ A temporal range, see [Time] for more details. +

+
+
framestring +
+

+ A spatial range, see [Frame] for more details. +

+
+
textualstring +
+

+ A textual range, see [Text] for more details. +

+
+
identifiedstring +
+

+ A range identified by a specific identifier and value, see + [Item] + for more details. +

+
+
+ +

+ +

+ Scroll To Top +

+ +

RegionOfInterest

+ +

+ +

+ A region of interest within an asset describing the change. This struct + can be used from [Action::changes][crate::assertions::Action::changes] or [Metadata::region_of_interest][crate::assertions::Metadata::region_of_interest]. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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 + type. +

+
+
+ NO + N/A
+ + + +

+ Scroll To Top +

+ +

Relationship

+ +

+ +

A string that is one of the following:

+ +
    +
  • “parentOf”
  • +
  • “componentOf”
  • +
  • “inputTo”
  • +
+ +

+ Scroll To Top +

+ +

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][crate::Reader::resource_to_stream]. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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
+ + + +

+ Scroll To Top +

+ +

ResourceStore

+ +

+ +

+ Resource store to contain binary objects referenced from JSON serializable + structures +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
base_path + + + + + String + + + + + + +

Description TBD.

+
+ NO + N/A
label + + + + + String + + + + + + +

Description TBD.

+
+ NO + N/A
resources + + + + + (Object) + +

Description TBD.

+
+ YES + N/A
+ + + +

+ Scroll To Top +

+ +

ReviewRating

+ +

+ +

+ A rating on an Assertion. See + https://c2pa.org/specifications/specifications/1.0/specs/C2PA_Specification.html#_claim_review. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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
+ + + +

+ Scroll To Top +

+ +

Role

+ +

A role describing the region.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RoleTypeDescription
c2pa.areaOfIntereststring +
+

Arbitrary area worth identifying.

+
+
c2pa.croppedstring +
+

This area is all that is left after a crop action.

+
+
c2pa.editedstring +
+

This area has had edits applied to it.

+
+
c2pa.placedstring +
+

The area where an ingredient was placed/added.

+
+
c2pa.redactedstring +
+

Something in this area was redacted.

+
+
c2pa.subjectAreastring +
+

Area specific to a subject (human or not).

+
+
c2pa.deletedstring +
+

A range of information was removed/deleted.

+
+
c2pa.styledstring +
+

Styling was applied to this area.

+
+
c2pa.watermarkedstring +
+

+ Invisible watermarking was applied to this area for the purpose + of soft binding. +

+
+
+ +

+ +

+ Scroll To Top +

+ +

Shape

+ +

+ +

+ A spatial range representing rectangle, circle, or a polygon. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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
+ + + +

+ Scroll To Top +

+ +

ShapeType

+ +

The type of shape for the range.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ShapeTypeTypeDescription
rectanglestring +

A rectangle.

+
circlestring +

A circle.

+
polygonstring +

A polygon.

+
+ +

+ +

+ Scroll To Top +

+ +

SignatureInfo

+ +

+ +

Holds information about a signature

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
alg + + + SigningAlg + + + +
+

Human-readable issuing authority for this signature.

+
+
NON/A
cert_serial_number + + + + + String + + + + + + +
+

The serial number of the certificate.

+
+
NON/A
issuer + + + + + String + + + + + + +
+

Human-readable issuing authority for this signature.

+
+
NON/A
revocation_status + + + + + Boolean + + + + + + +
+

Revocation status of the certificate.

+
+
NON/A
time + + + + + String + + + + + + +
+

The time the signature was created.

+
+
NON/A
+ + + +

+ Scroll To Top +

+ +

SigningAlg

+ +

Describes the digital signature algorithms allowed by the C2PA spec.

+ +

+ Per + §13.2, “Digital Signatures”: +

+ +
+

+ All digital signatures applied as per the technical requirements of this + > specification shall be generated using one of the digital signature + > algorithms and key types listed as described in this section. +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SigningAlgTypeDescription
Es256string +

ECDSA with SHA-256

+
Es384string +

ECDSA with SHA-384

+
Es512string +

ECDSA with SHA-512

+
Ps256string +
+

RSASSA-PSS using SHA-256 and MGF1 with SHA-256

+
+
Ps384string +
+

RSASSA-PSS using SHA-384 and MGF1 with SHA-384

+
+
Ps512string +
+

RSASSA-PSS using SHA-512 and MGF1 with SHA-512

+
+
Ed25519string +
+

Edwards-Curve DSA (Ed25519 instance only)

+
+
+ +

+ +

+ Scroll To Top +

+ +

StatusCodes

+ +

+ +

+ Contains a set of success, informational, and failure validation status + codes. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
failure + + + + + + An array of + ValidationStatus + +

Description TBD.

+
+ YES + N/A
informational + + + + + + An array of + ValidationStatus + +

Description TBD.

+
+ YES + N/A
success + + + + + + An array of + ValidationStatus + +

Description TBD.

+
+ YES + N/A
+ + + +

+ Scroll To Top +

+ +

Text

+ +

+ +

+ A textual range representing multiple (possibly discontinuous) ranges of + text. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
selectors + + + + + + An array of + TextSelectorRange + +

The ranges of text to select.

+
+ YES + N/A
+ + + +

+ Scroll To Top +

+ +

TextSelector

+ +

+ +

+ Selects a range of text via a fragment identifier. This is modeled after + the W3C Web Annotation selector model. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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
+ + + +

+ Scroll To Top +

+ +

TextSelectorRange

+ +

+ +

+ One or two [TextSelector][TextSelector] identifiying the range to select. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
end + + + TextSelector + + + +

The end of the text range.

+
+ NO + N/A
selector + + + TextSelector + + + +
+

The start (or entire) text range.

+
+
+ YES + N/A
+ + + +

+ Scroll To Top +

+ +

Time

+ +

+ +

+ A temporal range representing a starting time to an ending time. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
end + + + + + String + + + + + + +
+

The end time or the end of the asset if not present.

+
+
NON/A
start + + + + + String + + + + + + +
+

The start time or the start of the asset if not present.

+
+
NON/A
type + + + TimeType + + + +

The type of time.

+
NOnpt
+ + + +

+ Scroll To Top +

+ +

TimeType

+ +

The type of time.

+ + + + + + + + + + + + + + + + + +
TimeTypeTypeDescription
nptstring +
+

+ Times are described using Normal Play Time (npt) as described in + RFC 2326. +

+
+
+ +

+ +

+ Scroll To Top +

+ +

UnitType

+ +

The type of unit for the range.

+ + + + + + + + + + + + + + + + + + + + + + +
UnitTypeTypeDescription
pixelstring +

Use pixels.

+
percentstring +

Use percentage.

+
+ +

+ +

+ Scroll To Top +

+ +

UriOrResource

+ +

+ +

Description TBD.

+

Any of the following:

+ + + +

+ Scroll To Top +

+ +

ValidationResults

+ +

+ +

+ A map of validation results for a manifest store. The map contains the + validation results for the active manifest and any ingredient deltas. It + is normal for there to be many +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
activeManifest + + + StatusCodes + + + +

Description TBD.

+
NON/A
ingredientDeltas + + + + + Array of + + IngredientDeltaValidationResult + + + + + +

Description TBD.

+
NON/A
+ + + +

+ Scroll To Top +

+ +

ValidationState

+ +

Indicates if the manifest store is valid and trusted.

+ +

+ The Trusted state implies the manifest store is valid and the active + signature is trusted. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ValidationStateTypeDescription
Invalidstring +
+

Errors were found in the manifest store.

+
+
Validstring +
+

+ No errors were found in validation, but the active signature is + not trusted. +

+
+
Trustedstring +
+

+ The manifest store is valid and the active signature is trusted. +

+
+
+ +

+ +

+ Scroll To Top +

+ +

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. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
code + + + + + String + +

Description TBD.

+
+ YES + N/A
explanation + + + + + String + + + + + + +

Description TBD.

+
+ NO + N/A
success + + + + + Boolean + + + + + + +

Description TBD.

+
+ NO + N/A
url + + + + + String + + + + + + +

Description TBD.

+
+ NO + N/A
+ + + +

+ +

+ + diff --git a/docs/manifest/json-ref/manifest-ref.mdx b/docs/manifest/json-ref/reader.mdx similarity index 67% rename from docs/manifest/json-ref/manifest-ref.mdx rename to docs/manifest/json-ref/reader.mdx index 9cf14fc4..d0cb7b65 100644 --- a/docs/manifest/json-ref/manifest-ref.mdx +++ b/docs/manifest/json-ref/reader.mdx @@ -1,6 +1,6 @@ --- -id: manifest-ref -title: Manifest store reference +id: reader +title: Reader JSON reference hide_table_of_contents: true --- @@ -10,4 +10,4 @@ import ManifestReference from './manifest-ref.js'; This is a beta release of this reference. It is a work in progress and may not be accurate or complete. ::: - + diff --git a/docs/manifest/json-ref/reference-cai.html b/docs/manifest/json-ref/reference-cai.html index fdbc8789..d27006c4 100644 --- a/docs/manifest/json-ref/reference-cai.html +++ b/docs/manifest/json-ref/reference-cai.html @@ -1,4225 +1,4988 @@ - - -
-
- - active_manifest - - : - - UUID - -
-
- - manifests - + + + + + + CAI manifest store reference - Manifest Reference + + + + + + + + -
-
- UUID - : + +
+
+ active_manifest: UUID
-
- Manifest +
+ manifests
-
-
-
- UUID - : + +
+
+ UUID: +
+
-
- Manifest +
+
+ UUID: +
+
-
-
- - ... - -
-
-
+
... - validation_status - - : Array of
-
- ValidationStatus +
+
+ validation_status: Array of +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
- - - - - - - - - - - - - - - - - - - - - -
- -
-
- -
- title -
-
- : - - A human-readable title, generally source filename. - -
+ + -
- -
- label -
-
- : - + +
+
+ + +
+ title +
+
: - Description TBD - . - -
-
-
- -
- format -
-
- : - - The format of the source file as a MIME type. - -
-
-
- -
- credentials -
-
- : - A List of verified credentials -
-
-
- -
- instance_id -
-
- : - - Instance ID from - - xmpMM:InstanceID - - in XMP metadata. - -
-
-
- -
- redactions -
-
- : - - A list of redactions - URIs to a redacted assertions - + A human-readable title, generally source filename. + +
-
-
- -
- claim_generator -
-
- : - - 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 - +
+ + +
+ label +
+
+ : : Description TBD. +
-
-
-
- claim_generator_info +
+ + +
+ format +
+
+ : + The format of the source file as a MIME type. + +
-
- ClaimGeneratorInfo +
+ + +
+ credentials +
+
+ : A List of verified credentials +
-
-
-
- thumbnail +
+ + +
+ instance_id +
+
+ : + Instance ID from + xmpMM:InstanceID + in XMP metadata. + +
-
- ResourceRef +
+ + +
+ redactions +
+
+ : + A list of redactions - URIs to a redacted assertions + +
-
-
-
- + + +
- ingredients - - : Array of + claim_generator +
+
+ : + 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 + +
-
- Ingredient + +
+
+ claim_generator_info +
+
-
-
-
- +
- assertions - - : Array of + thumbnail +
+
-
- ManifestAssertion +
+
+ ingredients: Array of +
+
-
-
-
- signature_info +
+
+ assertions: Array of +
+
-
- SignatureInfo +
+
+ signature_info +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- -

-

ManifestStore

-

A Container for a set of Manifests and a ValidationStatus list..

-

Properties

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?
active_manifest - - - String - - - - -

A label for the active (most recent) manifest in the store.

-
- - NO -
manifestsObject -

A HashMap of Manifests.

-
- See - Manifest -
- - YES -
validation_status - - - Array of - ValidationStatus - - - -

- ValidationStatus generated when loading the ManifestStore from an - asset. -

-
- - NO -
- -

Definitions

- - - - - - - - - - - -
- Actor -
- AssetType -
- ClaimGeneratorInfo -
- Coordinate -
- DataSource -
- Frame -
- HashedUri -
-
- Ingredient -
- Manifest -
- ManifestAssertion -
- ManifestAssertionKind -
- ManifestData -
- Metadata -
- Range -
-
- RangeType -
- RegionOfInterest -
- Relationship -
- ResourceRef -
- ReviewRating -
- Role -
- Shape -
-
- ShapeType -
- SignatureInfo -
- SigningAlg -
- Text -
- TextSelector -
- TextSelectorRange -
- Time -
-
- TimeType -
- UnitType -
- UriOrResource -
- ValidationStatus -
-
- -

- - Scroll To Top - -

-

Actor

-

- -

-

Identifies a person responsible for an action.

- - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
credentials - - - Array of - HashedUri - - - -
-

List of references to W3C Verifiable Credentials.

-
-
- - NO - - - N/A -
identifier - - - String - - - - -
+ +

ManifestStore

+ +
+

A Container for a set of Manifests and a ValidationStatus list.

+
+ +

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + +
PropertyTypeDescriptionRequired?Default Value
active_manifest + + + + + String + + + + + + +

A label for the active (most recent) manifest in the store.

+
+ + NO + + + + N/A +
manifestsObject +

A HashMap of Manifests.

+ +
See + Manifest +
+ + YES + + + + N/A +
validation_status + + + + + Array of + + ValidationStatus + + + + +

- An identifier for a human actor, used when the “type” is - - humanEntry.identified - - . + ValidationStatus generated when loading the ManifestStore from an + asset.

- -
- - NO - + + + NO + + + + N/A +
+ + + +

Definitions

+ + + + + + + + + + + + + + + + + +
+ Actor
+ + AssetType
+ + ClaimGeneratorInfo
+ + Coordinate
+ + DataSource
+ + Frame
+ + HashedUri
+
+ Ingredient
+ + Manifest
+ + ManifestAssertion
+ + ManifestAssertionKind
+ + ManifestData
+ + Metadata
+ + Range
+
+ RangeType
+ + RegionOfInterest
+ + Relationship
+ + ResourceRef
+ + ReviewRating
+ + Role
+ + Shape
+
+ ShapeType
+ + SignatureInfo
+ + SigningAlg
+ + Text
+ + TextSelector
+ + TextSelectorRange
+ + Time
+
+ TimeType
+ + UnitType
+ + UriOrResource
+ + ValidationStatus
+
+ + + +

+ Scroll To Top +

+ +

Actor

+ +

+ +

Identifies a person responsible for an action.

+ + + + + + + + + + + + + + + + + + + + + + + + + - N/A - - - -
PropertyTypeDescriptionRequired?Default Value
credentials + + + + + Array of + + HashedUri + + + + + +
+

List of references to W3C Verifiable Credentials.

+
+
NO
- -

- - Scroll To Top - -

-

AssetType

-

- -

-

- - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + +
PropertyTypeDescriptionRequired?Default Value
type - - - String - -

Description TBD.

-
- - YES - + N/A
identifier + + + + + String + + + + + + +
+

+ An identifier for a human actor, used when the “type” is + humanEntry.identified. +

+
+
NO
version - - - String - - - - -

Description TBD.

-
- - NO - + N/A
+ + + +

+ Scroll To Top +

+ +

AssetType

+ +

+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + - N/A - - - -
PropertyTypeDescriptionRequired?Default Value
type + + + + + String + +

Description TBD.

+
+ YES +
- -

- - Scroll To Top - -

-

ClaimGeneratorInfo

-

- -

-

- Description of the claim generator, or the software used in generating the - claim. This structure is also used for actions softwareAgent -

- - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + +
PropertyTypeDescriptionRequired?Default Value
icon - - UriOrResource - - -
-

hashed URI to the icon (either embedded or remote)

-
-
- - NO - + N/A
version + + + + + String + + + + + + +

Description TBD.

+
+ NO +
name - - - String - -
-

A human readable string naming the claim_generator

-
-
- - YES - + N/A
+ + + +

+ Scroll To Top +

+ +

ClaimGeneratorInfo

+ +

+ +

+ Description of the claim generator, or the software used in generating the + claim. This structure is also used for actions softwareAgent +

+ + + + + + + + + + + + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - -
PropertyTypeDescriptionRequired?Default Value
icon + + + UriOrResource + + + +
+

hashed URI to the icon (either embedded or remote)

+
+
+ NO +
version - - - String - - - - -
-

A human readable string of the product’s version

-
-
- - NO - + N/A
name + + + + + String + +
+

A human readable string naming the claim_generator

+
+
+ YES +
-

- NOTE: This object can have any number of additional user-defined properties. -

- -

- - Scroll To Top - -

-

Coordinate

-

- -

-

- An x, y coordinate used for specifying vertices in polygons. -

- - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + +
PropertyTypeDescriptionRequired?Default Value
x - - - Number / double - -
-

The coordinate along the x-axis.

-
-
- - YES - + N/A
version + + + + + String + + + + + + +
+

A human readable string of the product’s version

+
+
+ NO +
y - - - Number / double - -
-

The coordinate along the y-axis.

-
-
- - YES - + N/A
+ +

+ NOTE: This object can have any number of additional user-defined + properties. +

+ + + +

+ Scroll To Top +

+ +

Coordinate

+ +

+ +

+ An x, y coordinate used for specifying vertices in polygons. +

+ + + + + + + + + + + + + + + + + + + + + + + + + - N/A - - - -
PropertyTypeDescriptionRequired?Default Value
x + + + + + Number / double + +

The coordinate along the x-axis.

+
+ YES +
- -

- - Scroll To Top - -

-

DataSource

-

- -

-

A description of the source for assertion data

- - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + +
PropertyTypeDescriptionRequired?Default Value
actors - - - Array of - Actor - - - -
-

- A list of [ - Actor - ]s associated with this source. -

-
-
- - NO - + N/A
y + + + + + Number / double + +

The coordinate along the y-axis.

+
+ YES +
details - - - String - - - - -
-

- A human-readable string giving details about the source of the - assertion data. -

-
-
- - NO - + N/A
+ + + +

+ Scroll To Top +

+ +

DataSource

+ +

+ +

A description of the source for assertion data

+ + + + + + + + + + + + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - -
PropertyTypeDescriptionRequired?Default Value
actors + + + + + Array of + + Actor + + + + + +
+

+ A list of [Actor]s associated with this source. +

+
+
+ NO +
type - - - String - -
-

- A value from among the enumerated list indicating the source of - the assertion. -

-
-
- - YES - + N/A
details + + + + + String + + + + + + +
+

+ A human-readable string giving details about the source of the + assertion data. +

+
+
+ NO +
- -

- - Scroll To Top - -

-

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. -

- - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + +
PropertyTypeDescriptionRequired?Default Value
end - - - Integer - - (int32) - - - -
-

- The end of the frame inclusive or the end of the asset if not - present. -

-
-
- - NO - + N/A
type + + + + + String + +
+

+ A value from among the enumerated list indicating the source of + the assertion. +

+
+
+ YES +
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
+ + + +

+ Scroll To Top +

+ +

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. +

+ + + + + + + + + + + + + + + + + + + + + + + + + - N/A - - - -
PropertyTypeDescriptionRequired?Default Value
end + + + + + Integer + + (int32) + + + + + +
+

+ The end of the frame inclusive or the end of the asset if not + present. +

+
+
NO
- -

- - Scroll To Top - -

-

HashedUri

-

- -

-

- Hashed Uri structure as defined by C2PA spec It is annotated to produce the - correctly tagged cbor serialization -

- - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + +
PropertyTypeDescriptionRequired?Default Value
alg - - - String - - - - -

Description TBD.

-
- - 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
hash - - - - An array of - integer - -

Description TBD.

-
- - YES - + N/A
+ + + +

+ Scroll To Top +

+ +

HashedUri

+ +

+ +

+ Hashed Uri structure as defined by C2PA spec It is annotated to produce + the correctly tagged cbor serialization +

+ + + + + + + + + + + + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - -
PropertyTypeDescriptionRequired?Default Value
alg + + + + + String + + + + + + +

Description TBD.

+
+ NO +
url - - - String - -

Description TBD.

-
- - YES - + N/A
hash + + + + + + An array of + integer + +

Description TBD.

+
+ YES +
- -

- - Scroll To Top - -

-

Ingredient

-

- -

-

- An - Ingredient - is any external asset that has been used in the creation of an asset. -

- - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + +
PropertyTypeDescriptionRequired?Default Value
active_manifest - - - String - - - - -
-

The active manifest label (if one exists).

-

- If this ingredient has a - - - ManifestStore - - - , this will hold the label of the active - - - Manifest - - - . -

-
-
- - NO - + N/A
url + + + + + String + +

Description TBD.

+
+ YES +
data - - ResourceRef - - -
-

A reference to the actual data of the ingredient.

-
-
- - NO - + N/A
+ + + +

+ Scroll To Top +

+ +

Ingredient

+ +

+ +

+ An Ingredient is + any external asset that has been used in the creation of an asset. +

+ + + + + + + + + + + + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - application/octet-stream - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - componentOf - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - -
PropertyTypeDescriptionRequired?Default Value
active_manifest + + + + + String + + + + + + +
+

The active manifest label (if one exists).

+ +

+ If this ingredient has a + ManifestStore + , this will hold the label of the active + Manifest. +

+
+
+ NO +
data_types - - - Array of - AssetType - - - -
-

- Additional information about the data’s type to the ingredient V2 - structure. -

-
-
- - NO - + N/A
data + + + ResourceRef + + + +
+

A reference to the actual data of the ingredient.

+
+
+ NO +
description - - - String - - - - -
-

Additional description of the ingredient.

-
-
- - NO - + N/A
data_types + + + + + Array of + + AssetType + + + + + +
+

+ Additional information about the data’s type to the ingredient + V2 structure. +

+
+
+ NO +
document_id - - - String - - - - -
-

- Document ID from - - xmpMM:DocumentID - - in XMP metadata. -

-
-
- - NO - + N/A
description + + + + + String + + + + + + +
+

Additional description of the ingredient.

+
+
+ NO +
format - - - String - -
-

The format of the source file as a MIME type.

-
-
- - NO - + N/A
document_id + + + + + String + + + + + + +
+

+ Document ID from + xmpMM:DocumentID + in XMP metadata. +

+
+
+ NO +
hash - - - String - - - - -
-

An optional hash of the asset to prevent duplicates.

-
-
- - NO - + N/A
format + + + + + String + +
+

The format of the source file as a MIME type.

+
+
+ NO +
informational_URI - - - String - - - - -
-

- URI to an informational page about the ingredient or its data. -

-
-
- - NO - + application/octet-stream
hash + + + + + String + + + + + + +
+

An optional hash of the asset to prevent duplicates.

+
+
+ NO +
instance_id - - - String - - - - -
-

- Instance ID from - - xmpMM:InstanceID - - in XMP metadata. -

-
-
- - NO - + N/A
informational_URI + + + + + String + + + + + + +
+

+ URI to an informational page about the ingredient or its data. +

+
+
+ NO +
manifest_data - - ResourceRef - - -
-

- A - - - ManifestStore - - - from the source asset extracted as a binary C2PA blob. -

-
-
- - NO - + N/A
instance_id + + + + + String + + + + + + +
+

+ Instance ID from + xmpMM:InstanceID + in XMP metadata. +

+
+
+ NO +
metadata - - Metadata - - -
-

- Any additional - - - Metadata - - - as defined in the C2PA spec. -

-
-
- - NO - + N/A
manifest_data + + + ResourceRef + + + +
+

+ A + ManifestStore + from the source asset extracted as a binary C2PA blob. +

+
+
+ NO +
provenance - - - String - - - - -
-

- URI from - - dcterms:provenance - - in XMP metadata. -

-
-
- - NO - + N/A
metadata + + + Metadata + + + +
+

+ Any additional + Metadata + as defined in the C2PA spec. +

+
+
+ NO +
relationship - - Relationship - - -
-

- Set to - - ParentOf - - if this is the parent ingredient. -

-

There can only be one parent ingredient in the ingredients.

-
-
- - NO - + N/A
provenance + + + + + String + + + + + + +
+

+ URI from + dcterms:provenance + in XMP metadata. +

+
+
+ NO +
thumbnail - - ResourceRef - - -
-

- A thumbnail image capturing the visual state at the time of - import. -

-

- A tuple of thumbnail MIME format (for example - - image/jpeg - - ) and binary bits of the image. -

-
-
- - NO - + N/A
relationship + + + Relationship + + + +
+

+ Set to + ParentOf + if this is the parent ingredient. +

+ +

There can only be one parent ingredient in the ingredients.

+
+
+ NO +
title - - - String - -
-

A human-readable title, generally source filename.

-
-
- - YES - + componentOf
thumbnail + + + ResourceRef + + + +
+

+ A thumbnail image capturing the visual state at the time of + import. +

+ +

+ A tuple of thumbnail MIME format (for example + image/jpeg) and binary bits of the image. +

+
+
+ NO +
validation_status - - - Array of - ValidationStatus - - - -
-

Validation results.

-
-
- - NO - + N/A
title + + + + + String + +
+

A human-readable title, generally source filename.

+
+
+ YES +
- -

- - Scroll To Top - -

-

Manifest

-

- -

-

- A Manifest represents all the information in a c2pa manifest -

- - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - Empty array - - - - - - - - - - + + +
PropertyTypeDescriptionRequired?Default Value
assertions - - - - An array of - ManifestAssertion - -
-

A list of assertions

-
-
- - NO - + N/A
validation_status + + + + + Array of + + ValidationStatus + + + + + +

Validation results.

+
+ NO +
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 - + N/A
+ + + +

+ Scroll To Top +

+ +

Manifest

+ +

+ +

+ A Manifest represents all the information in a c2pa manifest +

+ + + + + + + + + + + + + + + + + + + + + + + + + - c2pa/0.36.3 - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - application/octet-stream - - - - - - - - - - + + + + + + + + + + + + + + - Empty array - - - - - - - - - - + + + + + + + + + + + + + + - xmp:iid:eafef862-379d-44a1-99f7-2ead485e279d - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - -
PropertyTypeDescriptionRequired?Default Value
assertions + + + + + + An array of + ManifestAssertion + +

A list of assertions

+
NO
claim_generator_info - - - Array of - ClaimGeneratorInfo - - - -
-

- A list of claim generator info data identifying the - software/hardware/system produced this claim -

-
-
- - 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
credentials - - - Array of true - - - -
-

A List of verified credentials

-
-
- - 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
format - - - String - -
-

The format of the source file as a MIME type.

-
-
- - NO - + N/A
credentials + + + + + Array of true + + + + + +

A List of verified credentials

+
NO
ingredients - - - - An array of - Ingredient - -
-

A List of ingredients

-
-
- - NO - + N/A
format + + + + + String + +
+

The format of the source file as a MIME type.

+
+
NO
instance_id - - - String - -
-

- Instance ID from - - xmpMM:InstanceID - - in XMP metadata. -

-
-
- - NO - + application/octet-stream
ingredients + + + + + + An array of + Ingredient + +

A List of ingredients

+
NO
label - - - String - - - - -

Description TBD.

-
- - NO - + Empty array
instance_id + + + + + String + +
+

+ Instance ID from + xmpMM:InstanceID + in XMP metadata. +

+
+
NO
metadata - - - Array of - Metadata - - - -
-

A list of user metadata for this claim

-
-
- - NO - + + xmp:iid:eafef862-379d-44a1-99f7-2ead485e279d +
label + + + + + String + + + + + + +

Description TBD.

+
NO
redactions - - - Array of string - - - -
-

A list of redactions - URIs to a redacted assertions

-
-
- - NO - + N/A
metadata + + + + + Array of + + Metadata + + + + + +
+

A list of user metadata for this claim

+
+
NO
signature_info - - SignatureInfo - - -
-

Signature data (only used for reporting)

-
-
- - NO - + N/A
redactions + + + + + Array of string + + + + + +
+

A list of redactions - URIs to a redacted assertions

+
+
NO
thumbnail - - ResourceRef - - -

Description TBD.

-
- - NO - + N/A
signature_info + + + SignatureInfo + + + +
+

Signature data (only used for reporting)

+
+
NO
title - - - String - - - - -
-

A human-readable title, generally source filename.

-
-
- - NO - + N/A
thumbnail + + + ResourceRef + + + +

Description TBD.

+
NO
vendor - - - String - - - - -
-

- Optional prefix added to the generated Manifest Label This is - typically Internet domain name for the vendor (i.e. - adobe - ) -

-
-
- - NO - + N/A
title + + + + + String + + + + + + +
+

A human-readable title, generally source filename.

+
+
NO
- -

- - Scroll To Top - -

-

ManifestAssertion

-

- -

-

- A labeled container for an Assertion value in a Manifest -

- - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + +
PropertyTypeDescriptionRequired?Default Value
data - - ManifestData - - -
-

The data of the assertion as Value

-
-
- - YES - + N/A
vendor + + + + + String + + + + + + +
+

+ Optional prefix added to the generated Manifest Label This is + typically Internet domain name for the vendor (i.e. + adobe) +

+
+
NO
instance - - - Integer - - (uint) -
- Minimum: 0.0 - - -
-
-

There can be more than one assertion for any label

-
-
- - NO - + N/A
+ + + +

+ Scroll To Top +

+ +

ManifestAssertion

+ +

+ +

+ A labeled container for an Assertion value in a Manifest +

+ + + + + + + + + + + + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - -
PropertyTypeDescriptionRequired?Default Value
data + + + ManifestData + + + +
+

The data of the assertion as Value

+
+
+ YES +
kind - - ManifestAssertionKind - - -
-

- The - ManifestAssertionKind - for this assertion (as stored in c2pa content) -

-
-
- - NO - + N/A
instance + + + + + Integer + + (uint)
Minimum: 0.0 + + + + +
+
+

There can be more than one assertion for any label

+
+
+ NO +
label - - - String - -
-

An assertion label in reverse domain format

-
-
- - YES - + N/A
kind + + + ManifestAssertionKind + + + +
+

+ The + ManifestAssertionKind + for this assertion (as stored in c2pa content) +

+
+
+ NO +
- -

- - Scroll To Top - -

-

ManifestAssertionKind

-

- -

-

A string that is one of the following:

-
    -
  • “Cbor”
  • -
  • “Json”
  • -
  • “Binary”
  • -
  • - “Uri” - -
  • -
-

- - Scroll To Top - -

-

ManifestData

-

- -

-

Description TBD.

-

Any of the following:

-
    - -
  • true
  • - -
  • type: integer, format: uint8, minimum: 0.0
  • -
-

- - Scroll To Top - -

-

Metadata

-

- -

-

- The Metadata structure can be used as part of other assertions or on its own - to reference others -

- - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + +
PropertyTypeDescriptionRequired?Default Value
dataSource - - DataSource - - -

Description TBD.

-
- - NO - + N/A
label + + + + + String + +
+

An assertion label in reverse domain format

+
+
+ YES +
dateTime - - - String - -
-

A date time in ISO 8601 format.

-
-
- - NO - + N/A
+ + + +

+ Scroll To Top +

+ +

ManifestAssertionKind

+ +

+ +

A string that is one of the following:

+ +
    +
  • “Cbor”
  • +
  • “Json”
  • +
  • “Binary”
  • +
  • “Uri”
  • +
+ +

+ Scroll To Top +

+ +

ManifestData

+ +

+ +

Description TBD.

+

Any of the following:

+ +
    + +
  • true
  • + + +
  • type: integer, format: uint8, minimum: 0.0
  • +
+ +

+ Scroll To Top +

+ +

Metadata

+ +

+ +

+ The Metadata structure can be used as part of other assertions or on its + own to reference others +

+ + + + + + + + + + + + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - -
PropertyTypeDescriptionRequired?Default Value
dataSource + + + DataSource + + + +

Description TBD.

+
NO
reference - - HashedUri - - -

Description TBD.

-
- - NO - + N/A
dateTime + + + + + String + +

A date time in ISO 8601 format.

+
NO
regionOfInterest - - RegionOfInterest - - -

Description TBD.

-
- - NO - + N/A
reference + + + HashedUri + + + +

Description TBD.

+
NO
reviewRatings - - - Array of - ReviewRating - - - -

Description TBD.

-
- - NO - + N/A
regionOfInterest + + + RegionOfInterest + + + +

Description TBD.

+
NO
-

- NOTE: This object can have any number of additional user-defined properties. -

- -

- - Scroll To Top - -

-

Range

-

- -

-

- A spatial, temporal, frame, or textual range describing the region of - interest. -

- - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + +
PropertyTypeDescriptionRequired?Default Value
frame - - Frame - - -
-

A frame range.

-
-
- - NO - + N/A
reviewRatings + + + + + Array of + + ReviewRating + + + + + +

Description TBD.

+
NO
shape - - Shape - - -
-

A spatial range.

-
-
- - NO - + N/A
+ +

+ NOTE: This object can have any number of additional user-defined + properties. +

+ + + +

+ Scroll To Top +

+ +

Range

+ +

+ +

+ A spatial, temporal, frame, or textual range describing the region of + interest. +

+ + + + + + + + + + + + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - -
PropertyTypeDescriptionRequired?Default Value
frame + + + Frame + + + +

A frame range.

+
+ NO +
text - - Text - - -
-

A textual range.

-
-
- - NO - + N/A
shape + + + Shape + + + +

A spatial range.

+
+ NO +
time - - Time - - -
-

A temporal range.

-
-
- - NO - + N/A
text + + + Text + + + +

A textual range.

+
+ NO +
type - - RangeType - - -
-

The type of range of interest.

-
-
- - YES - + N/A
time + + + Time + + + +

A temporal range.

+
+ NO +
- -

- - Scroll To Top - -

-

RangeType

-

The type of range for the region of interest.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
RangeTypeTypeDescription
spatialstring -
-

- A spatial range, see - - - Shape - - - for more details. -

-
-
temporalstring -
-

- A temporal range, see - - Time - - for more details. -

-
-
framestring -
-

- A spatial range, see - - - Frame - - - for more details. -

-
-
textualstring -
-

- A textual range, see - - Text - - for more details. -

-
-
-

- -

-

- - Scroll To Top - -

-

RegionOfInterest

-

- -

-

- A region of interest within an asset describing the change. This struct can - be used from - - - Action::changes - - - or - - - Metadata::region_of_interest - - - . -

- - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + +
PropertyTypeDescriptionRequired?Default Value
description - - - String - - - - -
-

A free-text string.

-
-
- - NO - + N/A
type + + + RangeType + + + +

The type of range of interest.

+
+ YES +
identifier - - - String - - - - -
-

- A free-text string representing a machine-readable, unique to this - assertion, identifier for the region. -

-
-
- - NO - + N/A
+ + + +

+ Scroll To Top +

+ +

RangeType

+ +

The type of range for the region of interest.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RangeTypeTypeDescription
spatialstring +
+

+ A spatial range, see + Shape + for more details. +

+
+
temporalstring +
+

+ A temporal range, see + Time + for more details. +

+
+
framestring +
+

+ A spatial range, see + Frame + for more details. +

+
+
textualstring +
+

+ A textual range, see + Text + for more details. +

+
+
+ +

+ +

+ Scroll To Top +

+ +

RegionOfInterest

+ +

+ +

+ A region of interest within an asset describing the change. This struct + can be used from + Action::changes + or + Metadata::region_of_interest. +

+ + + + + + + + + + + + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - -
PropertyTypeDescriptionRequired?Default Value
description + + + + + String + + + + + + +

A free-text string.

+
+ NO +
metadata - - Metadata - - -
-

Additional information about the asset.

-
-
- - NO - + N/A
identifier + + + + + String + + + + + + +
+

+ A free-text string representing a machine-readable, unique to + this assertion, identifier for the region. +

+
+
+ NO +
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
metadata + + + Metadata + + + +
+

Additional information about the asset.

+
+
+ NO +
region - - - - An array of - Range - -
-

- A range describing the region of interest for the specific asset. -

-
-
- - YES - + 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 +
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
region + + + + + + An array of + Range + +
+

+ A range describing the region of interest for the specific + asset. +

+
+
+ YES +
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 - type - . -

-
-
- - NO - + 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 +
- -

- - Scroll To Top - -

-

Relationship

-

- -

-

A string that is one of the following:

-
    -
  • “parentOf”
  • -
  • “componentOf”
  • -
  • - “inputTo” - -
  • -
-

- - Scroll To Top - -

-

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 - - - . -

- - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + +
PropertyTypeDescriptionRequired?Default Value
alg - - - String - - - - -
-

The algorithm used to hash the resource (if applicable).

-
-
- - 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 + type. +

+
+
+ NO +
data_types - - - Array of - AssetType - - - -
-

More detailed data types as defined in the C2PA spec.

-
-
- - NO - + N/A
+ + + +

+ Scroll To Top +

+ +

Relationship

+ +

+ +

A string that is one of the following:

+ +
    +
  • “parentOf”
  • +
  • “componentOf”
  • +
  • “inputTo”
  • +
+ +

+ Scroll To Top +

+ +

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. +

+ + + + + + + + + + + + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - -
PropertyTypeDescriptionRequired?Default Value
alg + + + + + String + + + + + + +
+

The algorithm used to hash the resource (if applicable).

+
+
+ NO +
format - - - String - -
-

The mime type of the referenced resource.

-
-
- - YES - + N/A
data_types + + + + + Array of + + AssetType + + + + + +
+

More detailed data types as defined in the C2PA spec.

+
+
+ NO +
hash - - - String - - - - -
-

The hash of the resource (if applicable).

-
-
- - NO - + N/A
format + + + + + String + +
+

The mime type of the referenced resource.

+
+
+ YES +
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
hash + + + + + String + + + + + + +
+

The hash of the resource (if applicable).

+
+
+ NO +
- -

- - Scroll To Top - -

-

ReviewRating

-

- -

-

- A rating on an - - Assertion - - . See - - Review Ratings in C2PA spec - -

- - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + +
PropertyTypeDescriptionRequired?Default Value
code - - - String - - - - -

Description TBD.

-
- - 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 +
explanation - - - String - -

Description TBD.

-
- - YES - + N/A
+ + + +

+ Scroll To Top +

+ +

ReviewRating

+ +

+ +

+ A rating on an + Assertion. See + Review Ratings in C2PA spec +

+ + + + + + + + + + + + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - -
PropertyTypeDescriptionRequired?Default Value
code + + + + + String + + + + + + +

Description TBD.

+
+ NO +
value - - - Integer (uint8) -
- Minimum: 0.0 -
-

Description TBD.

-
- - YES - + N/A
explanation + + + + + String + +

Description TBD.

+
+ YES +
- -

- - Scroll To Top - -

-

Role

-

A role describing the region.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
RoleTypeDescription
c2pa.areaOfIntereststring -
-

Arbitrary area worth identifying.

-
-
c2pa.croppedstring -
-

This area is all that is left after a crop action.

-
-
c2pa.editedstring -
-

This area has had edits applied to it.

-
-
c2pa.placedstring -
-

The area where an ingredient was placed/added.

-
-
c2pa.redactedstring -
-

Something in this area was redacted.

-
-
c2pa.subjectAreastring -
-

Area specific to a subject (human or not).

-
-
c2pa.deletedstring -
-

A range of information was removed/deleted.

-
-
c2pa.styledstring -
-

Styling was applied to this area.

-
-
c2pa.watermarkedstring -
-

- Invisible watermarking was applied to this area for the purpose of - soft binding. -

-
-
-

- -

-

- - Scroll To Top - -

-

Shape

-

- -

-

- A spatial range representing rectangle, circle, or a polygon. -

- - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + +
PropertyTypeDescriptionRequired?Default Value
height - - - Number - - (double) - - - -
-

The height of a rectnagle.

-

This field can be ignored for circles and polygons.

-
-
- - NO - + N/A
value + + + + + Integer (uint8) +
Minimum: 0.0 +
+

Description TBD.

+
+ YES +
inside - - - Boolean - - - - -
-

If the range is inside the shape.

-

The default value is true.

-
-
- - NO - + N/A
+ + + +

+ Scroll To Top +

+ +

Role

+ +

A role describing the region.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RoleTypeDescription
c2pa.areaOfIntereststring +
+

Arbitrary area worth identifying.

+
+
c2pa.croppedstring +
+

This area is all that is left after a crop action.

+
+
c2pa.editedstring +
+

This area has had edits applied to it.

+
+
c2pa.placedstring +
+

The area where an ingredient was placed/added.

+
+
c2pa.redactedstring +
+

Something in this area was redacted.

+
+
c2pa.subjectAreastring +
+

Area specific to a subject (human or not).

+
+
c2pa.deletedstring +
+

A range of information was removed/deleted.

+
+
c2pa.styledstring +
+

Styling was applied to this area.

+
+
c2pa.watermarkedstring +
+

+ Invisible watermarking was applied to this area for the purpose + of soft binding. +

+
+
+ +

+ +

+ Scroll To Top +

+ +

Shape

+ +

+ +

+ A spatial range representing rectangle, circle, or a polygon. +

+ + + + + + + + + + + + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - -
PropertyTypeDescriptionRequired?Default Value
height + + + + + Number + + (double) + + + + + +
+

The height of a rectnagle.

+ +

This field can be ignored for circles and polygons.

+
+
+ NO +
origin - - Coordinate - - -
-

THe origin of the coordinate in the shape.

-
-
- - YES - + N/A
inside + + + + + Boolean + + + + + + +
+

If the range is inside the shape.

+ +

The default value is true.

+
+
+ NO +
type - - ShapeType - - -
-

The type of shape.

-
-
- - YES - + N/A
origin + + + Coordinate + + + +
+

THe origin of the coordinate in the shape.

+
+
+ YES +
unit - - UnitType - - -
-

The type of unit for the shape range.

-
-
- - YES - + N/A
type + + + ShapeType + + + +

The type of shape.

+
+ YES +
vertices - - - Array of - Coordinate - - - -
-

The vertices of the polygon.

-

This field can be ignored for rectangles and circles.

-
-
- - NO - + N/A
unit + + + UnitType + + + +
+

The type of unit for the shape range.

+
+
+ YES +
width - - - Number - - (double) - - - -
-

The width for rectangles or diameter for circles.

-

This field can be ignored for polygons.

-
-
- - NO - + N/A
vertices + + + + + Array of + + Coordinate + + + + + +
+

The vertices of the polygon.

+ +

This field can be ignored for rectangles and circles.

+
+
+ NO +
- -

- - Scroll To Top - -

-

ShapeType

-

The type of shape for the range.

- - - - - - - - - - - - - - - - - - - - - - - - - -
ShapeTypeTypeDescription
rectanglestring -
-

A rectangle.

-
-
circlestring -
-

A circle.

-
-
polygonstring -
-

A polygon.

-
-
-

- -

-

- - Scroll To Top - -

-

SignatureInfo

-

- -

-

Holds information about a signature

- - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + +
PropertyTypeDescriptionRequired?Default Value
alg - - SigningAlg - - -
-

human readable issuing authority for this signature

-
-
- - NO - + N/A
width + + + + + Number + + (double) + + + + + +
+

The width for rectangles or diameter for circles.

+ +

This field can be ignored for polygons.

+
+
+ NO +
cert_serial_number - - - String - - - - -
-

The serial number of the certificate

-
-
- - NO - + N/A
+ + + +

+ Scroll To Top +

+ +

ShapeType

+ +

The type of shape for the range.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ShapeTypeTypeDescription
rectanglestring +

A rectangle.

+
circlestring +

A circle.

+
polygonstring +

A polygon.

+
+ +

+ +

+ Scroll To Top +

+ +

SignatureInfo

+ +

+ +

Holds information about a signature

+ + + + + + + + + + + + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - -
PropertyTypeDescriptionRequired?Default Value
alg + + + SigningAlg + + + +
+

human readable issuing authority for this signature

+
+
NO
issuer - - - String - - - - -
-

human readable issuing authority for this signature

-
-
- - NO - + N/A
cert_serial_number + + + + + String + + + + + + +
+

The serial number of the certificate

+
+
NO
revocation_status - - - Boolean - - - - -
-

revocation status of the certificate

-
-
- - NO - + N/A
issuer + + + + + String + + + + + + +
+

human readable issuing authority for this signature

+
+
NO
time - - - String - - - - -
-

the time the signature was created

-
-
- - NO - + N/A
revocation_status + + + + + Boolean + + + + + + +
+

revocation status of the certificate

+
+
NO
- -

- - Scroll To Top - -

-

SigningAlg

-

- Describes the digital signature algorithms allowed by the - - C2PA spec - - : -

-
+
N/A
time + + + + + String + + + + + + +
+

the time the signature was created

+
+
NON/A
+ + + +

+ Scroll To Top +

+ +

SigningAlg

+

- 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. + Describes the digital signature algorithms allowed by the + C2PA spec:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SigningAlgTypeDescription
Es256string -
-

ECDSA with SHA-256

-
-
Es384string -
-

ECDSA with SHA-384

-
-
Es512string -
-

ECDSA with SHA-512

-
-
Ps256string -
-

RSASSA-PSS using SHA-256 and MGF1 with SHA-256

-
-
Ps384string -
-

RSASSA-PSS using SHA-384 and MGF1 with SHA-384

-
-
Ps512string -
-

RSASSA-PSS using SHA-512 and MGF1 with SHA-512

-
-
Ed25519string -
-

Edwards-Curve DSA (Ed25519 instance only)

-
-
-

- -

-

- - Scroll To Top - -

-

Text

-

- -

-

- A textual range representing multiple (possibly discontinuous) ranges of - text. -

- - - - - - - - - - - - - - - - - - - + + +
PropertyTypeDescriptionRequired?Default Value
selectors - - - - An array of - TextSelectorRange - -
-

The ranges of text to select.

-
-
- - YES - + +
+

+ 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. +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SigningAlgTypeDescription
Es256string +

ECDSA with SHA-256

+
Es384string +

ECDSA with SHA-384

+
Es512string +

ECDSA with SHA-512

+
Ps256string +
+

RSASSA-PSS using SHA-256 and MGF1 with SHA-256

+
+
Ps384string +
+

RSASSA-PSS using SHA-384 and MGF1 with SHA-384

+
+
Ps512string +
+

RSASSA-PSS using SHA-512 and MGF1 with SHA-512

+
+
Ed25519string +
+

Edwards-Curve DSA (Ed25519 instance only)

+
+
+ +

+ +

+ Scroll To Top +

+ +

Text

+ +

+ +

+ A textual range representing multiple (possibly discontinuous) ranges of + text. +

+ + + + + + + + + + + + + + + + + + + + + + + + + - N/A - - - -
PropertyTypeDescriptionRequired?Default Value
selectors + + + + + + An array of + TextSelectorRange + +

The ranges of text to select.

+
+ YES +
- -

- - Scroll To Top - -

-

TextSelector

-

- -

-

- Selects a range of text via a fragment identifier. This is modeled after the - W3C Web Annotation selector model. -

- - - - - - - - - - - - - - - - - - - + + +
PropertyTypeDescriptionRequired?Default Value
end - - - Integer - - (int32) - - - -
-

- The end character offset or the end of the fragment if not - present. -

-
-
- - NO - + N/A
+ + + +

+ Scroll To Top +

+ +

TextSelector

+ +

+ +

+ Selects a range of text via a fragment identifier. This is modeled after + the W3C Web Annotation selector model. +

+ + + + + + + + + + + + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - -
PropertyTypeDescriptionRequired?Default Value
end + + + + + Integer + + (int32) + + + + + +
+

+ The end character offset or the end of the fragment if not + present. +

+
+
+ NO +
fragment - - - String - -
-

- Fragment identifier as per RFC3023 (XML) or ISO 32000-2 (PDF), - Annex O. -

-
-
- - YES - + N/A
fragment + + + + + String + +
+

+ Fragment identifier as per RFC3023 (XML) or ISO 32000-2 (PDF), + Annex O. +

+
+
+ YES +
start - - - Integer - - (int32) - - - -
-

- The start character offset or the start of the fragment if not - present. -

-
-
- - NO - + N/A
start + + + + + Integer + + (int32) + + + + + +
+

+ The start character offset or the start of the fragment if not + present. +

+
+
+ NO +
- -

- - Scroll To Top - -

-

TextSelectorRange

-

- -

-

- One or two - - TextSelector - - objects identifying the range to select. -

- - - - - - - - - - - - - - - - - - - + + +
PropertyTypeDescriptionRequired?Default Value
end - - TextSelector - - -
-

The end of the text range.

-
-
- - NO - + N/A
+ + + +

+ Scroll To Top +

+ +

TextSelectorRange

+ +

+ +

+ One or two + TextSelector + objects identifying the range to select. +

+ + + + + + + + + + + + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - -
PropertyTypeDescriptionRequired?Default Value
end + + + TextSelector + + + +

The end of the text range.

+
+ NO +
selector - - TextSelector - - -
-

The start (or entire) text range.

-
-
- - YES - + N/A
selector + + + TextSelector + + + +
+

The start (or entire) text range.

+
+
+ YES +
- -

- - Scroll To Top - -

-

Time

-

- -

-

- A temporal range representing a starting time to an ending time. -

- - - - - - - - - - - - - - - - - - - + + +
PropertyTypeDescriptionRequired?Default Value
end - - - String - - - - -
-

The end time or the end of the asset if not present.

-
-
- - NO - + N/A
+ + + +

+ Scroll To Top +

+ +

Time

+ +

+ +

+ A temporal range representing a starting time to an ending time. +

+ + + + + + + + + + + + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - npt - - - -
PropertyTypeDescriptionRequired?Default Value
end + + + + + String + + + + + + +
+

The end time or the end of the asset if not present.

+
+
NO
start - - - String - - - - -
-

The start time or the start of the asset if not present.

-
-
- - NO - + N/A
start + + + + + String + + + + + + +
+

The start time or the start of the asset if not present.

+
+
NO
type - - TimeType - - -
-

The type of time.

-
-
- - NO - + N/A
type + + + TimeType + + + +

The type of time.

+
NO
- -

- - Scroll To Top - -

-

TimeType

-

The type of time.

- - - - - - - - - - - - - - - -
TimeTypeTypeDescription
nptstring -
-

- Times are described using Normal Play Time (npt) as described in - RFC 2326. -

-
-
-

- -

-

- - Scroll To Top - -

-

UnitType

-

The type of unit for the range.

- - - - - - - - - - - - - - - - - - - - -
UnitTypeTypeDescription
pixelstring -
-

Use pixels.

-
-
percentstring -
-

Use percentage.

-
-
-

- -

-

- - Scroll To Top - -

-

UriOrResource

-

- -

-

Description TBD.

-

Any of the following:

- -

- - Scroll To Top - -

-

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 - - . -

- - - - - - - - - - - - - - - - - - - + + +
PropertyTypeDescriptionRequired?Default Value
code - - - String - -

Description TBD.

-
- - YES - + npt
+ + + +

+ Scroll To Top +

+ +

TimeType

+ +

The type of time.

+ + + + + + + + + + + + + + + + + +
TimeTypeTypeDescription
nptstring +
+

+ Times are described using Normal Play Time (npt) as described in + RFC 2326. +

+
+
+ +

+ +

+ Scroll To Top +

+ +

UnitType

+ +

The type of unit for the range.

+ + + + + + + + + + + + + + + + + + + + + + +
UnitTypeTypeDescription
pixelstring +

Use pixels.

+
percentstring +

Use percentage.

+
+ +

+ +

+ Scroll To Top +

+ +

UriOrResource

+ +

+ +

Description TBD.

+

Any of the following:

+ + + +

+ Scroll To Top +

+ +

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. +

+ + + + + + + + + + + + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - - - - - - - - + + + + + + + + + + + + + + - N/A - - - -
PropertyTypeDescriptionRequired?Default Value
code + + + + + String + +

Description TBD.

+
+ YES +
explanation - - - String - - - - -

Description TBD.

-
- - NO - + N/A
explanation + + + + + String + + + + + + +

Description TBD.

+
+ NO +
url - - - String - - - - -

Description TBD.

-
- - NO - + N/A
url + + + + + String + + + + + + +

Description TBD.

+
+ NO +
- -

- -

- +
N/A
+ + + +

+ +

+ + diff --git a/sidebars.js b/sidebars.js index 00b60359..2adec6da 100644 --- a/sidebars.js +++ b/sidebars.js @@ -51,13 +51,20 @@ const sidebars = { label: 'Examples', }, { - type: 'doc', - id: 'manifest/json-ref/manifest-ref', - }, - { - type: 'doc', - id: 'manifest/json-ref/manifest-json-schema', - label: 'JSON schema', + type: 'category', + label: 'JSON reference', + link: { type: 'doc', id: 'manifest/json-ref/index' }, + collapsed: true, + items: [ + { + type: 'doc', + id: 'manifest/json-ref/manifest-def', + }, + { + type: 'doc', + id: 'manifest/json-ref/reader', + }, + ], }, ], }, From 60e0be94da0d9dd875eb5221c216b832eb1dde12 Mon Sep 17 00:00:00 2001 From: Rand McKinney Date: Wed, 14 May 2025 14:35:06 -0700 Subject: [PATCH 3/5] New generated html files and add json ref index --- docs/manifest/json-ref/index.md | 6 +- docs/manifest/json-ref/json-schema-cai.html | 1269 ---- docs/manifest/json-ref/manifest-def-cai.html | 4596 --------------- docs/manifest/json-ref/manifest-def.html | 4512 +++++++++++++++ docs/manifest/json-ref/manifest-def.mdx | 4 +- docs/manifest/json-ref/manifest-ref.js | 5 +- docs/manifest/json-ref/reader-cai.html | 5401 ------------------ docs/manifest/json-ref/reader.html | 5327 +++++++++++++++++ docs/manifest/json-ref/reader.mdx | 4 +- docs/manifest/json-ref/reference-cai.html | 4988 ---------------- 10 files changed, 9850 insertions(+), 16262 deletions(-) delete mode 100644 docs/manifest/json-ref/json-schema-cai.html delete mode 100644 docs/manifest/json-ref/manifest-def-cai.html create mode 100644 docs/manifest/json-ref/manifest-def.html delete mode 100644 docs/manifest/json-ref/reader-cai.html create mode 100644 docs/manifest/json-ref/reader.html delete mode 100644 docs/manifest/json-ref/reference-cai.html diff --git a/docs/manifest/json-ref/index.md b/docs/manifest/json-ref/index.md index fdc9a434..1d7164fe 100644 --- a/docs/manifest/json-ref/index.md +++ b/docs/manifest/json-ref/index.md @@ -8,11 +8,11 @@ pagination_prev: null The manifest as described in the C2PA specification is a binary structure in JPEG universal metadata box format ([JUMBF](https://www.iso.org/standard/84635.html)) that can include JSON and binary data for things like encryption keys and thumbnail images. -Because the binary structure is hard to understand and program to, the SDK defines a JSON manifest structure that's a declarative language for representing and creating a manifest in binary format. +Because the binary structure is hard to understand and program to, the SDK defines a JSON manifest structure that's a declarative language for representing and creating a binary-formatted manifest. -The JSON manifest format is an abstract translation layer that's easier to understand than the binary format. It can describe everything in the underlying binary format except for binary data such as thumbnails that are included by a structure called a _resource reference_. When the SDK generates the binary manifest structure, it assembles all the JSON objects, resource references, and ingredients defined, and then converts them into different assertions and other objects as required. +The JSON manifest format is an abstract translation layer that's easier to understand than the binary format. It can describe everything in the underlying binary format except for binary data such as thumbnails that are included by a structure called a _resource reference_. To generate a binary manifest, the SDK assembles all the JSON objects, resource references, and ingredients defined, and then converts them into different assertions and other objects as required. -References: +These JSON references are generated from the JSON schemas for ManifestDefinition and Reader objects: - [ManifestDefinition](manifest-def.mdx) - [Reader](reader.mdx) \ No newline at end of file diff --git a/docs/manifest/json-ref/json-schema-cai.html b/docs/manifest/json-ref/json-schema-cai.html deleted file mode 100644 index abfdf354..00000000 --- a/docs/manifest/json-ref/json-schema-cai.html +++ /dev/null @@ -1,1269 +0,0 @@ - - - - - - CAI ManifestStore JSON Schema - Manifest Reference - - - - - - - -
-
-
{
-  "$schema": "http://json-schema.org/draft-07/schema#",
-  "title": "ManifestStore",
-  "description": "A Container for a set of Manifests and a ValidationStatus list.",
-  "type": "object",
-  "required": [
-    "manifests"
-  ],
-  "properties": {
-    "active_manifest": {
-      "description": "A label for the active (most recent) manifest in the store.",
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "manifests": {
-      "description": "A HashMap of Manifests.",
-      "type": "object",
-      "additionalProperties": {
-        "$ref": "#/definitions/Manifest"
-      }
-    },
-    "validation_status": {
-      "description": "ValidationStatus generated when loading the ManifestStore from an asset.",
-      "type": [
-        "array",
-        "null"
-      ],
-      "items": {
-        "$ref": "#/definitions/ValidationStatus"
-      }
-    }
-  },
-  "definitions": {
-    "Actor": {
-      "description": "Identifies a person responsible for an action.",
-      "type": "object",
-      "properties": {
-        "credentials": {
-          "description": "List of references to W3C Verifiable Credentials.",
-          "type": [
-            "array",
-            "null"
-          ],
-          "items": {
-            "$ref": "#/definitions/HashedUri"
-          }
-        },
-        "identifier": {
-          "description": "An identifier for a human actor, used when the \"type\" is `humanEntry.identified`.",
-          "type": [
-            "string",
-            "null"
-          ]
-        }
-      }
-    },
-    "AssetType": {
-      "type": "object",
-      "required": [
-        "type"
-      ],
-      "properties": {
-        "type": {
-          "type": "string"
-        },
-        "version": {
-          "type": [
-            "string",
-            "null"
-          ]
-        }
-      }
-    },
-    "ClaimGeneratorInfo": {
-      "description": "Description of the claim generator, or the software used in generating the claim.\n\nThis structure is also used for actions softwareAgent",
-      "type": "object",
-      "required": [
-        "name"
-      ],
-      "properties": {
-        "icon": {
-          "description": "hashed URI to the icon (either embedded or remote)",
-          "anyOf": [
-            {
-              "$ref": "#/definitions/UriOrResource"
-            },
-            {
-              "type": "null"
-            }
-          ]
-        },
-        "name": {
-          "description": "A human readable string naming the claim_generator",
-          "type": "string"
-        },
-        "version": {
-          "description": "A human readable string of the product's version",
-          "type": [
-            "string",
-            "null"
-          ]
-        }
-      },
-      "additionalProperties": true
-    },
-    "Coordinate": {
-      "description": "An x, y coordinate used for specifying vertices in polygons.",
-      "type": "object",
-      "required": [
-        "x",
-        "y"
-      ],
-      "properties": {
-        "x": {
-          "description": "The coordinate along the x-axis.",
-          "type": "number",
-          "format": "double"
-        },
-        "y": {
-          "description": "The coordinate along the y-axis.",
-          "type": "number",
-          "format": "double"
-        }
-      }
-    },
-    "DataSource": {
-      "description": "A description of the source for assertion data",
-      "type": "object",
-      "required": [
-        "type"
-      ],
-      "properties": {
-        "actors": {
-          "description": "A list of [`Actor`]s associated with this source.",
-          "type": [
-            "array",
-            "null"
-          ],
-          "items": {
-            "$ref": "#/definitions/Actor"
-          }
-        },
-        "details": {
-          "description": "A human-readable string giving details about the source of the assertion data.",
-          "type": [
-            "string",
-            "null"
-          ]
-        },
-        "type": {
-          "description": "A value from among the enumerated list indicating the source of the assertion.",
-          "type": "string"
-        }
-      }
-    },
-    "Frame": {
-      "description": "A frame range representing starting and ending frames or pages.\n\nIf both `start` and `end` are missing, the frame will span the entire asset.",
-      "type": "object",
-      "properties": {
-        "end": {
-          "description": "The end of the frame inclusive or the end of the asset if not present.",
-          "type": [
-            "integer",
-            "null"
-          ],
-          "format": "int32"
-        },
-        "start": {
-          "description": "The start of the frame or the end of the asset if not present.\n\nThe first frame/page starts at 0.",
-          "type": [
-            "integer",
-            "null"
-          ],
-          "format": "int32"
-        }
-      }
-    },
-    "HashedUri": {
-      "description": "Hashed Uri structure as defined by C2PA spec It is annotated to produce the correctly tagged cbor serialization",
-      "type": "object",
-      "required": [
-        "hash",
-        "url"
-      ],
-      "properties": {
-        "alg": {
-          "type": [
-            "string",
-            "null"
-          ]
-        },
-        "hash": {
-          "type": "array",
-          "items": {
-            "type": "integer",
-            "format": "uint8",
-            "minimum": 0.0
-          }
-        },
-        "url": {
-          "type": "string"
-        }
-      }
-    },
-    "Ingredient": {
-      "description": "An `Ingredient` is any external asset that has been used in the creation of an asset.",
-      "type": "object",
-      "required": [
-        "title"
-      ],
-      "properties": {
-        "active_manifest": {
-          "description": "The active manifest label (if one exists).\n\nIf this ingredient has a [`ManifestStore`](crate::ManifestStore) , this will hold the label of the active [`Manifest`](crate::Manifest).",
-          "type": [
-            "string",
-            "null"
-          ]
-        },
-        "data": {
-          "description": "A reference to the actual data of the ingredient.",
-          "anyOf": [
-            {
-              "$ref": "#/definitions/ResourceRef"
-            },
-            {
-              "type": "null"
-            }
-          ]
-        },
-        "data_types": {
-          "description": "Additional information about the data's type to the ingredient V2 structure.",
-          "type": [
-            "array",
-            "null"
-          ],
-          "items": {
-            "$ref": "#/definitions/AssetType"
-          }
-        },
-        "description": {
-          "description": "Additional description of the ingredient.",
-          "type": [
-            "string",
-            "null"
-          ]
-        },
-        "document_id": {
-          "description": "Document ID from `xmpMM:DocumentID` in XMP metadata.",
-          "type": [
-            "string",
-            "null"
-          ]
-        },
-        "format": {
-          "description": "The format of the source file as a MIME type.",
-          "default": "application/octet-stream",
-          "type": "string"
-        },
-        "hash": {
-          "description": "An optional hash of the asset to prevent duplicates.",
-          "type": [
-            "string",
-            "null"
-          ]
-        },
-        "informational_URI": {
-          "description": "URI to an informational page about the ingredient or its data.",
-          "type": [
-            "string",
-            "null"
-          ]
-        },
-        "instance_id": {
-          "description": "Instance ID from `xmpMM:InstanceID` in XMP metadata.",
-          "type": [
-            "string",
-            "null"
-          ]
-        },
-        "manifest_data": {
-          "description": "A [`ManifestStore`] from the source asset extracted as a binary C2PA blob.\n\n[`ManifestStore`]: crate::ManifestStore",
-          "anyOf": [
-            {
-              "$ref": "#/definitions/ResourceRef"
-            },
-            {
-              "type": "null"
-            }
-          ]
-        },
-        "metadata": {
-          "description": "Any additional [`Metadata`] as defined in the C2PA spec.\n\n[`Metadata`]: crate::Manifest",
-          "anyOf": [
-            {
-              "$ref": "#/definitions/Metadata"
-            },
-            {
-              "type": "null"
-            }
-          ]
-        },
-        "provenance": {
-          "description": "URI from `dcterms:provenance` in XMP metadata.",
-          "type": [
-            "string",
-            "null"
-          ]
-        },
-        "relationship": {
-          "description": "Set to `ParentOf` if this is the parent ingredient.\n\nThere can only be one parent ingredient in the ingredients.",
-          "default": "componentOf",
-          "allOf": [
-            {
-              "$ref": "#/definitions/Relationship"
-            }
-          ]
-        },
-        "thumbnail": {
-          "description": "A thumbnail image capturing the visual state at the time of import.\n\nA tuple of thumbnail MIME format (for example `image/jpeg`) and binary bits of the image.",
-          "anyOf": [
-            {
-              "$ref": "#/definitions/ResourceRef"
-            },
-            {
-              "type": "null"
-            }
-          ]
-        },
-        "title": {
-          "description": "A human-readable title, generally source filename.",
-          "type": "string"
-        },
-        "validation_status": {
-          "description": "Validation results.",
-          "type": [
-            "array",
-            "null"
-          ],
-          "items": {
-            "$ref": "#/definitions/ValidationStatus"
-          }
-        }
-      }
-    },
-    "Manifest": {
-      "description": "A Manifest represents all the information in a c2pa manifest",
-      "type": "object",
-      "properties": {
-        "assertions": {
-          "description": "A list of assertions",
-          "default": [],
-          "type": "array",
-          "items": {
-            "$ref": "#/definitions/ManifestAssertion"
-          }
-        },
-        "claim_generator": {
-          "description": "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",
-          "default": "c2pa/0.36.3",
-          "type": "string"
-        },
-        "claim_generator_info": {
-          "description": "A list of claim generator info data identifying the software/hardware/system produced this claim",
-          "type": [
-            "array",
-            "null"
-          ],
-          "items": {
-            "$ref": "#/definitions/ClaimGeneratorInfo"
-          }
-        },
-        "credentials": {
-          "description": "A List of verified credentials",
-          "type": [
-            "array",
-            "null"
-          ],
-          "items": true
-        },
-        "format": {
-          "description": "The format of the source file as a MIME type.",
-          "default": "application/octet-stream",
-          "type": "string"
-        },
-        "ingredients": {
-          "description": "A List of ingredients",
-          "default": [],
-          "type": "array",
-          "items": {
-            "$ref": "#/definitions/Ingredient"
-          }
-        },
-        "instance_id": {
-          "description": "Instance ID from `xmpMM:InstanceID` in XMP metadata.",
-          "default": "xmp:iid:eafef862-379d-44a1-99f7-2ead485e279d",
-          "type": "string"
-        },
-        "label": {
-          "type": [
-            "string",
-            "null"
-          ]
-        },
-        "metadata": {
-          "description": "A list of user metadata for this claim",
-          "type": [
-            "array",
-            "null"
-          ],
-          "items": {
-            "$ref": "#/definitions/Metadata"
-          }
-        },
-        "redactions": {
-          "description": "A list of redactions - URIs to a redacted assertions",
-          "type": [
-            "array",
-            "null"
-          ],
-          "items": {
-            "type": "string"
-          }
-        },
-        "signature_info": {
-          "description": "Signature data (only used for reporting)",
-          "anyOf": [
-            {
-              "$ref": "#/definitions/SignatureInfo"
-            },
-            {
-              "type": "null"
-            }
-          ]
-        },
-        "thumbnail": {
-          "anyOf": [
-            {
-              "$ref": "#/definitions/ResourceRef"
-            },
-            {
-              "type": "null"
-            }
-          ]
-        },
-        "title": {
-          "description": "A human-readable title, generally source filename.",
-          "type": [
-            "string",
-            "null"
-          ]
-        },
-        "vendor": {
-          "description": "Optional prefix added to the generated Manifest Label This is typically Internet domain name for the vendor (i.e. `adobe`)",
-          "type": [
-            "string",
-            "null"
-          ]
-        }
-      }
-    },
-    "ManifestAssertion": {
-      "description": "A labeled container for an Assertion value in a Manifest",
-      "type": "object",
-      "required": [
-        "data",
-        "label"
-      ],
-      "properties": {
-        "data": {
-          "description": "The data of the assertion as Value",
-          "allOf": [
-            {
-              "$ref": "#/definitions/ManifestData"
-            }
-          ]
-        },
-        "instance": {
-          "description": "There can be more than one assertion for any label",
-          "type": [
-            "integer",
-            "null"
-          ],
-          "format": "uint",
-          "minimum": 0.0
-        },
-        "kind": {
-          "description": "The [ManifestAssertionKind](crate::ManifestAssertionKind) for this assertion (as stored in c2pa content)",
-          "anyOf": [
-            {
-              "$ref": "#/definitions/ManifestAssertionKind"
-            },
-            {
-              "type": "null"
-            }
-          ]
-        },
-        "label": {
-          "description": "An assertion label in reverse domain format",
-          "type": "string"
-        }
-      }
-    },
-    "ManifestAssertionKind": {
-      "description": "Assertions in C2PA can be stored in several formats",
-      "type": "string",
-      "enum": [
-        "Cbor",
-        "Json",
-        "Binary",
-        "Uri"
-      ]
-    },
-    "ManifestData": {
-      "anyOf": [
-        true,
-        {
-          "type": "array",
-          "items": {
-            "type": "integer",
-            "format": "uint8",
-            "minimum": 0.0
-          }
-        }
-      ]
-    },
-    "Metadata": {
-      "description": "The Metadata structure can be used as part of other assertions or on its own to reference others",
-      "type": "object",
-      "properties": {
-        "dataSource": {
-          "anyOf": [
-            {
-              "$ref": "#/definitions/DataSource"
-            },
-            {
-              "type": "null"
-            }
-          ]
-        },
-        "dateTime": {
-          "type": "string",
-          "description": "A date time in ISO 8601 format."
-        },
-        "reference": {
-          "anyOf": [
-            {
-              "$ref": "#/definitions/HashedUri"
-            },
-            {
-              "type": "null"
-            }
-          ]
-        },
-        "regionOfInterest": {
-          "anyOf": [
-            {
-              "$ref": "#/definitions/RegionOfInterest"
-            },
-            {
-              "type": "null"
-            }
-          ]
-        },
-        "reviewRatings": {
-          "type": [
-            "array",
-            "null"
-          ],
-          "items": {
-            "$ref": "#/definitions/ReviewRating"
-          }
-        }
-      },
-      "additionalProperties": true
-    },
-    "Range": {
-      "description": "A spatial, temporal, frame, or textual range describing the region of interest.",
-      "type": "object",
-      "required": [
-        "type"
-      ],
-      "properties": {
-        "frame": {
-          "description": "A frame range.",
-          "anyOf": [
-            {
-              "$ref": "#/definitions/Frame"
-            },
-            {
-              "type": "null"
-            }
-          ]
-        },
-        "shape": {
-          "description": "A spatial range.",
-          "anyOf": [
-            {
-              "$ref": "#/definitions/Shape"
-            },
-            {
-              "type": "null"
-            }
-          ]
-        },
-        "text": {
-          "description": "A textual range.",
-          "anyOf": [
-            {
-              "$ref": "#/definitions/Text"
-            },
-            {
-              "type": "null"
-            }
-          ]
-        },
-        "time": {
-          "description": "A temporal range.",
-          "anyOf": [
-            {
-              "$ref": "#/definitions/Time"
-            },
-            {
-              "type": "null"
-            }
-          ]
-        },
-        "type": {
-          "description": "The type of range of interest.",
-          "allOf": [
-            {
-              "$ref": "#/definitions/RangeType"
-            }
-          ]
-        }
-      }
-    },
-    "RangeType": {
-      "description": "The type of range for the region of interest.",
-      "oneOf": [
-        {
-          "description": "A spatial range, see [`Shape`](#shape) for more details.\n\n",
-          "type": "string",
-          "enum": [
-            "spatial"
-          ]
-        },
-        {
-          "description": "A temporal range, see [`Time`](#time) for more details.",
-          "type": "string",
-          "enum": [
-            "temporal"
-          ]
-        },
-        {
-          "description": "A spatial range, see [`Frame`](#frame) for more details.",
-          "type": "string",
-          "enum": [
-            "frame"
-          ]
-        },
-        {
-          "description": "A textual range, see [`Text`](#text) for more details.",
-          "type": "string",
-          "enum": [
-            "textual"
-          ]
-        }
-      ]
-    },
-    "RegionOfInterest": {
-      "description": "A region of interest within an asset describing the change.\n\nThis struct can be used from [`Action::changes`](https://docs.rs/c2pa/latest/c2pa/assertions/struct.Action.html#method.changes) or [`Metadata::region_of_interest`](https://docs.rs/c2pa/latest/c2pa/assertions/struct.Metadata.html#method.region_of_interest).",
-      "type": "object",
-      "required": [
-        "region"
-      ],
-      "properties": {
-        "description": {
-          "description": "A free-text string.",
-          "type": [
-            "string",
-            "null"
-          ]
-        },
-        "identifier": {
-          "description": "A free-text string representing a machine-readable, unique to this assertion, identifier for the region.",
-          "type": [
-            "string",
-            "null"
-          ]
-        },
-        "metadata": {
-          "description": "Additional information about the asset.",
-          "anyOf": [
-            {
-              "$ref": "#/definitions/Metadata"
-            },
-            {
-              "type": "null"
-            }
-          ]
-        },
-        "name": {
-          "description": "A free-text string representing a human-readable name for the region which might be used in a user interface.",
-          "type": [
-            "string",
-            "null"
-          ]
-        },
-        "region": {
-          "description": "A range describing the region of interest for the specific asset.",
-          "type": "array",
-          "items": {
-            "$ref": "#/definitions/Range"
-          }
-        },
-        "role": {
-          "description": "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.",
-          "anyOf": [
-            {
-              "$ref": "#/definitions/Role"
-            },
-            {
-              "type": "null"
-            }
-          ]
-        },
-        "type": {
-          "description": "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.\n\nNote this field serializes/deserializes into the name `type`.",
-          "type": [
-            "string",
-            "null"
-          ]
-        }
-      }
-    },
-    "Relationship": {
-      "type": "string",
-      "enum": [
-        "parentOf",
-        "componentOf",
-        "inputTo"
-      ]
-    },
-    "ResourceRef": {
-      "description": "A reference to a resource to be used in JSON serialization.\n\nThe underlying data can be read as a stream via [`Reader::resource_to_stream`](https://docs.rs/c2pa/latest/c2pa/struct.Reader.html#method.resource_to_stream).",
-      "type": "object",
-      "required": [
-        "format",
-        "identifier"
-      ],
-      "properties": {
-        "alg": {
-          "description": "The algorithm used to hash the resource (if applicable).",
-          "type": [
-            "string",
-            "null"
-          ]
-        },
-        "data_types": {
-          "description": "More detailed data types as defined in the C2PA spec.",
-          "type": [
-            "array",
-            "null"
-          ],
-          "items": {
-            "$ref": "#/definitions/AssetType"
-          }
-        },
-        "format": {
-          "description": "The mime type of the referenced resource.",
-          "type": "string"
-        },
-        "hash": {
-          "description": "The hash of the resource (if applicable).",
-          "type": [
-            "string",
-            "null"
-          ]
-        },
-        "identifier": {
-          "description": "A URI that identifies the resource as referenced from the manifest.\n\nThis 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.",
-          "type": "string"
-        }
-      }
-    },
-    "ReviewRating": {
-      "description": "A rating on an [`Assertion`](crate::ManifestAssertion).\n\n See [Review Ratings in C2PA spec](https://c2pa.org/specifications/specifications/1.4/specs/C2PA_Specification.html#_review_ratings.)",
-      "type": "object",
-      "required": [
-        "explanation",
-        "value"
-      ],
-      "properties": {
-        "code": {
-          "type": [
-            "string",
-            "null"
-          ]
-        },
-        "explanation": {
-          "type": "string"
-        },
-        "value": {
-          "type": "integer",
-          "format": "uint8",
-          "minimum": 0.0
-        }
-      }
-    },
-    "Role": {
-      "description": "A role describing the region.",
-      "oneOf": [
-        {
-          "description": "Arbitrary area worth identifying.",
-          "type": "string",
-          "enum": [
-            "c2pa.areaOfInterest"
-          ]
-        },
-        {
-          "description": "This area is all that is left after a crop action.",
-          "type": "string",
-          "enum": [
-            "c2pa.cropped"
-          ]
-        },
-        {
-          "description": "This area has had edits applied to it.",
-          "type": "string",
-          "enum": [
-            "c2pa.edited"
-          ]
-        },
-        {
-          "description": "The area where an ingredient was placed/added.",
-          "type": "string",
-          "enum": [
-            "c2pa.placed"
-          ]
-        },
-        {
-          "description": "Something in this area was redacted.",
-          "type": "string",
-          "enum": [
-            "c2pa.redacted"
-          ]
-        },
-        {
-          "description": "Area specific to a subject (human or not).",
-          "type": "string",
-          "enum": [
-            "c2pa.subjectArea"
-          ]
-        },
-        {
-          "description": "A range of information was removed/deleted.",
-          "type": "string",
-          "enum": [
-            "c2pa.deleted"
-          ]
-        },
-        {
-          "description": "Styling was applied to this area.",
-          "type": "string",
-          "enum": [
-            "c2pa.styled"
-          ]
-        },
-        {
-          "description": "Invisible watermarking was applied to this area for the purpose of soft binding.",
-          "type": "string",
-          "enum": [
-            "c2pa.watermarked"
-          ]
-        }
-      ]
-    },
-    "Shape": {
-      "description": "A spatial range representing rectangle, circle, or a polygon.",
-      "type": "object",
-      "required": [
-        "origin",
-        "type",
-        "unit"
-      ],
-      "properties": {
-        "height": {
-          "description": "The height of a rectnagle.\n\nThis field can be ignored for circles and polygons.",
-          "type": [
-            "number",
-            "null"
-          ],
-          "format": "double"
-        },
-        "inside": {
-          "description": "If the range is inside the shape.\n\nThe default value is true.",
-          "type": [
-            "boolean",
-            "null"
-          ]
-        },
-        "origin": {
-          "description": "THe origin of the coordinate in the shape.",
-          "allOf": [
-            {
-              "$ref": "#/definitions/Coordinate"
-            }
-          ]
-        },
-        "type": {
-          "description": "The type of shape.",
-          "allOf": [
-            {
-              "$ref": "#/definitions/ShapeType"
-            }
-          ]
-        },
-        "unit": {
-          "description": "The type of unit for the shape range.",
-          "allOf": [
-            {
-              "$ref": "#/definitions/UnitType"
-            }
-          ]
-        },
-        "vertices": {
-          "description": "The vertices of the polygon.\n\nThis field can be ignored for rectangles and circles.",
-          "type": [
-            "array",
-            "null"
-          ],
-          "items": {
-            "$ref": "#/definitions/Coordinate"
-          }
-        },
-        "width": {
-          "description": "The width for rectangles or diameter for circles.\n\nThis field can be ignored for polygons.",
-          "type": [
-            "number",
-            "null"
-          ],
-          "format": "double"
-        }
-      }
-    },
-    "ShapeType": {
-      "description": "The type of shape for the range.",
-      "oneOf": [
-        {
-          "description": "A rectangle.",
-          "type": "string",
-          "enum": [
-            "rectangle"
-          ]
-        },
-        {
-          "description": "A circle.",
-          "type": "string",
-          "enum": [
-            "circle"
-          ]
-        },
-        {
-          "description": "A polygon.",
-          "type": "string",
-          "enum": [
-            "polygon"
-          ]
-        }
-      ]
-    },
-    "SignatureInfo": {
-      "description": "Holds information about a signature",
-      "type": "object",
-      "properties": {
-        "alg": {
-          "description": "human readable issuing authority for this signature",
-          "anyOf": [
-            {
-              "$ref": "#/definitions/SigningAlg"
-            },
-            {
-              "type": "null"
-            }
-          ]
-        },
-        "cert_serial_number": {
-          "description": "The serial number of the certificate",
-          "type": [
-            "string",
-            "null"
-          ]
-        },
-        "issuer": {
-          "description": "human readable issuing authority for this signature",
-          "type": [
-            "string",
-            "null"
-          ]
-        },
-        "revocation_status": {
-          "description": "revocation status of the certificate",
-          "type": [
-            "boolean",
-            "null"
-          ]
-        },
-        "time": {
-          "description": "the time the signature was created",
-          "type": [
-            "string",
-            "null"
-          ]
-        }
-      }
-    },
-    "SigningAlg": {
-      "description": "Describes the digital signature algorithms allowed by the [C2PA spec](https://c2pa.org/specifications/specifications/1.4/specs/C2PA_Specification.html#_digital_signatures):\n\n> 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.",
-      "oneOf": [
-        {
-          "description": "ECDSA with SHA-256",
-          "type": "string",
-          "enum": [
-            "Es256"
-          ]
-        },
-        {
-          "description": "ECDSA with SHA-384",
-          "type": "string",
-          "enum": [
-            "Es384"
-          ]
-        },
-        {
-          "description": "ECDSA with SHA-512",
-          "type": "string",
-          "enum": [
-            "Es512"
-          ]
-        },
-        {
-          "description": "RSASSA-PSS using SHA-256 and MGF1 with SHA-256",
-          "type": "string",
-          "enum": [
-            "Ps256"
-          ]
-        },
-        {
-          "description": "RSASSA-PSS using SHA-384 and MGF1 with SHA-384",
-          "type": "string",
-          "enum": [
-            "Ps384"
-          ]
-        },
-        {
-          "description": "RSASSA-PSS using SHA-512 and MGF1 with SHA-512",
-          "type": "string",
-          "enum": [
-            "Ps512"
-          ]
-        },
-        {
-          "description": "Edwards-Curve DSA (Ed25519 instance only)",
-          "type": "string",
-          "enum": [
-            "Ed25519"
-          ]
-        }
-      ]
-    },
-    "Text": {
-      "description": "A textual range representing multiple (possibly discontinuous) ranges of text.",
-      "type": "object",
-      "required": [
-        "selectors"
-      ],
-      "properties": {
-        "selectors": {
-          "description": "The ranges of text to select.",
-          "type": "array",
-          "items": {
-            "$ref": "#/definitions/TextSelectorRange"
-          }
-        }
-      }
-    },
-    "TextSelector": {
-      "description": "Selects a range of text via a fragment identifier.\n\nThis is modeled after the W3C Web Annotation selector model.",
-      "type": "object",
-      "required": [
-        "fragment"
-      ],
-      "properties": {
-        "end": {
-          "description": "The end character offset or the end of the fragment if not present.",
-          "type": [
-            "integer",
-            "null"
-          ],
-          "format": "int32"
-        },
-        "fragment": {
-          "description": "Fragment identifier as per RFC3023 (XML) or ISO 32000-2 (PDF), Annex O.",
-          "type": "string"
-        },
-        "start": {
-          "description": "The start character offset or the start of the fragment if not present.",
-          "type": [
-            "integer",
-            "null"
-          ],
-          "format": "int32"
-        }
-      }
-    },
-    "TextSelectorRange": {
-      "description": "One or two [`TextSelector`](#textselector) objects identifying the range to select.",
-      "type": "object",
-      "required": [
-        "selector"
-      ],
-      "properties": {
-        "end": {
-          "description": "The end of the text range.",
-          "anyOf": [
-            {
-              "$ref": "#/definitions/TextSelector"
-            },
-            {
-              "type": "null"
-            }
-          ]
-        },
-        "selector": {
-          "description": "The start (or entire) text range.",
-          "allOf": [
-            {
-              "$ref": "#/definitions/TextSelector"
-            }
-          ]
-        }
-      }
-    },
-    "Time": {
-      "description": "A temporal range representing a starting time to an ending time.",
-      "type": "object",
-      "properties": {
-        "end": {
-          "description": "The end time or the end of the asset if not present.",
-          "type": [
-            "string",
-            "null"
-          ]
-        },
-        "start": {
-          "description": "The start time or the start of the asset if not present.",
-          "type": [
-            "string",
-            "null"
-          ]
-        },
-        "type": {
-          "description": "The type of time.",
-          "default": "npt",
-          "allOf": [
-            {
-              "$ref": "#/definitions/TimeType"
-            }
-          ]
-        }
-      }
-    },
-    "TimeType": {
-      "description": "The type of time.",
-      "oneOf": [
-        {
-          "description": "Times are described using Normal Play Time (npt) as described in RFC 2326.",
-          "type": "string",
-          "enum": [
-            "npt"
-          ]
-        }
-      ]
-    },
-    "UnitType": {
-      "description": "The type of unit for the range.",
-      "oneOf": [
-        {
-          "description": "Use pixels.",
-          "type": "string",
-          "enum": [
-            "pixel"
-          ]
-        },
-        {
-          "description": "Use percentage.",
-          "type": "string",
-          "enum": [
-            "percent"
-          ]
-        }
-      ]
-    },
-    "UriOrResource": {
-      "anyOf": [
-        {
-          "$ref": "#/definitions/ResourceRef"
-        },
-        {
-          "$ref": "#/definitions/HashedUri"
-        }
-      ]
-    },
-    "ValidationStatus": {
-      "description": "A `ValidationStatus` struct describes the validation status of a specific part of a manifest.\n\nSee <https://c2pa.org/specifications/specifications/1.4/specs/C2PA_Specification.html#_existing_manifests>.",
-      "type": "object",
-      "required": [
-        "code"
-      ],
-      "properties": {
-        "code": {
-          "type": "string"
-        },
-        "explanation": {
-          "type": [
-            "string",
-            "null"
-          ]
-        },
-        "url": {
-          "type": [
-            "string",
-            "null"
-          ]
-        }
-      }
-    }
-  }
-}
-
-
-
-
- - diff --git a/docs/manifest/json-ref/manifest-def-cai.html b/docs/manifest/json-ref/manifest-def-cai.html deleted file mode 100644 index 4512e0c8..00000000 --- a/docs/manifest/json-ref/manifest-def-cai.html +++ /dev/null @@ -1,4596 +0,0 @@ - - - - - - CAI manifest definition reference - Manifest Reference - - - - - - - -

- This page is generated from the unmodified JSON schema generated from - c2pa-rs on - 05/09/2025. -

- - - -

ManifestDefinition

- -
-

- Use a ManifestDefinition to define a manifest and to build a - ManifestStore. - A manifest is a collection of ingredients and assertions used to define - a claim that can be signed and embedded into a file. -

-
- -

Properties

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
assertions - - - - - - An array of - AssertionDefinition -

A list of assertions

- - - NO - - - Empty array -
claim_generator_info - - - - - - An array of - ClaimGeneratorInfo - -

- Claim Generator Info is always required with at least one entry -

-
- - - NO - - - - Object with properties: -
    -
  • name - c2pa-rs
  • - -
  • version - 0.49.5
  • -
-
claim_version - - - - - Integer - - (uint8)
Minimum: 0.0 - - - - -
-

The version of the claim. Defaults to 1.

-
- - - 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 - xmpMM:InstanceID - in XMP metadata. -

-
- - - NO - - - - xmp:iid:dde3986c-d7b2-4256-b5dd-acc8ed9aada3 -
label - - - - - String - - - - - - -

- Allows you to pre-define the manifest label, which must be unique. - Not intended for general use. If not set, it will be assigned - automatically. -

-
- - - NO - - - - N/A -
metadata - - - - - Array of - - Metadata - - - - - -

- Optional manifest metadata. This will be deprecated in the future; - not recommended to use. -

-
- - - NO - - - - N/A -
redactions - - - - - Array of string - - - - - -

A list of redactions - URIs to redacted assertions.

-
- - - NO - - - - N/A -
thumbnail - - - ResourceRef - - - -

- An optional ResourceRef to a thumbnail image that represents the - asset that was signed. Must be available when the manifest is - signed. -

-
- - - 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 a reverse domain name. -

-
- - - NO - - - - N/A -
- - - -

Definitions

- - - - - - - - - - - - - - - - - -
- Actor
- - AssertionData
- - AssertionDefinition
- - AssetType
- - ClaimGeneratorInfo
- - Coordinate
- - DataSource
-
- Frame
- - HashedUri
- - Ingredient
- - IngredientDeltaValidationResult -
- - Item
- - Metadata
- - Range
-
- RangeType
- - RegionOfInterest
- - Relationship
- - ResourceRef
- - ReviewRating
- - Role
- - Shape
-
- ShapeType
- - StatusCodes
- - Text
- - TextSelector
- - TextSelectorRange
- - Time
- - TimeType
-
- UnitType
- - UriOrResource
- - ValidationResults
- - ValidationStatus
-
- - - -

- Scroll To Top -

- -

Actor

- -

- -

Identifies a person responsible for an action.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
credentials - - - - - Array of - - HashedUri - - - - - -
-

List of references to W3C Verifiable Credentials.

-
-
NON/A
identifier - - - - - String - - - - - - -
-

- An identifier for a human actor, used when the “type” is - humanEntry.identified. -

-
-
NON/A
- - - -

- Scroll To Top -

- -

AssertionData

- -

- -
-

- This allows the assertion to be expressed as CBOR or JSON. The default - is CBOR unless you specify that an assertion should be JSON. -

-
-

Any of the following:

- -
    - -
  • true
  • -
- -

- Scroll To Top -

- -

AssertionDefinition

- -

- -

- Defines an assertion that consists of a label that can be either a - C2PA-defined assertion label or a custom label in reverse domain format. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
data - - - - - AssertionData - -

Description TBD.

-
- YES - N/A
label - - - - - String - -

Description TBD.

-
- YES - N/A
- - - -

- Scroll To Top -

- -

AssetType

- -

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
type - - - - - String - -

Description TBD.

-
- YES - N/A
version - - - - - String - - - - - - -

Description TBD.

-
- NO - N/A
- - - -

- Scroll To Top -

- -

ClaimGeneratorInfo

- -

- -

- Description of the claim generator, or the software used in generating the - claim. This structure is also used for actions softwareAgent -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?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
operating_system - - - - - String - - - - - - -
-

- A human readable string of the OS the claim generator is running - on -

-
-
- NO - 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. -

- - - -

- Scroll To Top -

- -

Coordinate

- -

- -

- An x, y coordinate used for specifying vertices in polygons. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?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
- - - -

- Scroll To Top -

- -

DataSource

- -

- -

A description of the source for assertion data

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
actors - - - - - Array of - - Actor - - - - - -
-

- A list of [Actor]s associated with this source. -

-
-
- 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
- - - -

- Scroll To Top -

- -

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. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
end - - - - - Integer - - (int32) - - - - - -
-

- The end of the frame inclusive or the end of the asset if not - present. -

-
-
NON/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.

-
-
NON/A
- - - -

- Scroll To Top -

- -

HashedUri

- -

- -

- A - HashedUri - provides a reference to content available within the same manifest store. - This is described in [§8.3, URI References], of the C2PA Technical - Specification. [§8.3, URI References]: - https://c2pa.org/specifications/specifications/2.1/specs/C2PA_Specification.html#_uri_references -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
alg - - - - - String - - - - - - -
-

- A string identifying the cryptographic hash algorithm used to - compute the hash -

-
-
- NO - N/A
hash - - - - - - An array of - integer - -
-

Byte string containing the hash value

-
-
- YES - N/A
url - - - - - String - -

JUMBF URI reference

-
- YES - N/A
- - - -

- Scroll To Top -

- -

Ingredient

- -

- -

- An Ingredient is - any external asset that has been used in the creation of an asset. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
active_manifest - - - - - String - - - - - - -
-

The active manifest label (if one exists).

- -

- If this ingredient has a [ManifestStore], this will hold the label of the active - Manifest. -

-
-
NON/A
data - - - ResourceRef - - - -
-

A reference to the actual data of the ingredient.

-
-
NON/A
data_types - - - - - Array of - - AssetType - - - - - -
-

- Additional information about the data’s type to the ingredient - V2 structure. -

-
-
NON/A
description - - - - - String - - - - - - -
-

Additional description of the ingredient.

-
-
NON/A
document_id - - - - - String - - - - - - -
-

- Document ID from - xmpMM:DocumentID - in XMP metadata. -

-
-
NON/A
format - - - - - String - - - - - - -
-

The format of the source file as a MIME type.

-
-
NON/A
hash - - - - - String - - - - - - -
-

An optional hash of the asset to prevent duplicates.

-
-
NON/A
informational_URI - - - - - String - - - - - - -
-

- URI to an informational page about the ingredient or its data. -

-
-
NON/A
instance_id - - - - - String - - - - - - -
-

- Instance ID from - xmpMM:InstanceID - in XMP metadata. -

-
-
NON/A
label - - - - - String - - - - - - -
-

The ingredient’s label as assigned in the manifest.

-
-
NON/A
manifest_data - - - ResourceRef - - - -
-

- A - ManifestStore - from the source asset extracted as a binary C2PA blob. -

-
-
NON/A
metadata - - - Metadata - - - -
-

- Any additional - Metadata - as defined in the C2PA spec. -

-
-
NON/A
provenance - - - - - String - - - - - - -
-

- URI from - dcterms:provenance - in XMP metadata. -

-
-
NON/A
relationship - - - Relationship - - - -
-

- Set to - ParentOf - if this is the parent ingredient. -

- -

There can only be one parent ingredient in the ingredients.

-
-
NOcomponentOf
thumbnail - - - ResourceRef - - - -
-

- A thumbnail image capturing the visual state at the time of - import. -

- -

- A tuple of thumbnail MIME format (for example - image/jpeg) and binary bits of the image. -

-
-
NON/A
title - - - - - String - - - - - - -
-

A human-readable title, generally source filename.

-
-
NON/A
validation_results - - - ValidationResults - - - -
-

Validation results (Ingredient.V3)

-
-
NON/A
validation_status - - - - - Array of - - ValidationStatus - - - - - -
-

Validation status (Ingredient v1 & v2)

-
-
NON/A
- - - -

- Scroll To Top -

- -

- IngredientDeltaValidationResult -

- -

- -

- Represents any changes or deltas between the current and previous - validation results for an ingredient’s manifest. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
ingredientAssertionURI - - - - - String - -
-

JUMBF URI reference to the ingredient assertion

-
-
- YES - N/A
validationDeltas - - - StatusCodes - - - -
-

Validation results for the ingredient’s active manifest

-
-
- YES - N/A
- - - -

- Scroll To Top -

- -

Item

- -

- -

- Description of the boundaries of an identified range. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
identifier - - - - - String - -
-

- The container-specific term used to identify items, such as - “track_id” for MP4 or “item_ID” for HEIF. -

-
-
- YES - N/A
value - - - - - String - -
-

- The value of the identifier, e.g. a value of “2” for an - identifier of “track_id” would imply track 2 of the asset. -

-
-
- YES - N/A
- - - -

- Scroll To Top -

- -

Metadata

- -

- -

- The Metadata structure can be used as part of other assertions or on its - own to reference others -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
dataSource - - - DataSource - - - -

Description TBD.

-
NON/A
dateTime - - - - -

Description TBD.

-
NON/A
reference - - - HashedUri - - - -

Description TBD.

-
NON/A
regionOfInterest - - - RegionOfInterest - - - -

Description TBD.

-
NON/A
reviewRatings - - - - - Array of - - ReviewRating - - - - - -

Description TBD.

-
NON/A
- -

- NOTE: This object can have any number of additional user-defined - properties. -

- - - -

- Scroll To Top -

- -

Range

- -

- -

- A spatial, temporal, frame, or textual range describing the region of - interest. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
frame - - - Frame - - - -

A frame range.

-
- NO - N/A
item - - - Item - - - -

A item identifier.

-
- 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
- - - -

- Scroll To Top -

- -

RangeType

- -

The type of range for the region of interest.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
RangeTypeTypeDescription
spatialstring -
-

- A spatial range, see [Shape] for more details. -

-
-
temporalstring -
-

- A temporal range, see [Time] for more details. -

-
-
framestring -
-

- A spatial range, see [Frame] for more details. -

-
-
textualstring -
-

- A textual range, see [Text] for more details. -

-
-
identifiedstring -
-

- A range identified by a specific identifier and value, see - [Item] - for more details. -

-
-
- -

- -

- Scroll To Top -

- -

RegionOfInterest

- -

- -

- A region of interest within an asset describing the change. This struct - can be used from [Action::changes][crate::assertions::Action::changes] or [Metadata::region_of_interest][crate::assertions::Metadata::region_of_interest]. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?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 - type. -

-
-
- NO - N/A
- - - -

- Scroll To Top -

- -

Relationship

- -

- -

A string that is one of the following:

- -
    -
  • “parentOf”
  • -
  • “componentOf”
  • -
  • “inputTo”
  • -
- -

- Scroll To Top -

- -

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][crate::Reader::resource_to_stream]. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?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
- - - -

- Scroll To Top -

- -

ReviewRating

- -

- -

- A rating on an Assertion. See - https://c2pa.org/specifications/specifications/1.0/specs/C2PA_Specification.html#_claim_review. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?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
- - - -

- Scroll To Top -

- -

Role

- -

A role describing the region.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
RoleTypeDescription
c2pa.areaOfIntereststring -
-

Arbitrary area worth identifying.

-
-
c2pa.croppedstring -
-

This area is all that is left after a crop action.

-
-
c2pa.editedstring -
-

This area has had edits applied to it.

-
-
c2pa.placedstring -
-

The area where an ingredient was placed/added.

-
-
c2pa.redactedstring -
-

Something in this area was redacted.

-
-
c2pa.subjectAreastring -
-

Area specific to a subject (human or not).

-
-
c2pa.deletedstring -
-

A range of information was removed/deleted.

-
-
c2pa.styledstring -
-

Styling was applied to this area.

-
-
c2pa.watermarkedstring -
-

- Invisible watermarking was applied to this area for the purpose - of soft binding. -

-
-
- -

- -

- Scroll To Top -

- -

Shape

- -

- -

- A spatial range representing rectangle, circle, or a polygon. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?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
- - - -

- Scroll To Top -

- -

ShapeType

- -

The type of shape for the range.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
ShapeTypeTypeDescription
rectanglestring -

A rectangle.

-
circlestring -

A circle.

-
polygonstring -

A polygon.

-
- -

- -

- Scroll To Top -

- -

StatusCodes

- -

- -

- Contains a set of success, informational, and failure validation status - codes. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
failure - - - - - - An array of - ValidationStatus - -

Description TBD.

-
- YES - N/A
informational - - - - - - An array of - ValidationStatus - -

Description TBD.

-
- YES - N/A
success - - - - - - An array of - ValidationStatus - -

Description TBD.

-
- YES - N/A
- - - -

- Scroll To Top -

- -

Text

- -

- -

- A textual range representing multiple (possibly discontinuous) ranges of - text. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
selectors - - - - - - An array of - TextSelectorRange - -

The ranges of text to select.

-
- YES - N/A
- - - -

- Scroll To Top -

- -

TextSelector

- -

- -

- Selects a range of text via a fragment identifier. This is modeled after - the W3C Web Annotation selector model. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?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
- - - -

- Scroll To Top -

- -

TextSelectorRange

- -

- -

- One or two [TextSelector][TextSelector] identifiying the range to select. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
end - - - TextSelector - - - -

The end of the text range.

-
- NO - N/A
selector - - - TextSelector - - - -
-

The start (or entire) text range.

-
-
- YES - N/A
- - - -

- Scroll To Top -

- -

Time

- -

- -

- A temporal range representing a starting time to an ending time. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
end - - - - - String - - - - - - -
-

The end time or the end of the asset if not present.

-
-
NON/A
start - - - - - String - - - - - - -
-

The start time or the start of the asset if not present.

-
-
NON/A
type - - - TimeType - - - -

The type of time.

-
NOnpt
- - - -

- Scroll To Top -

- -

TimeType

- -

The type of time.

- - - - - - - - - - - - - - - - - -
TimeTypeTypeDescription
nptstring -
-

- Times are described using Normal Play Time (npt) as described in - RFC 2326. -

-
-
- -

- -

- Scroll To Top -

- -

UnitType

- -

The type of unit for the range.

- - - - - - - - - - - - - - - - - - - - - - -
UnitTypeTypeDescription
pixelstring -

Use pixels.

-
percentstring -

Use percentage.

-
- -

- -

- Scroll To Top -

- -

UriOrResource

- -

- -

Description TBD.

-

Any of the following:

- - - -

- Scroll To Top -

- -

ValidationResults

- -

- -

- A map of validation results for a manifest store. The map contains the - validation results for the active manifest and any ingredient deltas. It - is normal for there to be many -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
activeManifest - - - StatusCodes - - - -

Description TBD.

-
NON/A
ingredientDeltas - - - - - Array of - - IngredientDeltaValidationResult - - - - - -

Description TBD.

-
NON/A
- - - -

- Scroll To Top -

- -

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. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
code - - - - - String - -

Description TBD.

-
- YES - N/A
explanation - - - - - String - - - - - - -

Description TBD.

-
- NO - N/A
success - - - - - Boolean - - - - - - -

Description TBD.

-
- NO - N/A
url - - - - - String - - - - - - -

Description TBD.

-
- NO - N/A
- - - -

- -

- - diff --git a/docs/manifest/json-ref/manifest-def.html b/docs/manifest/json-ref/manifest-def.html new file mode 100644 index 00000000..9c5378f8 --- /dev/null +++ b/docs/manifest/json-ref/manifest-def.html @@ -0,0 +1,4512 @@ +

ManifestDefinition

+ +
+

+ Use a ManifestDefinition to define a manifest and to build a + ManifestStore. A + manifest is a collection of ingredients and assertions used to define a + claim that can be signed and embedded into a file. +

+
+ +

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
assertions + + + + + + An array of + AssertionDefinition +

A list of assertions

+ + + NO + + + Empty array +
claim_generator_info + + + + + + An array of + ClaimGeneratorInfo + +

Claim Generator Info is always required with at least one entry

+
+ + + NO + + + + Object with properties: +
    +
  • name - c2pa-rs
  • + +
  • version - 0.49.5
  • +
+
claim_version + + + + + Integer + + (uint8)
Minimum: 0.0 + + + + +
+

The version of the claim. Defaults to 1.

+
+ + + 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 + xmpMM:InstanceID + in XMP metadata. +

+
+ + + NO + + + + xmp:iid:dde3986c-d7b2-4256-b5dd-acc8ed9aada3 +
label + + + + + String + + + + + + +

+ Allows you to pre-define the manifest label, which must be unique. Not + intended for general use. If not set, it will be assigned + automatically. +

+
+ + + NO + + + + N/A +
metadata + + + + + Array of + + Metadata + + + + + +

+ Optional manifest metadata. This will be deprecated in the future; not + recommended to use. +

+
+ + + NO + + + + N/A +
redactions + + + + + Array of string + + + + + +

A list of redactions - URIs to redacted assertions.

+
+ + + NO + + + + N/A +
thumbnail + + + ResourceRef + + + +

+ An optional ResourceRef to a thumbnail image that represents the asset + that was signed. Must be available when the manifest is signed. +

+
+ + + 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 a reverse domain name. +

+
+ + + NO + + + + N/A +
+ + + +

Definitions

+ + + + + + + + + + + +
+ Actor
+ + AssertionData
+ + AssertionDefinition
+ + AssetType
+ + ClaimGeneratorInfo
+ + Coordinate
+ + DataSource
+ + Frame
+
+ HashedUri
+ + Ingredient
+ + IngredientDeltaValidationResult +
+ + Item
+ + Metadata
+ + Range
+ + RangeType
+ + RegionOfInterest
+
+ Relationship
+ + ResourceRef
+ + ReviewRating
+ + Role
+ + Shape
+ + ShapeType
+ + StatusCodes
+ + Text
+
+ TextSelector
+ + TextSelectorRange
+ + Time
+ + TimeType
+ + UnitType
+ + UriOrResource
+ + ValidationResults
+ + ValidationStatus
+
+ + + +

+ Definitions +

+ +

Actor

+ +

+ +

Identifies a person responsible for an action.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
credentials + + + + + Array of + + HashedUri + + + + + +
+

List of references to W3C Verifiable Credentials.

+
+
NON/A
identifier + + + + + String + + + + + + +
+

+ An identifier for a human actor, used when the “type” is + humanEntry.identified. +

+
+
NON/A
+ + + +

+ Definitions +

+ +

AssertionData

+ +

+ +
+

+ This allows the assertion to be expressed as CBOR or JSON. The default is + CBOR unless you specify that an assertion should be JSON. +

+
+

Any of the following:

+ +
    + +
  • true
  • +
+ +

+ Definitions +

+ +

AssertionDefinition

+ +

+ +

+ Defines an assertion that consists of a label that can be either a + C2PA-defined assertion label or a custom label in reverse domain format. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
data + + + + + AssertionData + +

Description TBD.

+
+ YES + N/A
label + + + + + String + +

Description TBD.

+
+ YES + N/A
+ + + +

+ Definitions +

+ +

AssetType

+ +

+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
type + + + + + String + +

Description TBD.

+
+ YES + N/A
version + + + + + String + + + + + + +

Description TBD.

+
+ NO + N/A
+ + + +

+ Definitions +

+ +

ClaimGeneratorInfo

+ +

+ +

+ Description of the claim generator, or the software used in generating the + claim. This structure is also used for actions softwareAgent +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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
operating_system + + + + + String + + + + + + +
+

+ A human readable string of the OS the claim generator is running on +

+
+
+ NO + 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. +

+ + + +

+ Definitions +

+ +

Coordinate

+ +

+ +

+ An x, y coordinate used for specifying vertices in polygons. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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
+ + + +

+ Definitions +

+ +

DataSource

+ +

+ +

A description of the source for assertion data

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
actors + + + + + Array of + + Actor + + + + + +
+

+ A list of [Actor]s associated with this source. +

+
+
+ 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
+ + + +

+ Definitions +

+ +

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. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
end + + + + + Integer + + (int32) + + + + + +
+

+ The end of the frame inclusive or the end of the asset if not + present. +

+
+
NON/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.

+
+
NON/A
+ + + +

+ Definitions +

+ +

HashedUri

+ +

+ +

+ A HashedUri provides + a reference to content available within the same manifest store. This is + described in [§8.3, URI References], of the C2PA Technical Specification. + [§8.3, URI References]: + https://c2pa.org/specifications/specifications/2.1/specs/C2PA_Specification.html#_uri_references +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
alg + + + + + String + + + + + + +
+

+ A string identifying the cryptographic hash algorithm used to + compute the hash +

+
+
+ NO + N/A
hash + + + + + + An array of + integer + +
+

Byte string containing the hash value

+
+
+ YES + N/A
url + + + + + String + +

JUMBF URI reference

+
+ YES + N/A
+ + + +

+ Definitions +

+ +

Ingredient

+ +

+ +

+ An Ingredient is any + external asset that has been used in the creation of an asset. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
active_manifest + + + + + String + + + + + + +
+

The active manifest label (if one exists).

+ +

+ If this ingredient has a [ManifestStore], this will hold the label of the active + Manifest. +

+
+
NON/A
data + + + ResourceRef + + + +
+

A reference to the actual data of the ingredient.

+
+
NON/A
data_types + + + + + Array of + + AssetType + + + + + +
+

+ Additional information about the data’s type to the ingredient V2 + structure. +

+
+
NON/A
description + + + + + String + + + + + + +
+

Additional description of the ingredient.

+
+
NON/A
document_id + + + + + String + + + + + + +
+

+ Document ID from + xmpMM:DocumentID + in XMP metadata. +

+
+
NON/A
format + + + + + String + + + + + + +
+

The format of the source file as a MIME type.

+
+
NON/A
hash + + + + + String + + + + + + +
+

An optional hash of the asset to prevent duplicates.

+
+
NON/A
informational_URI + + + + + String + + + + + + +
+

URI to an informational page about the ingredient or its data.

+
+
NON/A
instance_id + + + + + String + + + + + + +
+

+ Instance ID from + xmpMM:InstanceID + in XMP metadata. +

+
+
NON/A
label + + + + + String + + + + + + +
+

The ingredient’s label as assigned in the manifest.

+
+
NON/A
manifest_data + + + ResourceRef + + + +
+

+ A + ManifestStore + from the source asset extracted as a binary C2PA blob. +

+
+
NON/A
metadata + + + Metadata + + + +
+

+ Any additional + Metadata + as defined in the C2PA spec. +

+
+
NON/A
provenance + + + + + String + + + + + + +
+

+ URI from + dcterms:provenance + in XMP metadata. +

+
+
NON/A
relationship + + + Relationship + + + +
+

+ Set to + ParentOf + if this is the parent ingredient. +

+ +

There can only be one parent ingredient in the ingredients.

+
+
NOcomponentOf
thumbnail + + + ResourceRef + + + +
+

+ A thumbnail image capturing the visual state at the time of import. +

+ +

+ A tuple of thumbnail MIME format (for example + image/jpeg) and binary bits of the image. +

+
+
NON/A
title + + + + + String + + + + + + +
+

A human-readable title, generally source filename.

+
+
NON/A
validation_results + + + ValidationResults + + + +

Validation results (Ingredient.V3)

+
NON/A
validation_status + + + + + Array of + + ValidationStatus + + + + + +
+

Validation status (Ingredient v1 & v2)

+
+
NON/A
+ + + +

+ Definitions +

+ +

IngredientDeltaValidationResult

+ +

+ +

+ Represents any changes or deltas between the current and previous validation + results for an ingredient’s manifest. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
ingredientAssertionURI + + + + + String + +
+

JUMBF URI reference to the ingredient assertion

+
+
+ YES + N/A
validationDeltas + + + StatusCodes + + + +
+

Validation results for the ingredient’s active manifest

+
+
+ YES + N/A
+ + + +

+ Definitions +

+ +

Item

+ +

+ +

Description of the boundaries of an identified range.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
identifier + + + + + String + +
+

+ The container-specific term used to identify items, such as + “track_id” for MP4 or “item_ID” for HEIF. +

+
+
+ YES + N/A
value + + + + + String + +
+

+ The value of the identifier, e.g. a value of “2” for an identifier + of “track_id” would imply track 2 of the asset. +

+
+
+ YES + N/A
+ + + +

+ Definitions +

+ +

Metadata

+ +

+ +

+ The Metadata structure can be used as part of other assertions or on its own + to reference others +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
dataSource + + + DataSource + + + +

Description TBD.

+
NON/A
dateTime + + + + +

Description TBD.

+
NON/A
reference + + + HashedUri + + + +

Description TBD.

+
NON/A
regionOfInterest + + + RegionOfInterest + + + +

Description TBD.

+
NON/A
reviewRatings + + + + + Array of + + ReviewRating + + + + + +

Description TBD.

+
NON/A
+ +

+ NOTE: This object can have any number of additional user-defined properties. +

+ + + +

+ Definitions +

+ +

Range

+ +

+ +

+ A spatial, temporal, frame, or textual range describing the region of + interest. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
frame + + + Frame + + + +

A frame range.

+
+ NO + N/A
item + + + Item + + + +

A item identifier.

+
+ 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
+ + + +

+ Definitions +

+ +

RangeType

+ +

The type of range for the region of interest.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RangeTypeTypeDescription
spatialstring +
+

+ A spatial range, see [Shape] for more details. +

+
+
temporalstring +
+

+ A temporal range, see [Time] for more details. +

+
+
framestring +
+

+ A spatial range, see [Frame] for more details. +

+
+
textualstring +
+

+ A textual range, see [Text] for more details. +

+
+
identifiedstring +
+

+ A range identified by a specific identifier and value, see [Item] for more details. +

+
+
+ +

+ +

+ Definitions +

+ +

RegionOfInterest

+ +

+ +

+ A region of interest within an asset describing the change. This struct can be + used from [Action::changes][crate::assertions::Action::changes] or [Metadata::region_of_interest][crate::assertions::Metadata::region_of_interest]. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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 + type. +

+
+
+ NO + N/A
+ + + +

+ Definitions +

+ +

Relationship

+ +

+ +

A string that is one of the following:

+ +
    +
  • “parentOf”
  • +
  • “componentOf”
  • +
  • “inputTo”
  • +
+ +

+ Definitions +

+ +

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][crate::Reader::resource_to_stream]. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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
+ + + +

+ Definitions +

+ +

ReviewRating

+ +

+ +

+ A rating on an Assertion. See + https://c2pa.org/specifications/specifications/1.0/specs/C2PA_Specification.html#_claim_review. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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
+ + + +

+ Definitions +

+ +

Role

+ +

A role describing the region.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RoleTypeDescription
c2pa.areaOfIntereststring +

Arbitrary area worth identifying.

+
c2pa.croppedstring +
+

This area is all that is left after a crop action.

+
+
c2pa.editedstring +
+

This area has had edits applied to it.

+
+
c2pa.placedstring +
+

The area where an ingredient was placed/added.

+
+
c2pa.redactedstring +

Something in this area was redacted.

+
c2pa.subjectAreastring +
+

Area specific to a subject (human or not).

+
+
c2pa.deletedstring +
+

A range of information was removed/deleted.

+
+
c2pa.styledstring +

Styling was applied to this area.

+
c2pa.watermarkedstring +
+

+ Invisible watermarking was applied to this area for the purpose of + soft binding. +

+
+
+ +

+ +

+ Definitions +

+ +

Shape

+ +

+ +

+ A spatial range representing rectangle, circle, or a polygon. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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
+ + + +

+ Definitions +

+ +

ShapeType

+ +

The type of shape for the range.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ShapeTypeTypeDescription
rectanglestring +

A rectangle.

+
circlestring +

A circle.

+
polygonstring +

A polygon.

+
+ +

+ +

+ Definitions +

+ +

StatusCodes

+ +

+ +

+ Contains a set of success, informational, and failure validation status codes. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
failure + + + + + + An array of + ValidationStatus + +

Description TBD.

+
+ YES + N/A
informational + + + + + + An array of + ValidationStatus + +

Description TBD.

+
+ YES + N/A
success + + + + + + An array of + ValidationStatus + +

Description TBD.

+
+ YES + N/A
+ + + +

+ Definitions +

+ +

Text

+ +

+ +

+ A textual range representing multiple (possibly discontinuous) ranges of text. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
selectors + + + + + + An array of + TextSelectorRange + +

The ranges of text to select.

+
+ YES + N/A
+ + + +

+ Definitions +

+ +

TextSelector

+ +

+ +

+ Selects a range of text via a fragment identifier. This is modeled after the + W3C Web Annotation selector model. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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
+ + + +

+ Definitions +

+ +

TextSelectorRange

+ +

+ +

+ One or two [TextSelector][TextSelector] identifiying the range to select. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
end + + + TextSelector + + + +

The end of the text range.

+
+ NO + N/A
selector + + + TextSelector + + + +

The start (or entire) text range.

+
+ YES + N/A
+ + + +

+ Definitions +

+ +

Time

+ +

+ +

+ A temporal range representing a starting time to an ending time. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
end + + + + + String + + + + + + +
+

The end time or the end of the asset if not present.

+
+
NON/A
start + + + + + String + + + + + + +
+

The start time or the start of the asset if not present.

+
+
NON/A
type + + + TimeType + + + +

The type of time.

+
NOnpt
+ + + +

+ Definitions +

+ +

TimeType

+ +

The type of time.

+ + + + + + + + + + + + + + + + + +
TimeTypeTypeDescription
nptstring +
+

+ Times are described using Normal Play Time (npt) as described in RFC + 2326. +

+
+
+ +

+ +

+ Definitions +

+ +

UnitType

+ +

The type of unit for the range.

+ + + + + + + + + + + + + + + + + + + + + + +
UnitTypeTypeDescription
pixelstring +

Use pixels.

+
percentstring +

Use percentage.

+
+ +

+ +

+ Definitions +

+ +

UriOrResource

+ +

+ +

Description TBD.

+

Any of the following:

+ + + +

+ Definitions +

+ +

ValidationResults

+ +

+ +

+ A map of validation results for a manifest store. The map contains the + validation results for the active manifest and any ingredient deltas. It is + normal for there to be many +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
activeManifest + + + StatusCodes + + + +

Description TBD.

+
NON/A
ingredientDeltas + + + + + Array of + + IngredientDeltaValidationResult + + + + + +

Description TBD.

+
NON/A
+ + + +

+ Definitions +

+ +

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. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
code + + + + + String + +

Description TBD.

+
+ YES + N/A
explanation + + + + + String + + + + + + +

Description TBD.

+
+ NO + N/A
success + + + + + Boolean + + + + + + +

Description TBD.

+
+ NO + N/A
url + + + + + String + + + + + + +

Description TBD.

+
+ NO + N/A
+ + + +

+ +

diff --git a/docs/manifest/json-ref/manifest-def.mdx b/docs/manifest/json-ref/manifest-def.mdx index a41636e2..77c5ddaf 100644 --- a/docs/manifest/json-ref/manifest-def.mdx +++ b/docs/manifest/json-ref/manifest-def.mdx @@ -10,4 +10,6 @@ import ManifestReference from './manifest-ref.js'; This is a beta release of this reference. It is a work in progress and may not be accurate or complete. ::: - +This page is generated from the unmodified JSON schema generated from c2pa-rs on 05/09/2025. + + diff --git a/docs/manifest/json-ref/manifest-ref.js b/docs/manifest/json-ref/manifest-ref.js index 2eac8389..f0d3a4b3 100644 --- a/docs/manifest/json-ref/manifest-ref.js +++ b/docs/manifest/json-ref/manifest-ref.js @@ -4,9 +4,8 @@ import './cai-addon.css'; // Import all possible HTML files statically const htmlFiles = { - './manifest-def-cai.html': require('!!raw-loader!./manifest-def-cai.html') - ?.default, - './reader-cai.html': require('!!raw-loader!./reader-cai.html')?.default, + './manifest-def.html': require('!!raw-loader!./manifest-def.html')?.default, + './reader.html': require('!!raw-loader!./reader.html')?.default, // Add other HTML files here as needed }; diff --git a/docs/manifest/json-ref/reader-cai.html b/docs/manifest/json-ref/reader-cai.html deleted file mode 100644 index 2ba52ef7..00000000 --- a/docs/manifest/json-ref/reader-cai.html +++ /dev/null @@ -1,5401 +0,0 @@ - - - - - - Reader reference - Manifest Reference - - - - - - - - - -

Reader

- -

A reader for the manifest store.

- -

Properties

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
active_manifest - - - - - String - - - - - - -

A label for the active (most recent) manifest in the store

-
- - NO - - - - N/A -
manifestsObject -

A HashMap of Manifests

- -
See - Manifest -
- - YES - - - - N/A -
validation_results - - - ValidationResults - - - -

- ValidationStatus generated when loading the ManifestStore from an - asset -

-
- - NO - - - - N/A -
validation_state - - - ValidationState - - - -

The validation state of the manifest store

-
- - NO - - - - N/A -
validation_status - - - - - Array of - - ValidationStatus - - - - - -

- ValidationStatus generated when loading the ManifestStore from an - asset -

-
- - NO - - - - N/A -
- - - -

Definitions

- - - - - - - - - - - - - - - - - - - -
- Actor
- - AssetType
- - ClaimGeneratorInfo
- - Coordinate
- - DataSource
- - DateT
- - Frame
-
- HashedUri
- - Ingredient
- - IngredientDeltaValidationResult -
- - Item
- - Manifest
- - ManifestAssertion
- - ManifestAssertionKind
-
- ManifestData
- - Metadata
- - Range
- - RangeType
- - RegionOfInterest
- - Relationship
- - ResourceRef
-
- ResourceStore
- - ReviewRating
- - Role
- - Shape
- - ShapeType
- - SignatureInfo
- - SigningAlg
-
- StatusCodes
- - Text
- - TextSelector
- - TextSelectorRange
- - Time
- - TimeType
- - UnitType
-
- UriOrResource
- - ValidationResults
- - ValidationState
- - ValidationStatus
-
- - - -

- Scroll To Top -

- -

Actor

- -

- -

Identifies a person responsible for an action.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
credentials - - - - - Array of - - HashedUri - - - - - -
-

List of references to W3C Verifiable Credentials.

-
-
NON/A
identifier - - - - - String - - - - - - -
-

- An identifier for a human actor, used when the “type” is - humanEntry.identified. -

-
-
NON/A
- - - -

- Scroll To Top -

- -

AssetType

- -

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
type - - - - - String - -

Description TBD.

-
- YES - N/A
version - - - - - String - - - - - - -

Description TBD.

-
- NO - N/A
- - - -

- Scroll To Top -

- -

ClaimGeneratorInfo

- -

- -

- Description of the claim generator, or the software used in generating the - claim. This structure is also used for actions softwareAgent -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?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
operating_system - - - - - String - - - - - - -
-

- A human readable string of the OS the claim generator is running - on -

-
-
- NO - 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. -

- - - -

- Scroll To Top -

- -

Coordinate

- -

- -

- An x, y coordinate used for specifying vertices in polygons. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?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
- - - -

- Scroll To Top -

- -

DataSource

- -

- -

A description of the source for assertion data

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
actors - - - - - Array of - - Actor - - - - - -
-

- A list of [Actor]s associated with this source. -

-
-
- 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
- - - -

- Scroll To Top -

- -

DateT

- -

- -

A string.

- - - -

- Scroll To Top -

- -

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. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
end - - - - - Integer - - (int32) - - - - - -
-

- The end of the frame inclusive or the end of the asset if not - present. -

-
-
NON/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.

-
-
NON/A
- - - -

- Scroll To Top -

- -

HashedUri

- -

- -

- A - HashedUri - provides a reference to content available within the same manifest store. - This is described in [§8.3, URI References], of the C2PA Technical - Specification. [§8.3, URI References]: - https://c2pa.org/specifications/specifications/2.1/specs/C2PA_Specification.html#_uri_references -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
alg - - - - - String - - - - - - -
-

- A string identifying the cryptographic hash algorithm used to - compute the hash -

-
-
- NO - N/A
hash - - - - - - An array of - integer - -
-

Byte string containing the hash value

-
-
- YES - N/A
url - - - - - String - -

JUMBF URI reference

-
- YES - N/A
- - - -

- Scroll To Top -

- -

Ingredient

- -

- -

- An Ingredient is - any external asset that has been used in the creation of an asset. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
active_manifest - - - - - String - - - - - - -
-

The active manifest label (if one exists).

- -

- If this ingredient has a [ManifestStore], this will hold the label of the active - Manifest. -

-
-
NON/A
data - - - ResourceRef - - - -
-

A reference to the actual data of the ingredient.

-
-
NON/A
data_types - - - - - Array of - - AssetType - - - - - -
-

- Additional information about the data’s type to the ingredient - V2 structure. -

-
-
NON/A
description - - - - - String - - - - - - -
-

Additional description of the ingredient.

-
-
NON/A
document_id - - - - - String - - - - - - -
-

- Document ID from - xmpMM:DocumentID - in XMP metadata. -

-
-
NON/A
format - - - - - String - - - - - - -
-

The format of the source file as a MIME type.

-
-
NON/A
hash - - - - - String - - - - - - -
-

An optional hash of the asset to prevent duplicates.

-
-
NON/A
informational_URI - - - - - String - - - - - - -
-

- URI to an informational page about the ingredient or its data. -

-
-
NON/A
instance_id - - - - - String - - - - - - -
-

- Instance ID from - xmpMM:InstanceID - in XMP metadata. -

-
-
NON/A
label - - - - - String - - - - - - -
-

The ingredient’s label as assigned in the manifest.

-
-
NON/A
manifest_data - - - ResourceRef - - - -
-

- A - ManifestStore - from the source asset extracted as a binary C2PA blob. -

-
-
NON/A
metadata - - - Metadata - - - -
-

- Any additional - Metadata - as defined in the C2PA spec. -

-
-
NON/A
provenance - - - - - String - - - - - - -
-

- URI from - dcterms:provenance - in XMP metadata. -

-
-
NON/A
relationship - - - Relationship - - - -
-

- Set to - ParentOf - if this is the parent ingredient. -

- -

There can only be one parent ingredient in the ingredients.

-
-
NOcomponentOf
resources - - - ResourceStore - - - -

Description TBD.

-
NON/A
thumbnail - - - ResourceRef - - - -
-

- A thumbnail image capturing the visual state at the time of - import. -

- -

- A tuple of thumbnail MIME format (for example - image/jpeg) and binary bits of the image. -

-
-
NON/A
title - - - - - String - - - - - - -
-

A human-readable title, generally source filename.

-
-
NON/A
validation_results - - - ValidationResults - - - -
-

Validation results (Ingredient.V3)

-
-
NON/A
validation_status - - - - - Array of - - ValidationStatus - - - - - -
-

Validation status (Ingredient v1 & v2)

-
-
NON/A
- - - -

- Scroll To Top -

- -

- IngredientDeltaValidationResult -

- -

- -

- Represents any changes or deltas between the current and previous - validation results for an ingredient’s manifest. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
ingredientAssertionURI - - - - - String - -
-

JUMBF URI reference to the ingredient assertion

-
-
- YES - N/A
validationDeltas - - - StatusCodes - - - -
-

Validation results for the ingredient’s active manifest

-
-
- YES - N/A
- - - -

- Scroll To Top -

- -

Item

- -

- -

- Description of the boundaries of an identified range. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
identifier - - - - - String - -
-

- The container-specific term used to identify items, such as - “track_id” for MP4 or “item_ID” for HEIF. -

-
-
- YES - N/A
value - - - - - String - -
-

- The value of the identifier, e.g. a value of “2” for an - identifier of “track_id” would imply track 2 of the asset. -

-
-
- YES - N/A
- - - -

- Scroll To Top -

- -

Manifest

- -

- -

- A Manifest represents all the information in a c2pa manifest -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
assertions - - - - - - An array of - ManifestAssertion - -

A list of assertions

-
NOEmpty 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 -

-
-
NON/A
claim_generator_info - - - - - Array of - - ClaimGeneratorInfo - - - - - -
-

- A list of claim generator info data identifying the - software/hardware/system produced this claim -

-
-
NON/A
credentials - - - - - Array of true - - - - - -

A List of verified credentials

-
NON/A
format - - - - - String - - - - - - -
-

The format of the source file as a MIME type.

-
-
NON/A
ingredients - - - - - - An array of - Ingredient - -

A List of ingredients

-
NOEmpty array
instance_id - - - - - String - -
-

- Instance ID from - xmpMM:InstanceID - in XMP metadata. -

-
-
NO - xmp:iid:424afed8-279d-4793-a279-b80a00b8c32b -
label - - - - - String - - - - - - -

Description TBD.

-
NON/A
metadata - - - - - Array of - - Metadata - - - - - -
-

A list of user metadata for this claim

-
-
NON/A
redactions - - - - - Array of string - - - - - -
-

A list of redactions - URIs to a redacted assertions

-
-
NON/A
resources - - - ResourceStore - - - -
-

container for binary assets (like thumbnails)

-
-
NON/A
signature_info - - - SignatureInfo - - - -
-

Signature data (only used for reporting)

-
-
NON/A
thumbnail - - - ResourceRef - - - -

Description TBD.

-
NON/A
title - - - - - String - - - - - - -
-

A human-readable title, generally source filename.

-
-
NON/A
vendor - - - - - String - - - - - - -
-

- Optional prefix added to the generated Manifest Label This is - typically Internet domain name for the vendor (i.e. - adobe) -

-
-
NON/A
- - - -

- Scroll To Top -

- -

ManifestAssertion

- -

- -

- A labeled container for an Assertion value in a Manifest -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?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
- - - -

- Scroll To Top -

- -

ManifestAssertionKind

- -

- -

A string that is one of the following:

- -
    -
  • “Cbor”
  • -
  • “Json”
  • -
  • “Binary”
  • -
  • “Uri”
  • -
- -

- Scroll To Top -

- -

ManifestData

- -

- -

Description TBD.

-

Any of the following:

- -
    - -
  • true
  • - - -
  • type: integer, format: uint8, minimum: 0.0
  • -
- -

- Scroll To Top -

- -

Metadata

- -

- -

- The Metadata structure can be used as part of other assertions or on its - own to reference others -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
dataSource - - - DataSource - - - -

Description TBD.

-
NON/A
dateTime - - - DateT - - - -

Description TBD.

-
NON/A
reference - - - HashedUri - - - -

Description TBD.

-
NON/A
regionOfInterest - - - RegionOfInterest - - - -

Description TBD.

-
NON/A
reviewRatings - - - - - Array of - - ReviewRating - - - - - -

Description TBD.

-
NON/A
- -

- NOTE: This object can have any number of additional user-defined - properties. -

- - - -

- Scroll To Top -

- -

Range

- -

- -

- A spatial, temporal, frame, or textual range describing the region of - interest. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
frame - - - Frame - - - -

A frame range.

-
- NO - N/A
item - - - Item - - - -

A item identifier.

-
- 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
- - - -

- Scroll To Top -

- -

RangeType

- -

The type of range for the region of interest.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
RangeTypeTypeDescription
spatialstring -
-

- A spatial range, see [Shape] for more details. -

-
-
temporalstring -
-

- A temporal range, see [Time] for more details. -

-
-
framestring -
-

- A spatial range, see [Frame] for more details. -

-
-
textualstring -
-

- A textual range, see [Text] for more details. -

-
-
identifiedstring -
-

- A range identified by a specific identifier and value, see - [Item] - for more details. -

-
-
- -

- -

- Scroll To Top -

- -

RegionOfInterest

- -

- -

- A region of interest within an asset describing the change. This struct - can be used from [Action::changes][crate::assertions::Action::changes] or [Metadata::region_of_interest][crate::assertions::Metadata::region_of_interest]. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?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 - type. -

-
-
- NO - N/A
- - - -

- Scroll To Top -

- -

Relationship

- -

- -

A string that is one of the following:

- -
    -
  • “parentOf”
  • -
  • “componentOf”
  • -
  • “inputTo”
  • -
- -

- Scroll To Top -

- -

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][crate::Reader::resource_to_stream]. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?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
- - - -

- Scroll To Top -

- -

ResourceStore

- -

- -

- Resource store to contain binary objects referenced from JSON serializable - structures -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
base_path - - - - - String - - - - - - -

Description TBD.

-
- NO - N/A
label - - - - - String - - - - - - -

Description TBD.

-
- NO - N/A
resources - - - - - (Object) - -

Description TBD.

-
- YES - N/A
- - - -

- Scroll To Top -

- -

ReviewRating

- -

- -

- A rating on an Assertion. See - https://c2pa.org/specifications/specifications/1.0/specs/C2PA_Specification.html#_claim_review. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?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
- - - -

- Scroll To Top -

- -

Role

- -

A role describing the region.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
RoleTypeDescription
c2pa.areaOfIntereststring -
-

Arbitrary area worth identifying.

-
-
c2pa.croppedstring -
-

This area is all that is left after a crop action.

-
-
c2pa.editedstring -
-

This area has had edits applied to it.

-
-
c2pa.placedstring -
-

The area where an ingredient was placed/added.

-
-
c2pa.redactedstring -
-

Something in this area was redacted.

-
-
c2pa.subjectAreastring -
-

Area specific to a subject (human or not).

-
-
c2pa.deletedstring -
-

A range of information was removed/deleted.

-
-
c2pa.styledstring -
-

Styling was applied to this area.

-
-
c2pa.watermarkedstring -
-

- Invisible watermarking was applied to this area for the purpose - of soft binding. -

-
-
- -

- -

- Scroll To Top -

- -

Shape

- -

- -

- A spatial range representing rectangle, circle, or a polygon. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?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
- - - -

- Scroll To Top -

- -

ShapeType

- -

The type of shape for the range.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
ShapeTypeTypeDescription
rectanglestring -

A rectangle.

-
circlestring -

A circle.

-
polygonstring -

A polygon.

-
- -

- -

- Scroll To Top -

- -

SignatureInfo

- -

- -

Holds information about a signature

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
alg - - - SigningAlg - - - -
-

Human-readable issuing authority for this signature.

-
-
NON/A
cert_serial_number - - - - - String - - - - - - -
-

The serial number of the certificate.

-
-
NON/A
issuer - - - - - String - - - - - - -
-

Human-readable issuing authority for this signature.

-
-
NON/A
revocation_status - - - - - Boolean - - - - - - -
-

Revocation status of the certificate.

-
-
NON/A
time - - - - - String - - - - - - -
-

The time the signature was created.

-
-
NON/A
- - - -

- Scroll To Top -

- -

SigningAlg

- -

Describes the digital signature algorithms allowed by the C2PA spec.

- -

- Per - §13.2, “Digital Signatures”: -

- -
-

- All digital signatures applied as per the technical requirements of this - > specification shall be generated using one of the digital signature - > algorithms and key types listed as described in this section. -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SigningAlgTypeDescription
Es256string -

ECDSA with SHA-256

-
Es384string -

ECDSA with SHA-384

-
Es512string -

ECDSA with SHA-512

-
Ps256string -
-

RSASSA-PSS using SHA-256 and MGF1 with SHA-256

-
-
Ps384string -
-

RSASSA-PSS using SHA-384 and MGF1 with SHA-384

-
-
Ps512string -
-

RSASSA-PSS using SHA-512 and MGF1 with SHA-512

-
-
Ed25519string -
-

Edwards-Curve DSA (Ed25519 instance only)

-
-
- -

- -

- Scroll To Top -

- -

StatusCodes

- -

- -

- Contains a set of success, informational, and failure validation status - codes. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
failure - - - - - - An array of - ValidationStatus - -

Description TBD.

-
- YES - N/A
informational - - - - - - An array of - ValidationStatus - -

Description TBD.

-
- YES - N/A
success - - - - - - An array of - ValidationStatus - -

Description TBD.

-
- YES - N/A
- - - -

- Scroll To Top -

- -

Text

- -

- -

- A textual range representing multiple (possibly discontinuous) ranges of - text. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
selectors - - - - - - An array of - TextSelectorRange - -

The ranges of text to select.

-
- YES - N/A
- - - -

- Scroll To Top -

- -

TextSelector

- -

- -

- Selects a range of text via a fragment identifier. This is modeled after - the W3C Web Annotation selector model. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?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
- - - -

- Scroll To Top -

- -

TextSelectorRange

- -

- -

- One or two [TextSelector][TextSelector] identifiying the range to select. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
end - - - TextSelector - - - -

The end of the text range.

-
- NO - N/A
selector - - - TextSelector - - - -
-

The start (or entire) text range.

-
-
- YES - N/A
- - - -

- Scroll To Top -

- -

Time

- -

- -

- A temporal range representing a starting time to an ending time. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
end - - - - - String - - - - - - -
-

The end time or the end of the asset if not present.

-
-
NON/A
start - - - - - String - - - - - - -
-

The start time or the start of the asset if not present.

-
-
NON/A
type - - - TimeType - - - -

The type of time.

-
NOnpt
- - - -

- Scroll To Top -

- -

TimeType

- -

The type of time.

- - - - - - - - - - - - - - - - - -
TimeTypeTypeDescription
nptstring -
-

- Times are described using Normal Play Time (npt) as described in - RFC 2326. -

-
-
- -

- -

- Scroll To Top -

- -

UnitType

- -

The type of unit for the range.

- - - - - - - - - - - - - - - - - - - - - - -
UnitTypeTypeDescription
pixelstring -

Use pixels.

-
percentstring -

Use percentage.

-
- -

- -

- Scroll To Top -

- -

UriOrResource

- -

- -

Description TBD.

-

Any of the following:

- - - -

- Scroll To Top -

- -

ValidationResults

- -

- -

- A map of validation results for a manifest store. The map contains the - validation results for the active manifest and any ingredient deltas. It - is normal for there to be many -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
activeManifest - - - StatusCodes - - - -

Description TBD.

-
NON/A
ingredientDeltas - - - - - Array of - - IngredientDeltaValidationResult - - - - - -

Description TBD.

-
NON/A
- - - -

- Scroll To Top -

- -

ValidationState

- -

Indicates if the manifest store is valid and trusted.

- -

- The Trusted state implies the manifest store is valid and the active - signature is trusted. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
ValidationStateTypeDescription
Invalidstring -
-

Errors were found in the manifest store.

-
-
Validstring -
-

- No errors were found in validation, but the active signature is - not trusted. -

-
-
Trustedstring -
-

- The manifest store is valid and the active signature is trusted. -

-
-
- -

- -

- Scroll To Top -

- -

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. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
code - - - - - String - -

Description TBD.

-
- YES - N/A
explanation - - - - - String - - - - - - -

Description TBD.

-
- NO - N/A
success - - - - - Boolean - - - - - - -

Description TBD.

-
- NO - N/A
url - - - - - String - - - - - - -

Description TBD.

-
- NO - N/A
- - - -

- -

- - diff --git a/docs/manifest/json-ref/reader.html b/docs/manifest/json-ref/reader.html new file mode 100644 index 00000000..a0a01a5d --- /dev/null +++ b/docs/manifest/json-ref/reader.html @@ -0,0 +1,5327 @@ +

Reader

+ +

A reader for the manifest store.

+ +

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
active_manifest + + + + + String + + + + + + +

A label for the active (most recent) manifest in the store

+
+ + NO + + + + N/A +
manifestsObject +

A HashMap of Manifests

+ +
See + Manifest +
+ + YES + + + + N/A +
validation_results + + + ValidationResults + + + +

+ ValidationStatus generated when loading the ManifestStore from an + asset +

+
+ + NO + + + + N/A +
validation_state + + + ValidationState + + + +

The validation state of the manifest store

+
+ + NO + + + + N/A +
validation_status + + + + + Array of + + ValidationStatus + + + + + +

+ ValidationStatus generated when loading the ManifestStore from an + asset +

+
+ + NO + + + + N/A +
+ + + +

Definitions

+ + + + + + + + + + + + +
+ Actor
+ + AssetType
+ + ClaimGeneratorInfo
+ + Coordinate
+ + DataSource
+ + DateT
+ + Frame
+ + HashedUri
+
+ Ingredient
+ + IngredientDeltaValidationResult +
+ + Item
+ + Manifest
+ + ManifestAssertion
+ + ManifestAssertionKind
+ + ManifestData
+ + Metadata
+
+ Range
+ + RangeType
+ + RegionOfInterest
+ + Relationship
+ + ResourceRef
+ + ResourceStore
+ + ReviewRating
+ + Role
+
+ Shape
+ + ShapeType
+ + SignatureInfo
+ + SigningAlg
+ + StatusCodes
+ + Text
+ + TextSelector
+ + TextSelectorRange
+
+ Time
+ + TimeType
+ + UnitType
+ + UriOrResource
+ + ValidationResults
+ + ValidationState
+ + ValidationStatus
+
+ + + +

+ Definitions +

+ +

Actor

+ +

+ +

Identifies a person responsible for an action.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
credentials + + + + + Array of + + HashedUri + + + + + +
+

List of references to W3C Verifiable Credentials.

+
+
NON/A
identifier + + + + + String + + + + + + +
+

+ An identifier for a human actor, used when the “type” is + humanEntry.identified. +

+
+
NON/A
+ + + +

+ Definitions +

+ +

AssetType

+ +

+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
type + + + + + String + +

Description TBD.

+
+ YES + N/A
version + + + + + String + + + + + + +

Description TBD.

+
+ NO + N/A
+ + + +

+ Definitions +

+ +

ClaimGeneratorInfo

+ +

+ +

+ Description of the claim generator, or the software used in generating the + claim. This structure is also used for actions softwareAgent +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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
operating_system + + + + + String + + + + + + +
+

+ A human readable string of the OS the claim generator is running on +

+
+
+ NO + 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. +

+ + + +

+ Definitions +

+ +

Coordinate

+ +

+ +

+ An x, y coordinate used for specifying vertices in polygons. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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
+ + + +

+ Definitions +

+ +

DataSource

+ +

+ +

A description of the source for assertion data

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
actors + + + + + Array of + + Actor + + + + + +
+

+ A list of [Actor]s associated with this source. +

+
+
+ 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
+ + + +

+ Definitions +

+ +

DateT

+ +

+ +

A string.

+ + + +

+ Definitions +

+ +

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. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
end + + + + + Integer + + (int32) + + + + + +
+

+ The end of the frame inclusive or the end of the asset if not + present. +

+
+
NON/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.

+
+
NON/A
+ + + +

+ Definitions +

+ +

HashedUri

+ +

+ +

+ A HashedUri provides + a reference to content available within the same manifest store. This is + described in [§8.3, URI References], of the C2PA Technical Specification. + [§8.3, URI References]: + https://c2pa.org/specifications/specifications/2.1/specs/C2PA_Specification.html#_uri_references +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
alg + + + + + String + + + + + + +
+

+ A string identifying the cryptographic hash algorithm used to + compute the hash +

+
+
+ NO + N/A
hash + + + + + + An array of + integer + +
+

Byte string containing the hash value

+
+
+ YES + N/A
url + + + + + String + +

JUMBF URI reference

+
+ YES + N/A
+ + + +

+ Definitions +

+ +

Ingredient

+ +

+ +

+ An Ingredient is any + external asset that has been used in the creation of an asset. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
active_manifest + + + + + String + + + + + + +
+

The active manifest label (if one exists).

+ +

+ If this ingredient has a [ManifestStore], this will hold the label of the active + Manifest. +

+
+
NON/A
data + + + ResourceRef + + + +
+

A reference to the actual data of the ingredient.

+
+
NON/A
data_types + + + + + Array of + + AssetType + + + + + +
+

+ Additional information about the data’s type to the ingredient V2 + structure. +

+
+
NON/A
description + + + + + String + + + + + + +
+

Additional description of the ingredient.

+
+
NON/A
document_id + + + + + String + + + + + + +
+

+ Document ID from + xmpMM:DocumentID + in XMP metadata. +

+
+
NON/A
format + + + + + String + + + + + + +
+

The format of the source file as a MIME type.

+
+
NON/A
hash + + + + + String + + + + + + +
+

An optional hash of the asset to prevent duplicates.

+
+
NON/A
informational_URI + + + + + String + + + + + + +
+

URI to an informational page about the ingredient or its data.

+
+
NON/A
instance_id + + + + + String + + + + + + +
+

+ Instance ID from + xmpMM:InstanceID + in XMP metadata. +

+
+
NON/A
label + + + + + String + + + + + + +
+

The ingredient’s label as assigned in the manifest.

+
+
NON/A
manifest_data + + + ResourceRef + + + +
+

+ A + ManifestStore + from the source asset extracted as a binary C2PA blob. +

+
+
NON/A
metadata + + + Metadata + + + +
+

+ Any additional + Metadata + as defined in the C2PA spec. +

+
+
NON/A
provenance + + + + + String + + + + + + +
+

+ URI from + dcterms:provenance + in XMP metadata. +

+
+
NON/A
relationship + + + Relationship + + + +
+

+ Set to + ParentOf + if this is the parent ingredient. +

+ +

There can only be one parent ingredient in the ingredients.

+
+
NOcomponentOf
resources + + + ResourceStore + + + +

Description TBD.

+
NON/A
thumbnail + + + ResourceRef + + + +
+

+ A thumbnail image capturing the visual state at the time of import. +

+ +

+ A tuple of thumbnail MIME format (for example + image/jpeg) and binary bits of the image. +

+
+
NON/A
title + + + + + String + + + + + + +
+

A human-readable title, generally source filename.

+
+
NON/A
validation_results + + + ValidationResults + + + +

Validation results (Ingredient.V3)

+
NON/A
validation_status + + + + + Array of + + ValidationStatus + + + + + +
+

Validation status (Ingredient v1 & v2)

+
+
NON/A
+ + + +

+ Definitions +

+ +

IngredientDeltaValidationResult

+ +

+ +

+ Represents any changes or deltas between the current and previous validation + results for an ingredient’s manifest. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
ingredientAssertionURI + + + + + String + +
+

JUMBF URI reference to the ingredient assertion

+
+
+ YES + N/A
validationDeltas + + + StatusCodes + + + +
+

Validation results for the ingredient’s active manifest

+
+
+ YES + N/A
+ + + +

+ Definitions +

+ +

Item

+ +

+ +

Description of the boundaries of an identified range.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
identifier + + + + + String + +
+

+ The container-specific term used to identify items, such as + “track_id” for MP4 or “item_ID” for HEIF. +

+
+
+ YES + N/A
value + + + + + String + +
+

+ The value of the identifier, e.g. a value of “2” for an identifier + of “track_id” would imply track 2 of the asset. +

+
+
+ YES + N/A
+ + + +

+ Definitions +

+ +

Manifest

+ +

+ +

+ A Manifest represents all the information in a c2pa manifest +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
assertions + + + + + + An array of + ManifestAssertion + +

A list of assertions

+
NOEmpty 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 +

+
+
NON/A
claim_generator_info + + + + + Array of + + ClaimGeneratorInfo + + + + + +
+

+ A list of claim generator info data identifying the + software/hardware/system produced this claim +

+
+
NON/A
credentials + + + + + Array of true + + + + + +

A List of verified credentials

+
NON/A
format + + + + + String + + + + + + +
+

The format of the source file as a MIME type.

+
+
NON/A
ingredients + + + + + + An array of + Ingredient + +

A List of ingredients

+
NOEmpty array
instance_id + + + + + String + +
+

+ Instance ID from + xmpMM:InstanceID + in XMP metadata. +

+
+
NO + xmp:iid:424afed8-279d-4793-a279-b80a00b8c32b +
label + + + + + String + + + + + + +

Description TBD.

+
NON/A
metadata + + + + + Array of + + Metadata + + + + + +
+

A list of user metadata for this claim

+
+
NON/A
redactions + + + + + Array of string + + + + + +
+

A list of redactions - URIs to a redacted assertions

+
+
NON/A
resources + + + ResourceStore + + + +
+

container for binary assets (like thumbnails)

+
+
NON/A
signature_info + + + SignatureInfo + + + +
+

Signature data (only used for reporting)

+
+
NON/A
thumbnail + + + ResourceRef + + + +

Description TBD.

+
NON/A
title + + + + + String + + + + + + +
+

A human-readable title, generally source filename.

+
+
NON/A
vendor + + + + + String + + + + + + +
+

+ Optional prefix added to the generated Manifest Label This is + typically Internet domain name for the vendor (i.e. + adobe) +

+
+
NON/A
+ + + +

+ Definitions +

+ +

ManifestAssertion

+ +

+ +

+ A labeled container for an Assertion value in a Manifest +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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
+ + + +

+ Definitions +

+ +

ManifestAssertionKind

+ +

+ +

A string that is one of the following:

+ +
    +
  • “Cbor”
  • +
  • “Json”
  • +
  • “Binary”
  • +
  • “Uri”
  • +
+ +

+ Definitions +

+ +

ManifestData

+ +

+ +

Description TBD.

+

Any of the following:

+ +
    + +
  • true
  • + + +
  • type: integer, format: uint8, minimum: 0.0
  • +
+ +

+ Definitions +

+ +

Metadata

+ +

+ +

+ The Metadata structure can be used as part of other assertions or on its own + to reference others +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
dataSource + + + DataSource + + + +

Description TBD.

+
NON/A
dateTime + + + DateT + + + +

Description TBD.

+
NON/A
reference + + + HashedUri + + + +

Description TBD.

+
NON/A
regionOfInterest + + + RegionOfInterest + + + +

Description TBD.

+
NON/A
reviewRatings + + + + + Array of + + ReviewRating + + + + + +

Description TBD.

+
NON/A
+ +

+ NOTE: This object can have any number of additional user-defined properties. +

+ + + +

+ Definitions +

+ +

Range

+ +

+ +

+ A spatial, temporal, frame, or textual range describing the region of + interest. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
frame + + + Frame + + + +

A frame range.

+
+ NO + N/A
item + + + Item + + + +

A item identifier.

+
+ 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
+ + + +

+ Definitions +

+ +

RangeType

+ +

The type of range for the region of interest.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RangeTypeTypeDescription
spatialstring +
+

+ A spatial range, see [Shape] for more details. +

+
+
temporalstring +
+

+ A temporal range, see [Time] for more details. +

+
+
framestring +
+

+ A spatial range, see [Frame] for more details. +

+
+
textualstring +
+

+ A textual range, see [Text] for more details. +

+
+
identifiedstring +
+

+ A range identified by a specific identifier and value, see [Item] for more details. +

+
+
+ +

+ +

+ Definitions +

+ +

RegionOfInterest

+ +

+ +

+ A region of interest within an asset describing the change. This struct can be + used from [Action::changes][crate::assertions::Action::changes] or [Metadata::region_of_interest][crate::assertions::Metadata::region_of_interest]. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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 + type. +

+
+
+ NO + N/A
+ + + +

+ Definitions +

+ +

Relationship

+ +

+ +

A string that is one of the following:

+ +
    +
  • “parentOf”
  • +
  • “componentOf”
  • +
  • “inputTo”
  • +
+ +

+ Definitions +

+ +

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][crate::Reader::resource_to_stream]. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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
+ + + +

+ Definitions +

+ +

ResourceStore

+ +

+ +

+ Resource store to contain binary objects referenced from JSON serializable + structures +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
base_path + + + + + String + + + + + + +

Description TBD.

+
+ NO + N/A
label + + + + + String + + + + + + +

Description TBD.

+
+ NO + N/A
resources + + + + + (Object) + +

Description TBD.

+
+ YES + N/A
+ + + +

+ Definitions +

+ +

ReviewRating

+ +

+ +

+ A rating on an Assertion. See + https://c2pa.org/specifications/specifications/1.0/specs/C2PA_Specification.html#_claim_review. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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
+ + + +

+ Definitions +

+ +

Role

+ +

A role describing the region.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RoleTypeDescription
c2pa.areaOfIntereststring +

Arbitrary area worth identifying.

+
c2pa.croppedstring +
+

This area is all that is left after a crop action.

+
+
c2pa.editedstring +
+

This area has had edits applied to it.

+
+
c2pa.placedstring +
+

The area where an ingredient was placed/added.

+
+
c2pa.redactedstring +

Something in this area was redacted.

+
c2pa.subjectAreastring +
+

Area specific to a subject (human or not).

+
+
c2pa.deletedstring +
+

A range of information was removed/deleted.

+
+
c2pa.styledstring +

Styling was applied to this area.

+
c2pa.watermarkedstring +
+

+ Invisible watermarking was applied to this area for the purpose of + soft binding. +

+
+
+ +

+ +

+ Definitions +

+ +

Shape

+ +

+ +

+ A spatial range representing rectangle, circle, or a polygon. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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
+ + + +

+ Definitions +

+ +

ShapeType

+ +

The type of shape for the range.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ShapeTypeTypeDescription
rectanglestring +

A rectangle.

+
circlestring +

A circle.

+
polygonstring +

A polygon.

+
+ +

+ +

+ Definitions +

+ +

SignatureInfo

+ +

+ +

Holds information about a signature

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
alg + + + SigningAlg + + + +
+

Human-readable issuing authority for this signature.

+
+
NON/A
cert_serial_number + + + + + String + + + + + + +
+

The serial number of the certificate.

+
+
NON/A
issuer + + + + + String + + + + + + +
+

Human-readable issuing authority for this signature.

+
+
NON/A
revocation_status + + + + + Boolean + + + + + + +
+

Revocation status of the certificate.

+
+
NON/A
time + + + + + String + + + + + + +

The time the signature was created.

+
NON/A
+ + + +

+ Definitions +

+ +

SigningAlg

+ +

Describes the digital signature algorithms allowed by the C2PA spec.

+ +

+ Per + §13.2, “Digital Signatures”: +

+ +
+

+ All digital signatures applied as per the technical requirements of this + > specification shall be generated using one of the digital signature + > algorithms and key types listed as described in this section. +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SigningAlgTypeDescription
Es256string +

ECDSA with SHA-256

+
Es384string +

ECDSA with SHA-384

+
Es512string +

ECDSA with SHA-512

+
Ps256string +
+

RSASSA-PSS using SHA-256 and MGF1 with SHA-256

+
+
Ps384string +
+

RSASSA-PSS using SHA-384 and MGF1 with SHA-384

+
+
Ps512string +
+

RSASSA-PSS using SHA-512 and MGF1 with SHA-512

+
+
Ed25519string +
+

Edwards-Curve DSA (Ed25519 instance only)

+
+
+ +

+ +

+ Definitions +

+ +

StatusCodes

+ +

+ +

+ Contains a set of success, informational, and failure validation status codes. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
failure + + + + + + An array of + ValidationStatus + +

Description TBD.

+
+ YES + N/A
informational + + + + + + An array of + ValidationStatus + +

Description TBD.

+
+ YES + N/A
success + + + + + + An array of + ValidationStatus + +

Description TBD.

+
+ YES + N/A
+ + + +

+ Definitions +

+ +

Text

+ +

+ +

+ A textual range representing multiple (possibly discontinuous) ranges of text. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
selectors + + + + + + An array of + TextSelectorRange + +

The ranges of text to select.

+
+ YES + N/A
+ + + +

+ Definitions +

+ +

TextSelector

+ +

+ +

+ Selects a range of text via a fragment identifier. This is modeled after the + W3C Web Annotation selector model. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?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
+ + + +

+ Definitions +

+ +

TextSelectorRange

+ +

+ +

+ One or two [TextSelector][TextSelector] identifiying the range to select. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
end + + + TextSelector + + + +

The end of the text range.

+
+ NO + N/A
selector + + + TextSelector + + + +

The start (or entire) text range.

+
+ YES + N/A
+ + + +

+ Definitions +

+ +

Time

+ +

+ +

+ A temporal range representing a starting time to an ending time. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
end + + + + + String + + + + + + +
+

The end time or the end of the asset if not present.

+
+
NON/A
start + + + + + String + + + + + + +
+

The start time or the start of the asset if not present.

+
+
NON/A
type + + + TimeType + + + +

The type of time.

+
NOnpt
+ + + +

+ Definitions +

+ +

TimeType

+ +

The type of time.

+ + + + + + + + + + + + + + + + + +
TimeTypeTypeDescription
nptstring +
+

+ Times are described using Normal Play Time (npt) as described in RFC + 2326. +

+
+
+ +

+ +

+ Definitions +

+ +

UnitType

+ +

The type of unit for the range.

+ + + + + + + + + + + + + + + + + + + + + + +
UnitTypeTypeDescription
pixelstring +

Use pixels.

+
percentstring +

Use percentage.

+
+ +

+ +

+ Definitions +

+ +

UriOrResource

+ +

+ +

Description TBD.

+

Any of the following:

+ + + +

+ Definitions +

+ +

ValidationResults

+ +

+ +

+ A map of validation results for a manifest store. The map contains the + validation results for the active manifest and any ingredient deltas. It is + normal for there to be many +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
activeManifest + + + StatusCodes + + + +

Description TBD.

+
NON/A
ingredientDeltas + + + + + Array of + + IngredientDeltaValidationResult + + + + + +

Description TBD.

+
NON/A
+ + + +

+ Definitions +

+ +

ValidationState

+ +

Indicates if the manifest store is valid and trusted.

+ +

+ The Trusted state implies the manifest store is valid and the active signature + is trusted. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ValidationStateTypeDescription
Invalidstring +
+

Errors were found in the manifest store.

+
+
Validstring +
+

+ No errors were found in validation, but the active signature is not + trusted. +

+
+
Trustedstring +
+

+ The manifest store is valid and the active signature is trusted. +

+
+
+ +

+ +

+ Definitions +

+ +

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. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionRequired?Default Value
code + + + + + String + +

Description TBD.

+
+ YES + N/A
explanation + + + + + String + + + + + + +

Description TBD.

+
+ NO + N/A
success + + + + + Boolean + + + + + + +

Description TBD.

+
+ NO + N/A
url + + + + + String + + + + + + +

Description TBD.

+
+ NO + N/A
+ + + +

+ +

diff --git a/docs/manifest/json-ref/reader.mdx b/docs/manifest/json-ref/reader.mdx index d0cb7b65..b4a11412 100644 --- a/docs/manifest/json-ref/reader.mdx +++ b/docs/manifest/json-ref/reader.mdx @@ -10,4 +10,6 @@ import ManifestReference from './manifest-ref.js'; This is a beta release of this reference. It is a work in progress and may not be accurate or complete. ::: - +This page is generated from the unmodified JSON schema generated from c2pa-rs on 05/09/2025. + + diff --git a/docs/manifest/json-ref/reference-cai.html b/docs/manifest/json-ref/reference-cai.html deleted file mode 100644 index d27006c4..00000000 --- a/docs/manifest/json-ref/reference-cai.html +++ /dev/null @@ -1,4988 +0,0 @@ - - - - - - CAI manifest store reference - Manifest Reference - - - - - - - - - -
-
- active_manifest: UUID -
-
- manifests -
- -
-
- UUID: -
- -
-
-
- UUID: -
- -
-
- ... -
-
-
- validation_status: Array of -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- Manifest -
- -
-
- - -
- title -
-
- : - A human-readable title, generally source filename. - -
-
-
- - -
- label -
-
- : : Description TBD. -
-
-
- - -
- format -
-
- : - The format of the source file as a MIME type. - -
-
-
- - -
- credentials -
-
- : A List of verified credentials -
-
-
- - -
- instance_id -
-
- : - Instance ID from - xmpMM:InstanceID - in XMP metadata. - -
-
-
- - -
- redactions -
-
- : - A list of redactions - URIs to a redacted assertions - -
-
-
- - -
- claim_generator -
-
- : - 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 - -
-
- -
-
- claim_generator_info -
- -
- -
-
- thumbnail -
- -
-
-
- ingredients: Array of -
- -
-
-
- assertions: Array of -
- -
-
-
- signature_info -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -

ManifestStore

- -
-

A Container for a set of Manifests and a ValidationStatus list.

-
- -

Properties

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
active_manifest - - - - - String - - - - - - -

A label for the active (most recent) manifest in the store.

-
- - NO - - - - N/A -
manifestsObject -

A HashMap of Manifests.

- -
See - Manifest -
- - YES - - - - N/A -
validation_status - - - - - Array of - - ValidationStatus - - - - - -

- ValidationStatus generated when loading the ManifestStore from an - asset. -

-
- - NO - - - - N/A -
- - - -

Definitions

- - - - - - - - - - - - - - - - - -
- Actor
- - AssetType
- - ClaimGeneratorInfo
- - Coordinate
- - DataSource
- - Frame
- - HashedUri
-
- Ingredient
- - Manifest
- - ManifestAssertion
- - ManifestAssertionKind
- - ManifestData
- - Metadata
- - Range
-
- RangeType
- - RegionOfInterest
- - Relationship
- - ResourceRef
- - ReviewRating
- - Role
- - Shape
-
- ShapeType
- - SignatureInfo
- - SigningAlg
- - Text
- - TextSelector
- - TextSelectorRange
- - Time
-
- TimeType
- - UnitType
- - UriOrResource
- - ValidationStatus
-
- - - -

- Scroll To Top -

- -

Actor

- -

- -

Identifies a person responsible for an action.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
credentials - - - - - Array of - - HashedUri - - - - - -
-

List of references to W3C Verifiable Credentials.

-
-
NON/A
identifier - - - - - String - - - - - - -
-

- An identifier for a human actor, used when the “type” is - humanEntry.identified. -

-
-
NON/A
- - - -

- Scroll To Top -

- -

AssetType

- -

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
type - - - - - String - -

Description TBD.

-
- YES - N/A
version - - - - - String - - - - - - -

Description TBD.

-
- NO - N/A
- - - -

- Scroll To Top -

- -

ClaimGeneratorInfo

- -

- -

- Description of the claim generator, or the software used in generating the - claim. This structure is also used for actions softwareAgent -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?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. -

- - - -

- Scroll To Top -

- -

Coordinate

- -

- -

- An x, y coordinate used for specifying vertices in polygons. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?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
- - - -

- Scroll To Top -

- -

DataSource

- -

- -

A description of the source for assertion data

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
actors - - - - - Array of - - Actor - - - - - -
-

- A list of [Actor]s associated with this source. -

-
-
- 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
- - - -

- Scroll To Top -

- -

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. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
end - - - - - Integer - - (int32) - - - - - -
-

- The end of the frame inclusive or the end of the asset if not - present. -

-
-
NON/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.

-
-
NON/A
- - - -

- Scroll To Top -

- -

HashedUri

- -

- -

- Hashed Uri structure as defined by C2PA spec It is annotated to produce - the correctly tagged cbor serialization -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?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
- - - -

- Scroll To Top -

- -

Ingredient

- -

- -

- An Ingredient is - any external asset that has been used in the creation of an asset. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
active_manifest - - - - - String - - - - - - -
-

The active manifest label (if one exists).

- -

- If this ingredient has a - ManifestStore - , this will hold the label of the active - Manifest. -

-
-
- 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 - xmpMM:DocumentID - in XMP metadata. -

-
-
- 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 - xmpMM:InstanceID - in XMP metadata. -

-
-
- NO - N/A
manifest_data - - - ResourceRef - - - -
-

- A - ManifestStore - from the source asset extracted as a binary C2PA blob. -

-
-
- NO - N/A
metadata - - - Metadata - - - -
-

- Any additional - Metadata - as defined in the C2PA spec. -

-
-
- NO - N/A
provenance - - - - - String - - - - - - -
-

- URI from - dcterms:provenance - in XMP metadata. -

-
-
- NO - N/A
relationship - - - Relationship - - - -
-

- Set to - ParentOf - if this is the parent ingredient. -

- -

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 - image/jpeg) and binary bits of the image. -

-
-
- 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
- - - -

- Scroll To Top -

- -

Manifest

- -

- -

- A Manifest represents all the information in a c2pa manifest -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
assertions - - - - - - An array of - ManifestAssertion - -

A list of assertions

-
NOEmpty 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 -

-
-
NOc2pa/0.36.3
claim_generator_info - - - - - Array of - - ClaimGeneratorInfo - - - - - -
-

- A list of claim generator info data identifying the - software/hardware/system produced this claim -

-
-
NON/A
credentials - - - - - Array of true - - - - - -

A List of verified credentials

-
NON/A
format - - - - - String - -
-

The format of the source file as a MIME type.

-
-
NOapplication/octet-stream
ingredients - - - - - - An array of - Ingredient - -

A List of ingredients

-
NOEmpty array
instance_id - - - - - String - -
-

- Instance ID from - xmpMM:InstanceID - in XMP metadata. -

-
-
NO - xmp:iid:eafef862-379d-44a1-99f7-2ead485e279d -
label - - - - - String - - - - - - -

Description TBD.

-
NON/A
metadata - - - - - Array of - - Metadata - - - - - -
-

A list of user metadata for this claim

-
-
NON/A
redactions - - - - - Array of string - - - - - -
-

A list of redactions - URIs to a redacted assertions

-
-
NON/A
signature_info - - - SignatureInfo - - - -
-

Signature data (only used for reporting)

-
-
NON/A
thumbnail - - - ResourceRef - - - -

Description TBD.

-
NON/A
title - - - - - String - - - - - - -
-

A human-readable title, generally source filename.

-
-
NON/A
vendor - - - - - String - - - - - - -
-

- Optional prefix added to the generated Manifest Label This is - typically Internet domain name for the vendor (i.e. - adobe) -

-
-
NON/A
- - - -

- Scroll To Top -

- -

ManifestAssertion

- -

- -

- A labeled container for an Assertion value in a Manifest -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?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
- - - -

- Scroll To Top -

- -

ManifestAssertionKind

- -

- -

A string that is one of the following:

- -
    -
  • “Cbor”
  • -
  • “Json”
  • -
  • “Binary”
  • -
  • “Uri”
  • -
- -

- Scroll To Top -

- -

ManifestData

- -

- -

Description TBD.

-

Any of the following:

- -
    - -
  • true
  • - - -
  • type: integer, format: uint8, minimum: 0.0
  • -
- -

- Scroll To Top -

- -

Metadata

- -

- -

- The Metadata structure can be used as part of other assertions or on its - own to reference others -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
dataSource - - - DataSource - - - -

Description TBD.

-
NON/A
dateTime - - - - - String - -

A date time in ISO 8601 format.

-
NON/A
reference - - - HashedUri - - - -

Description TBD.

-
NON/A
regionOfInterest - - - RegionOfInterest - - - -

Description TBD.

-
NON/A
reviewRatings - - - - - Array of - - ReviewRating - - - - - -

Description TBD.

-
NON/A
- -

- NOTE: This object can have any number of additional user-defined - properties. -

- - - -

- Scroll To Top -

- -

Range

- -

- -

- A spatial, temporal, frame, or textual range describing the region of - interest. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?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
- - - -

- Scroll To Top -

- -

RangeType

- -

The type of range for the region of interest.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
RangeTypeTypeDescription
spatialstring -
-

- A spatial range, see - Shape - for more details. -

-
-
temporalstring -
-

- A temporal range, see - Time - for more details. -

-
-
framestring -
-

- A spatial range, see - Frame - for more details. -

-
-
textualstring -
-

- A textual range, see - Text - for more details. -

-
-
- -

- -

- Scroll To Top -

- -

RegionOfInterest

- -

- -

- A region of interest within an asset describing the change. This struct - can be used from - Action::changes - or - Metadata::region_of_interest. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?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 - type. -

-
-
- NO - N/A
- - - -

- Scroll To Top -

- -

Relationship

- -

- -

A string that is one of the following:

- -
    -
  • “parentOf”
  • -
  • “componentOf”
  • -
  • “inputTo”
  • -
- -

- Scroll To Top -

- -

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. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?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
- - - -

- Scroll To Top -

- -

ReviewRating

- -

- -

- A rating on an - Assertion. See - Review Ratings in C2PA spec -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?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
- - - -

- Scroll To Top -

- -

Role

- -

A role describing the region.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
RoleTypeDescription
c2pa.areaOfIntereststring -
-

Arbitrary area worth identifying.

-
-
c2pa.croppedstring -
-

This area is all that is left after a crop action.

-
-
c2pa.editedstring -
-

This area has had edits applied to it.

-
-
c2pa.placedstring -
-

The area where an ingredient was placed/added.

-
-
c2pa.redactedstring -
-

Something in this area was redacted.

-
-
c2pa.subjectAreastring -
-

Area specific to a subject (human or not).

-
-
c2pa.deletedstring -
-

A range of information was removed/deleted.

-
-
c2pa.styledstring -
-

Styling was applied to this area.

-
-
c2pa.watermarkedstring -
-

- Invisible watermarking was applied to this area for the purpose - of soft binding. -

-
-
- -

- -

- Scroll To Top -

- -

Shape

- -

- -

- A spatial range representing rectangle, circle, or a polygon. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?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
- - - -

- Scroll To Top -

- -

ShapeType

- -

The type of shape for the range.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
ShapeTypeTypeDescription
rectanglestring -

A rectangle.

-
circlestring -

A circle.

-
polygonstring -

A polygon.

-
- -

- -

- Scroll To Top -

- -

SignatureInfo

- -

- -

Holds information about a signature

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
alg - - - SigningAlg - - - -
-

human readable issuing authority for this signature

-
-
NON/A
cert_serial_number - - - - - String - - - - - - -
-

The serial number of the certificate

-
-
NON/A
issuer - - - - - String - - - - - - -
-

human readable issuing authority for this signature

-
-
NON/A
revocation_status - - - - - Boolean - - - - - - -
-

revocation status of the certificate

-
-
NON/A
time - - - - - String - - - - - - -
-

the time the signature was created

-
-
NON/A
- - - -

- Scroll To Top -

- -

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. -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SigningAlgTypeDescription
Es256string -

ECDSA with SHA-256

-
Es384string -

ECDSA with SHA-384

-
Es512string -

ECDSA with SHA-512

-
Ps256string -
-

RSASSA-PSS using SHA-256 and MGF1 with SHA-256

-
-
Ps384string -
-

RSASSA-PSS using SHA-384 and MGF1 with SHA-384

-
-
Ps512string -
-

RSASSA-PSS using SHA-512 and MGF1 with SHA-512

-
-
Ed25519string -
-

Edwards-Curve DSA (Ed25519 instance only)

-
-
- -

- -

- Scroll To Top -

- -

Text

- -

- -

- A textual range representing multiple (possibly discontinuous) ranges of - text. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
selectors - - - - - - An array of - TextSelectorRange - -

The ranges of text to select.

-
- YES - N/A
- - - -

- Scroll To Top -

- -

TextSelector

- -

- -

- Selects a range of text via a fragment identifier. This is modeled after - the W3C Web Annotation selector model. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?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
- - - -

- Scroll To Top -

- -

TextSelectorRange

- -

- -

- One or two - TextSelector - objects identifying the range to select. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
end - - - TextSelector - - - -

The end of the text range.

-
- NO - N/A
selector - - - TextSelector - - - -
-

The start (or entire) text range.

-
-
- YES - N/A
- - - -

- Scroll To Top -

- -

Time

- -

- -

- A temporal range representing a starting time to an ending time. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
end - - - - - String - - - - - - -
-

The end time or the end of the asset if not present.

-
-
NON/A
start - - - - - String - - - - - - -
-

The start time or the start of the asset if not present.

-
-
NON/A
type - - - TimeType - - - -

The type of time.

-
NOnpt
- - - -

- Scroll To Top -

- -

TimeType

- -

The type of time.

- - - - - - - - - - - - - - - - - -
TimeTypeTypeDescription
nptstring -
-

- Times are described using Normal Play Time (npt) as described in - RFC 2326. -

-
-
- -

- -

- Scroll To Top -

- -

UnitType

- -

The type of unit for the range.

- - - - - - - - - - - - - - - - - - - - - - -
UnitTypeTypeDescription
pixelstring -

Use pixels.

-
percentstring -

Use percentage.

-
- -

- -

- Scroll To Top -

- -

UriOrResource

- -

- -

Description TBD.

-

Any of the following:

- - - -

- Scroll To Top -

- -

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. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeDescriptionRequired?Default Value
code - - - - - String - -

Description TBD.

-
- YES - N/A
explanation - - - - - String - - - - - - -

Description TBD.

-
- NO - N/A
url - - - - - String - - - - - - -

Description TBD.

-
- NO - N/A
- - - -

- -

- - From 0ad100d559f0a85e3158b91a816baca6fd3b1820 Mon Sep 17 00:00:00 2001 From: Rand McKinney Date: Thu, 15 May 2025 13:16:05 -0700 Subject: [PATCH 4/5] Clean up edits --- docs/manifest/json-ref/index.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/docs/manifest/json-ref/index.md b/docs/manifest/json-ref/index.md index 1d7164fe..b62f4abd 100644 --- a/docs/manifest/json-ref/index.md +++ b/docs/manifest/json-ref/index.md @@ -6,13 +6,11 @@ pagination_next: null pagination_prev: null --- -The manifest as described in the C2PA specification is a binary structure in JPEG universal metadata box format ([JUMBF](https://www.iso.org/standard/84635.html)) that can include JSON and binary data for things like encryption keys and thumbnail images. +The [C2PA specification](https://c2pa.org/specifications/specifications/2.1/specs/C2PA_Specification.html#_manifests) describes a manifest with a binary structure in JPEG universal metadata box format ([JUMBF](https://www.iso.org/standard/84635.html)) that includes JSON as well as binary data for things like encryption keys and thumbnail images. Because the binary structure is hard to understand and program to, the SDK defines a JSON manifest structure that's a declarative language for representing and creating a binary manifest. -Because the binary structure is hard to understand and program to, the SDK defines a JSON manifest structure that's a declarative language for representing and creating a binary-formatted manifest. +The JSON manifest is an abstract translation layer that's easier to understand than the binary format. It can describe everything in the underlying binary format except for binary data such as thumbnails that are included by a structure called a _resource reference_. To generate a binary manifest, the SDK assembles all the JSON objects, resource references, and ingredients defined, and then converts them into different assertions and other objects as required. -The JSON manifest format is an abstract translation layer that's easier to understand than the binary format. It can describe everything in the underlying binary format except for binary data such as thumbnails that are included by a structure called a _resource reference_. To generate a binary manifest, the SDK assembles all the JSON objects, resource references, and ingredients defined, and then converts them into different assertions and other objects as required. - -These JSON references are generated from the JSON schemas for ManifestDefinition and Reader objects: +These JSON references are generated from the JSON schemas for [ManifestDefinition](https://docs.rs/c2pa/latest/c2pa/struct.ManifestDefinition.html) and [Reader](https://docs.rs/c2pa/latest/c2pa/struct.Reader.html) objects (structs in Rust terminology): - [ManifestDefinition](manifest-def.mdx) - [Reader](reader.mdx) \ No newline at end of file From 89947fac81161a4f301e576442f27f0a2cd50730 Mon Sep 17 00:00:00 2001 From: Rand McKinney Date: Thu, 15 May 2025 14:49:11 -0700 Subject: [PATCH 5/5] Add scroll-target class to fix scrolling reference --- docs/manifest/json-ref/index.md | 6 +- docs/manifest/json-ref/manifest-def.html | 72 ++++++++++---------- docs/manifest/json-ref/reader.html | 86 ++++++++++++------------ src/css/custom.css | 7 ++ 4 files changed, 91 insertions(+), 80 deletions(-) diff --git a/docs/manifest/json-ref/index.md b/docs/manifest/json-ref/index.md index b62f4abd..17f3fe91 100644 --- a/docs/manifest/json-ref/index.md +++ b/docs/manifest/json-ref/index.md @@ -10,7 +10,7 @@ The [C2PA specification](https://c2pa.org/specifications/specifications/2.1/spec The JSON manifest is an abstract translation layer that's easier to understand than the binary format. It can describe everything in the underlying binary format except for binary data such as thumbnails that are included by a structure called a _resource reference_. To generate a binary manifest, the SDK assembles all the JSON objects, resource references, and ingredients defined, and then converts them into different assertions and other objects as required. -These JSON references are generated from the JSON schemas for [ManifestDefinition](https://docs.rs/c2pa/latest/c2pa/struct.ManifestDefinition.html) and [Reader](https://docs.rs/c2pa/latest/c2pa/struct.Reader.html) objects (structs in Rust terminology): +These JSON references are generated from the JSON schemas for [ManifestDefinition](https://docs.rs/c2pa/latest/c2pa/struct.ManifestDefinition.html) and [Reader](https://docs.rs/c2pa/latest/c2pa/struct.Reader.html) objects (_structs_ in Rust terminology): -- [ManifestDefinition](manifest-def.mdx) -- [Reader](reader.mdx) \ No newline at end of file +- [ManifestDefinition](manifest-def.mdx): Defines a manifest and builds a manifest store. +- [Reader](reader.mdx): Reads and validates a manifest. \ No newline at end of file diff --git a/docs/manifest/json-ref/manifest-def.html b/docs/manifest/json-ref/manifest-def.html index 9c5378f8..e5b3c05d 100644 --- a/docs/manifest/json-ref/manifest-def.html +++ b/docs/manifest/json-ref/manifest-def.html @@ -1,4 +1,4 @@ -

ManifestDefinition

+

ManifestDefinition

@@ -9,7 +9,7 @@

ManifestDefinition

-

Properties

+

Properties

@@ -430,7 +430,7 @@

Properties

-

Definitions

+

Definitions

@@ -519,7 +519,7 @@

Definitions

>

-

Actor

+

Actor

@@ -615,7 +615,7 @@

Actor

>

-

AssertionData

+

AssertionData

@@ -638,7 +638,7 @@

AssertionData

>

-

AssertionDefinition

+

AssertionDefinition

@@ -721,7 +721,7 @@

AssertionDefinition

>

-

AssetType

+

AssetType

@@ -806,7 +806,7 @@

AssetType

>

-

ClaimGeneratorInfo

+

ClaimGeneratorInfo

@@ -965,7 +965,7 @@

ClaimGeneratorInfo

>

-

Coordinate

+

Coordinate

@@ -1047,7 +1047,7 @@

Coordinate

>

-

DataSource

+

DataSource

@@ -1180,7 +1180,7 @@

DataSource

>

-

Frame

+

Frame

@@ -1282,7 +1282,7 @@

Frame

>

-

HashedUri

+

HashedUri

@@ -1408,7 +1408,7 @@

HashedUri

>

-

Ingredient

+

Ingredient

@@ -2030,7 +2030,9 @@

Ingredient

>

-

IngredientDeltaValidationResult

+

+ IngredientDeltaValidationResult +

@@ -2117,7 +2119,7 @@

IngredientDeltaValidationResult

>

-

Item

+

Item

@@ -2207,7 +2209,7 @@

Item

>

-

Metadata

+

Metadata

@@ -2366,7 +2368,7 @@

Metadata

>

-

Range

+

Range

@@ -2553,7 +2555,7 @@

Range

>

-

RangeType

+

RangeType

The type of range for the region of interest.

@@ -2648,7 +2650,7 @@

RangeType

>

-

RegionOfInterest

+

RegionOfInterest

@@ -2924,7 +2926,7 @@

RegionOfInterest

>

-

Relationship

+

Relationship

@@ -2942,7 +2944,7 @@

Relationship

>

-

ResourceRef

+

ResourceRef

@@ -3140,7 +3142,7 @@

ResourceRef

>

-

ReviewRating

+

ReviewRating

@@ -3258,7 +3260,7 @@

ReviewRating

>

-

Role

+

Role

A role describing the region.

@@ -3361,7 +3363,7 @@

Role

>

-

Shape

+

Shape

@@ -3616,7 +3618,7 @@

Shape

>

-

ShapeType

+

ShapeType

The type of shape for the range.

@@ -3662,7 +3664,7 @@

ShapeType

>

-

StatusCodes

+

StatusCodes

@@ -3776,7 +3778,7 @@

StatusCodes

>

-

Text

+

Text

@@ -3834,7 +3836,7 @@

Text

>

-

TextSelector

+

TextSelector

@@ -3969,7 +3971,7 @@

TextSelector

>

-

TextSelectorRange

+

TextSelectorRange

@@ -4053,7 +4055,7 @@

TextSelectorRange

>

-

Time

+

Time

@@ -4169,7 +4171,7 @@

Time

>

-

TimeType

+

TimeType

The type of time.

@@ -4206,7 +4208,7 @@

TimeType

>

-

UnitType

+

UnitType

The type of unit for the range.

@@ -4245,7 +4247,7 @@

UnitType

>

-

UriOrResource

+

UriOrResource

@@ -4270,7 +4272,7 @@

UriOrResource

>

-

ValidationResults

+

ValidationResults

@@ -4358,7 +4360,7 @@

ValidationResults

>

-

ValidationStatus

+

ValidationStatus

diff --git a/docs/manifest/json-ref/reader.html b/docs/manifest/json-ref/reader.html index a0a01a5d..363b4c8c 100644 --- a/docs/manifest/json-ref/reader.html +++ b/docs/manifest/json-ref/reader.html @@ -1,8 +1,8 @@ -

Reader

+

Reader

A reader for the manifest store.

-

Properties

+

Properties

@@ -174,7 +174,7 @@

Properties

-

Definitions

+

Definitions

@@ -278,7 +278,7 @@

Definitions

>

-

Actor

+

Actor

@@ -374,7 +374,7 @@

Actor

>

-

AssetType

+

AssetType

@@ -459,7 +459,7 @@

AssetType

>

-

ClaimGeneratorInfo

+

ClaimGeneratorInfo

@@ -618,7 +618,7 @@

ClaimGeneratorInfo

>

-

Coordinate

+

Coordinate

@@ -700,7 +700,7 @@

Coordinate

>

-

DataSource

+

DataSource

@@ -833,7 +833,7 @@

DataSource

>

-

DateT

+

DateT

@@ -847,7 +847,7 @@

DateT

>

-

Frame

+

Frame

@@ -949,7 +949,7 @@

Frame

>

-

HashedUri

+

HashedUri

@@ -1075,7 +1075,7 @@

HashedUri

>

-

Ingredient

+

Ingredient

@@ -1721,7 +1721,9 @@

Ingredient

>

-

IngredientDeltaValidationResult

+

+ IngredientDeltaValidationResult +

@@ -1808,7 +1810,7 @@

IngredientDeltaValidationResult

>

-

Item

+

Item

@@ -1898,7 +1900,7 @@

Item

>

-

Manifest

+

Manifest

@@ -2376,7 +2378,7 @@

Manifest

>

-

ManifestAssertion

+

ManifestAssertion

@@ -2525,7 +2527,7 @@

ManifestAssertion

>

-

ManifestAssertionKind

+

ManifestAssertionKind

@@ -2544,7 +2546,7 @@

ManifestAssertionKind

>

-

ManifestData

+

ManifestData

@@ -2565,7 +2567,7 @@

ManifestData

>

-

Metadata

+

Metadata

@@ -2726,7 +2728,7 @@

Metadata

>

-

Range

+

Range

@@ -2913,7 +2915,7 @@

Range

>

-

RangeType

+

RangeType

The type of range for the region of interest.

@@ -3008,7 +3010,7 @@

RangeType

>

-

RegionOfInterest

+

RegionOfInterest

@@ -3284,7 +3286,7 @@

RegionOfInterest

>

-

Relationship

+

Relationship

@@ -3302,7 +3304,7 @@

Relationship

>

-

ResourceRef

+

ResourceRef

@@ -3500,7 +3502,7 @@

ResourceRef

>

-

ResourceStore

+

ResourceStore

@@ -3619,7 +3621,7 @@

ResourceStore

>

-

ReviewRating

+

ReviewRating

@@ -3737,7 +3739,7 @@

ReviewRating

>

-

Role

+

Role

A role describing the region.

@@ -3840,7 +3842,7 @@

Role

>

-

Shape

+

Shape

@@ -4095,7 +4097,7 @@

Shape

>

-

ShapeType

+

ShapeType

The type of shape for the range.

@@ -4141,7 +4143,7 @@

ShapeType

>

-

SignatureInfo

+

SignatureInfo

@@ -4317,7 +4319,7 @@

SignatureInfo

>

-

SigningAlg

+

SigningAlg

Describes the digital signature algorithms allowed by the C2PA spec.

@@ -4415,7 +4417,7 @@

SigningAlg

>

-

StatusCodes

+

StatusCodes

@@ -4529,7 +4531,7 @@

StatusCodes

>

-

Text

+

Text

@@ -4587,7 +4589,7 @@

Text

>

-

TextSelector

+

TextSelector

@@ -4722,7 +4724,7 @@

TextSelector

>

-

TextSelectorRange

+

TextSelectorRange

@@ -4806,7 +4808,7 @@

TextSelectorRange

>

-

Time

+

Time

@@ -4922,7 +4924,7 @@

Time

>

-

TimeType

+

TimeType

The type of time.

@@ -4959,7 +4961,7 @@

TimeType

>

-

UnitType

+

UnitType

The type of unit for the range.

@@ -4998,7 +5000,7 @@

UnitType

>

-

UriOrResource

+

UriOrResource

@@ -5023,7 +5025,7 @@

UriOrResource

>

-

ValidationResults

+

ValidationResults

@@ -5111,7 +5113,7 @@

ValidationResults

>

-

ValidationState

+

ValidationState

Indicates if the manifest store is valid and trusted.

@@ -5173,7 +5175,7 @@

ValidationState

>

-

ValidationStatus

+

ValidationStatus

diff --git a/src/css/custom.css b/src/css/custom.css index 7c39fbc1..2701d835 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -424,3 +424,10 @@ body:not(.is-scrolling) .navbar { .github-only { display: none; } + +/* For JSON reference headers +*/ + +.scroll-target { + scroll-margin-top: 130px; /* Slightly more than title bar */ +}