C2PA (Coalition for Content Provenance and Authenticity) Specifications
repository·main·Indexed 41 days ago
https://github.com/c2pa-org/specificationsTechnical standards for attaching verifiable provenance and authenticity metadata to digital content. Includes specifications for Content Credentials, Content Credentials JSON (crJSON), Attestations, and the Soft Binding API, along with implementation guidance for security, UX, and AI/ML workflows.
What's inside C2PA
- The Human and Organizational Identity Recommendation provides standards for how identities (both individuals and organizations) should be represented and verified within the C2PA ecosystem.
Access C2PA Guidance and Implementation Documents
mainC2PA provides several informative documents to assist developers and organizations in implementing standards correctly and safely:
- Explainer: High-level overview of the C2PA approach.
- Guidance for Implementers: Technical guidance for building C2PA-compliant software.
- User Experience (UX) Guidance: Recommendations for how provenance information should be presented to users.
- Security Considerations: Documentation on the security properties and threat models of the specifications.
- Harms Modelling: Analysis of potential misuse and harms related to provenance.
- Guidance for Artificial Intelligence and Machine Learning: Specific guidance for AI/ML workflows and content generation.
Explore C2PA Technical Specifications
mainThe C2PA technical specifications define the standards for certifying the source and history (provenance) of media content. Key specifications include:
- Content Credentials: The core specification for implementing content provenance.
- Content Credentials JSON (crJSON): The specific JSON format used for content credentials.
- Attestations: Standards for how assertions about media are cryptographically signed and structured.
- Soft Binding API: An API for decoupled binding of credentials to content.
Access C2PA Specifications
mainThis repository serves as a source for the C2PA (Coalition for Content Provenance and Authenticity) specifications in their raw form. For the officially published and formatted versions of the specifications, visit the official C2PA specification website.Repository structure for documentation modules
mainThe documentation repository follows a specific organizational structure for modules. Each module under
docs/modules/<name>should contain the following subdirectories:pages/: The main content files.partials/: Reusable document fragments.images/: Image assets.attachments/: Other file attachments.other/: Miscellaneous files.
Build the C2PA specifications site
mainThe C2PA specifications site is built using Antora via a Dockerized environment. The build process uses a standard
antora-playbook.ymland automatically downloads themainbranches of all referenced 'child' repositories.To build the site as part of the standard workflow:
- Ensure you are in the
specificationsrepository. - Run the
buildsite.shscript. - The generated site will be located in
build/site/index.html.
Changes are published to the
gh-pagesbranch via the standard GitHub workflow (Create PR -> Push changes -> Merge PR)../buildsite.sh- Ensure you are in the
Cross-document linking in Antora
mainWhen contributing to the C2PA specifications documentation, use Antora's
xrefsyntax to create links between documents. This ensures links remain functional even after the site is built and reorganized.Use the following patterns:
- Internal Link:
xref:_lower_case_with_underbars[Link Text] - External Link (to a module):
xref:MODULE:DOCUMENT.adoc#SECTION[Link Text] - External Link (relative path):
xref:MODULE:../partials/DOCUMENT.adoc#SECTION[Link Text]
* pass:[xref:_lower_case_with_underbars[Internal Link]] * pass:[xref:MODULE:DOCUMENT.adoc#SECTION[External Link]] * pass:[xref:MODULE:../partials/DOCUMENT.adoc#SECTION[External Link]]- Internal Link:
Build the site locally with Antora
mainIf you have
antorainstalled locally and want to bypass the Dockerized build process, you can use the local playbook configuration. This is useful for rapid development and testing changes without the overhead of the full build script.antora antora-playbook-local.yml