C2PA Rust SDK

CI Latest Version docs.rs codecov

The Coalition for Content Provenance and Authenticity (C2PA) addresses the prevalence of misleading information online through the development of technical standards for certifying the source and history (or provenance) of media content. C2PA is a Joint Development Foundation project, formed through an alliance between Adobe, Arm, Intel, Microsoft and Truepic.

This Rust library for creating and inspecting C2PA data structures is created by Adobe and other contributors as part of our work on the Content Authenticity Initiative.

Key features

State of the project

This project is in a "soft launch" state as of May 2022.

We have been using this crate as the foundation of our Content Authenticity Initiative-related products and services since late 2020, so we have considerable experience with this code ourselves.

That said, we spent most of that time focused on our own internal requirements. As we shift toward making this crate available for open usage, we're aware that there is quite a bit of work to do to create what we'd feel comfortable calling a 1.0 release. We've decided to err on the side of releasing earlier so that people can experiment with it and give us feedback.

We expect to do work on a number of areas in the next few months while we remain in prerelease (0.x) versions. Some broad categories of work (and thus things you might expect to change) are:

While in prerelease form, we'll increment the minor version number (0.x.0) when we make breaking API changes and we expect that this will happen with some frequency.

What's implemented and not implemented?

Usage

Add this to your Cargo.toml:

toml [dependencies] c2pa = "0.7.1"

Crate features

Rust version requirements

This crate requires Rust version 1.58.0 or newer.

Supported platforms

We have tested it on recent versions of the following operating systems:

What feedback do we seek?

We would welcome feedback on:

If you would like to contribute to this crate, please read our code of conduct and contribution guidelines.

License

The c2pa crate is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT.

Note that some components and dependent crates are licensed under different terms; please check the license terms for each crate and component for details.