JSON Example

Here is an example of how the Provenance Schema is represented in JSON format. This example illustrates the structure of the manifest_store, with a sample manifest, actions, and assertions related to the content:

"manifest_store": {
    "active_manifest": "urn:uuid:064d517f-ef28-4990-9228-fbea133d4aa2",
    "manifests": {
      "urn:uuid:e7d7be8e-fe0f-48a3-888b-f739bd35e72a": {
        "claim_generator": "Hash-Network/c2pa-rs/0.40.0",
        "title": "dogs_walking.png",
        "format": "image/png",
        "instance_id": "xmp:iid:8a6c70bf-4ccc-4bb7-b2a0-a61ad41e3d02",
        "ingredients": [],
        "assertions": [
          {
            "label": "c2pa.actions.v2",
            "data": {
              "actions": [
                {
                  "action": "c2pa.created",
                  "softwareAgent": {
                    "name": "stability-ai/sdxl",
                    "version": "7762fd07cf82c948538e41f63f77d685e02b063e37e496e96eefd46c929f9bdc"
                  },
                  "parameters": {
                    "height": 1024,
                    "prompt": "Dogs walking Together",
                    "num_inference_steps": 50,
                    "width": 1024,
                    "refine": "no_refiner"
                  }
                }
              ]
            }
          }
        ],
        "signature_info": {
          "alg": "Ed25519",
          "issuer": "C2PA Test Signing Cert",
          "cert_serial_number": "638838410810235485828984295321338730070538954823"
        }
      }
    }
  }
}

Explanation of the JSON Structure:

  • manifest_store: This contains the active manifest and a collection of all manifests tied to the content.

  • active_manifest: This identifier points to the most recent manifest that holds the current state of the content’s provenance.

  • manifests: The collection of manifests identified by their UUIDs. Each manifest contains metadata like the claim generator, content title, format, instance ID, ingredients, assertions, and signature information.

  • claim_generator: This shows the tool or system (e.g., Hash Network’s implementation) used to generate the provenance claims.

  • assertions: These are the key claims related to actions performed on the content, such as creation actions that include the software used (e.g., Stability AI's SDXL model).

  • signature_info: This section holds cryptographic details, ensuring that the content’s authenticity and integrity are verifiable.

This JSON example showcases a simple but comprehensive structure for managing and verifying the provenance of digital content, in line with the C2PA standards.

Last updated