A full-stack tool for signing and verifying C2PA (Coalition for Content Provenance and Authenticity) manifests — achieving 95% verification accuracy on manifest validation.
Built during a research internship at City, University of London (Summer 2024) as part of research into C2PA as a framework for deepfake detection and digital content provenance.
C2PA is an open standard (backed by Adobe, Microsoft, BBC, Intel) that cryptographically embeds provenance data into digital assets — who created it, when, and with what tools. It's a key mechanism for combating AI-generated deepfakes and misinformation.
- Sign: Embed a C2PA manifest into any image, attaching provenance metadata
- Verify: Validate an image's C2PA manifest and confirm authenticity
- Accuracy: 95% verification accuracy on C2PA manifest validation
[React Frontend] → [Node.js/Express API] → [C2PA Node.js SDK (CAI)] → [Manifest Store]
The backend uses the Content Authenticity Initiative (CAI) Node.js SDK to handle cryptographic signing and manifest parsing. The frontend provides a drag-and-drop interface for asset upload and displays manifest provenance data.
Frontend: React.js
Backend: Node.js, Express.js
Core: C2PA Node.js SDK (Content Authenticity Initiative)
Standard: C2PA v1.x (Coalition for Content Provenance and Authenticity)
-
Clone the repository:
git clone https://github.com/Manoj-Katta/My_C2PA_Tool.git cd My_C2PA_Tool -
Install dependencies:
npm install
cd .. cd server npm install
Starting the Application
To start the application, you need to run both the backend and the frontend separately:
- Start the backend server:
cd server
npm start- In a separate terminal, start the frontend client:
cd ..
npm startThis will start both the server and the client, making the application accessible at http://localhost:3000.
Use the frontend interface to upload your asset for adding the manifest or for verifying the manifest.
This tool was developed as part of a summer research internship at City, University of London, investigating C2PA implementations for deepfake detection. Research findings analyzed real-world adoption gaps across media platforms.
C2PA Node.js SDK - The SDK used for creating and verifying C2PA manifests