Public release

GitOrigin-RevId: bc0df9de9abe54f0c2d7dc3522d8b1f4f6675021
Change-Id: I617787e963f4bb77d849fcae87aab5b94db39eb2
589 files changed
tree: c740bd20451a5245f0e1cd69c11419f7be014d9c
  1. assertion/
  2. async/
  3. bindings/
  4. cbor/
  5. claim/
  6. constants/
  7. cose/
  8. crypto/
  9. external/
  10. formats/
  11. jumbf/
  12. kokoro/
  13. proto/
  14. testing/
  15. tools/
  16. tsp/
  17. utils/
  18. uuid/
  19. validator/
  20. .bazelrc
  21. BUILD.bazel
  22. CONTRIBUTING.md
  23. LICENSE
  24. MODULE.bazel
  25. README.md
README.md

Project Credentio

C++ libraries to support validation and generation of C2PA Content Credentials (https://c2pa.org/).

NOTE: We are actively developing this project and may introduce breaking changes without notice.

Supported Media Formats

The library supports C2PA provenance extraction and validation for files with the following extensions:

CategoryExtensions
Image.avif, .dng, .gif, .heic, .heif, .jpeg,
: : .jpg, .png, .tif, .tiff, .webp :
Video/Audio.m4a, .mov, .mp3, .mp4, .wav, .flac
Document.pdf, .docx, .pptx, .xlsx

Prerequisites

  • Clang
  • Bazel
  • Git

Dependencies

Quickstart

Project Credentio includes a fast standalone command-line tool for inspecting and verifying C2PA metadata embedded in media assets.

Building the CLI

bazel build tools:c2pa_validate

Validating with Trust Anchors

You can validate assets against specific PEM-encoded trust anchors for claim signers and Time Stamping Authorities (TSA):

bazel run tools:c2pa_validate -- \
  --asset=/path/to/asset.jpg \
  --claim_signer_trust=/path/to/claim_signer_trust_anchors.pem \
  --tsa_trust=/path/to/tsa_trust_anchors.pem

Note on Trust Lists: Project Credentio does not distribute or provide trust anchor lists. You can obtain the latest official C2PA trust lists from the C2PA organization on GitHub (https://github.com/c2pa-org/conformance-public/tree/main/trust-list).

Building & Testing

To build the entire project:

bazel build ...

To execute all unit tests:

bazel test ...

Support & Releases

Project Credentio recommends that users live-at-head (updating to the latest commit on the main branch as often as possible). We are actively developing this project and may introduce breaking changes without notice.

License & Disclaimer

Project Credentio is licensed under the terms of the Apache 2.0 License. See LICENSE for more information.

Disclaimer

This is not an officially supported Google product. This project is not eligible for the Google Open Source Software Vulnerability Rewards Program.

Contact

For questions, feedback, or inquiries, please contact: c2pa-core@google.com.