Skip to content

AI Provenance and Training Mining Guide

A guide for AI agents auditing media files for generative AI origin, model attribution, and machine learning training consent.


1. IPTC Digital Source Types

C2PA leverages standard IPTC Digital Source Type URIs within actions and source assertions to differentiate synthetic content from human capture:

Digital Source Type URI Meaning Provenance Category
.../digitalsourcetype/digitalCapture Captured directly by a physical camera, microphone, or sensor Human / Camera
.../digitalsourcetype/trainedAlgorithmicMedia Created entirely or primarily using generative AI algorithms Synthetic / Generative AI
.../digitalsourcetype/compositeWithTrainedAlgorithmicMedia Human media edited or composited with generative AI elements Hybrid / AI Edited
.../digitalsourcetype/algorithmicMedia Generated by non-AI algorithmic procedures (e.g. procedural shaders) Algorithmic
.../digitalsourcetype/virtualRecording Recorded inside a synthetic environment (e.g. 3D engine, video game) Virtual Simulation

The full namespace prefix for these URIs is: https://cv.iptc.org/newscodes/digitalsourcetype/


2. Machine Learning Training and Data Mining Assertions

Publishers use the c2pa.training-mining assertion to signal automated scrapers and AI developers whether media content may be used for model training.

Assertion Structure

{
"c2pa.training-mining": {
"entries": {
"c2pa.ai_generative_training": { "use": "notAllowed" },
"cawg.data_mining": { "use": "notAllowed" },
"c2pa.ai_inference": { "use": "allowed" },
"c2pa.ai_training": { "use": "notAllowed" }
}
}
}

Standard Permission Keys

  1. c2pa.ai_generative_training: Governs use for training generative models (e.g. image, video, voice synthesis).
  2. c2pa.ai_training: Broad prohibition across all machine learning training pipelines.
  3. c2pa.ai_inference: Governs using the content as input for real-time model inference (e.g. visual question answering).
  4. cawg.data_mining: Governs automated text and data extraction under copyright mining exceptions.

Values are either "allowed", "notAllowed", or "constrained".


3. Generative Model Attribution

When generative models sign output content, they attach model parameters and creation metadata in the c2pa.generative assertion:

{
"c2pa.generative": {
"model": {
"name": "Imagen",
"version": "3.0"
},
"prompt": "A serene mountain lake at sunrise",
"seed": 429184
}
}

The inspect_c2pa.py script automatically parses these keys and extracts the model name, version, and prompt for quick review.