Open specification for cryptographically verifiable media capture provenance.
CPP proves "this media was actually captured at this moment" with deletion detection, external timestamping, and privacy-by-design. Part of the VAP (Verifiable AI Provenance) Framework.
Existing content provenance solutions face critical challenges:
| Problem | CPP Solution |
|---|---|
| Self-attestation abuse | RFC 3161 TSA mandatory (independent third-party) |
| Metadata stripped by platforms | Verification URL + PHASH recovery |
| No deletion detection | Completeness Invariant (XOR hash sum) |
| "Verified" misleads users | "Provenance Available" terminology |
| Trust list gatekeeping | Open TSA ecosystem (free options) |
| Exclusion list vulnerabilities | NO exclusion lists |
Mathematically detect ANY missing events in the capture chain:
hash_sum = H(Eβ) β H(Eβ) β ... β H(Eβ)
Delete any event β hash_sum mismatch β VIOLATION DETECTED
RFC 3161 TSA timestamps eliminate self-attestation:
Creator signs β TSA countersigns β INDEPENDENT VERIFICATION
- Location: OFF by default
- Zero-knowledge biometric attestation (ACE)
- GDPR-compliant crypto-shredding
Complement, not compete:
- C2PA: "How was this edited?"
- CPP: "Was this actually captured?"
cpp-spec/
βββ docs/
β βββ CPP-Specification-v1.0.md # Main specification
βββ schemas/
β βββ cpp/ # Core JSON schemas
β βββ ace/ # ACE extension schemas
βββ examples/
β βββ cpp-core/ # Core examples
β βββ cpp-ace/ # ACE examples
βββ test-vectors/ # Conformance test data
βββ regulatory-mapping/ # EU AI Act, GDPR mapping
βββ tools/ # Reference utilities
Every CPP-protected capture has a permanent URL:
https://verify.veritaschain.org/cpp/{verification_code}
{
"cpp_version": "1.0",
"event_type": "CPP_CAPTURE",
"timestamp": "2026-01-18T10:30:00.000Z",
"payload": {
"media_hash": "sha256:...",
"media_type": "image/heic",
"collection_id": "album:vacation-2026"
},
"signature": {
"algorithm": "Ed25519",
"value": "base64:..."
}
}| Level | Target | TSA Anchor | ACE | Use Case |
|---|---|---|---|---|
| Bronze | Hobbyists | Optional | Optional | Personal photos |
| Silver | Families | Daily | Optional | Family memories |
| Gold | Legal/Journalism | Per-capture | Required | Court evidence |
- VCP (VeritasChain Protocol) - Algorithmic trading
- CAP (Creative AI Profile) - AI content generation
- VAP Framework - Parent framework
CPP explicitly avoids "Verified" terminology:
| β Use | β Avoid |
|---|---|
| "Provenance Available" | "Verified" |
| "Capture Recorded" | "Authenticated" |
| βΉοΈ Information icon | β Checkmark |
Required disclosure: "This shows capture data. It does NOT verify content truthfulness or source trustworthiness."
We welcome contributions! See CONTRIBUTING.md.
- Specification: CC BY 4.0
- Code examples: Apache 2.0
- Standards: standards@veritaschain.org
- Technical: technical@veritaschain.org
- Website: https://veritaschain.org
Copyright Β© 2026 VeritasChain Standards Organization