Skip to content

CPP (Capture Provenance Profile) - Open specification for cryptographic proof of media capture events. Features RFC 6962 Merkle trees for deletion detection, RFC 3161 timestamping, and optional ACE (Attested Capture Extension) for zero-knowledge biometric attestation. Part of the VAP Framework.

License

Notifications You must be signed in to change notification settings

veritaschain/cpp-spec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Capture Provenance Profile (CPP)

License: CC BY 4.0 Spec Version Part of VAP

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.


🎯 Why CPP?

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

πŸ”‘ Key Features

1. Completeness Invariant

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

2. External Third-Party Verification

RFC 3161 TSA timestamps eliminate self-attestation:

Creator signs β†’ TSA countersigns β†’ INDEPENDENT VERIFICATION

3. Privacy by Design

  • Location: OFF by default
  • Zero-knowledge biometric attestation (ACE)
  • GDPR-compliant crypto-shredding

4. C2PA Interoperability

Complement, not compete:

  • C2PA: "How was this edited?"
  • CPP: "Was this actually captured?"

πŸ“ Repository Structure

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

πŸš€ Quick Start

Verification URL

Every CPP-protected capture has a permanent URL:

https://verify.veritaschain.org/cpp/{verification_code}

Basic Event Structure

{
  "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:..."
  }
}

πŸ“Š Conformance Levels

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

πŸ”— Related Projects


πŸ“œ UI Guidelines

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."


🀝 Contributing

We welcome contributions! See CONTRIBUTING.md.


πŸ“„ License


πŸ“ž Contact


Copyright Β© 2026 VeritasChain Standards Organization

About

CPP (Capture Provenance Profile) - Open specification for cryptographic proof of media capture events. Features RFC 6962 Merkle trees for deletion detection, RFC 3161 timestamping, and optional ACE (Attested Capture Extension) for zero-knowledge biometric attestation. Part of the VAP Framework.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages