Skip to content

Instantly share code, notes, and snippets.

@mikecvet
Created February 17, 2024 19:07
Show Gist options
  • Save mikecvet/2c49409ab90b4d21e44452dcc11f5c35 to your computer and use it in GitHub Desktop.
Save mikecvet/2c49409ab90b4d21e44452dcc11f5c35 to your computer and use it in GitHub Desktop.
C2PA Manifest for OpenAI-generated image
{
"active_manifest": "urn:uuid:c83bfc03-815e-4264-ba0d-ea01646b373e",
"manifests": {
"urn:uuid:b3664ce3-21c2-4dad-b519-73fe7756db6c": {
"claim": {
"alg": "sha256",
"assertions": [
{
"hash": "PMxniNY+kCqWhPutEBj0JF8Cqdivbvb7QBnbQe4OPV4=",
"url": "self#jumbf=c2pa.assertions/c2pa.actions"
},
{
"hash": "i09pzVfpc4qQcNReEKMqZ/7x6NKMEn10Rlx+3fo9okE=",
"url": "self#jumbf=c2pa.assertions/c2pa.hash.data"
}
],
"claim_generator": "OpenAI-API c2pa-rs/0.28.4",
"claim_generator_info": null,
"dc:format": "webp",
"dc:title": "image.webp",
"instanceID": "xmp:iid:4023b613-8094-4d62-87da-1013efa750a9",
"signature": "self#jumbf=c2pa.signature"
},
"assertion_store": {
"c2pa.actions": {
"actions": [
{
"action": "c2pa.created",
"digitalSourceType": "http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia",
"softwareAgent": "DALL·E"
},
{
"action": "c2pa.converted"
}
]
},
"c2pa.hash.data": {
"alg": "sha256",
"exclusions": [
{
"length": 14859,
"start": 295078
}
],
"hash": "Tu+6XAnlog18V4EG+wYp97X4IXmrZJ+B9ezKnNUoBqA=",
"name": "jumbf manifest",
"pad": "<omitted>"
}
},
"signature": {
"alg": "es256",
"issuer": "OpenAI",
"time": "2024-02-17T14:51:00+00:00"
}
},
"urn:uuid:c83bfc03-815e-4264-ba0d-ea01646b373e": {
"claim": {
"alg": "sha256",
"assertions": [
{
"hash": "EmZ2+AZbESWx35jbDbCt0cmWT/PRlXlFCJCyLDxQT8o=",
"url": "self#jumbf=c2pa.assertions/c2pa.thumbnail.ingredient.jpeg"
},
{
"hash": "Aqf0ltLs41ow2TcjkXBx1xMK4FJDEWi6N2T7mWJr6Eg=",
"url": "self#jumbf=c2pa.assertions/c2pa.ingredient"
},
{
"hash": "vrKtjXfctXE8q5NLVqvP98HFy4E4WdfanZkrlWtyKQU=",
"url": "self#jumbf=c2pa.assertions/c2pa.hash.data"
}
],
"claim_generator": "ChatGPT c2pa-rs/0.28.4",
"claim_generator_info": null,
"dc:format": "webp",
"dc:title": "image.webp",
"instanceID": "xmp:iid:341ef002-fb5e-40f5-bf7a-31f71806a349",
"signature": "self#jumbf=c2pa.signature"
},
"assertion_store": {
"c2pa.thumbnail.ingredient.jpeg": "<omitted> len = 61620",
"c2pa.ingredient": {
"c2pa_manifest": {
"alg": "sha256",
"hash": "Ib1mgumee0Rmu2Sh+goKJFVd4yJG5KTQClO2yIDxV6c=",
"url": "self#jumbf=/c2pa/urn:uuid:b3664ce3-21c2-4dad-b519-73fe7756db6c"
},
"dc:format": "webp",
"dc:title": "image.webp",
"instanceID": "xmp:iid:07cc11f6-e109-4072-be48-70884aaef404",
"relationship": "parentOf",
"thumbnail": {
"hash": "EmZ2+AZbESWx35jbDbCt0cmWT/PRlXlFCJCyLDxQT8o=",
"url": "self#jumbf=c2pa.assertions/c2pa.thumbnail.ingredient.jpeg"
}
},
"c2pa.hash.data": {
"alg": "sha256",
"exclusions": [
{
"length": 91686,
"start": 295078
}
],
"hash": "m7rO8mfiHphl2MJhed7NxfldhsBNAwpzzjYqD18zmGs=",
"name": "jumbf manifest",
"pad": "<omitted>"
}
},
"signature": {
"alg": "es256",
"issuer": "OpenAI",
"time": "2024-02-17T14:51:01+00:00"
}
}
},
"validation_status": [
{
"code": "claimSignature.validated",
"url": "self#jumbf=/c2pa/urn:uuid:c83bfc03-815e-4264-ba0d-ea01646b373e/c2pa.signature",
"explanation": "claim signature valid"
},
{
"code": "assertion.hashedURI.match",
"url": "self#jumbf=c2pa.assertions/c2pa.thumbnail.ingredient.jpeg",
"explanation": "hashed uri matched: self#jumbf=c2pa.assertions/c2pa.thumbnail.ingredient.jpeg"
},
{
"code": "assertion.hashedURI.match",
"url": "self#jumbf=c2pa.assertions/c2pa.ingredient",
"explanation": "hashed uri matched: self#jumbf=c2pa.assertions/c2pa.ingredient"
},
{
"code": "assertion.hashedURI.match",
"url": "self#jumbf=c2pa.assertions/c2pa.hash.data",
"explanation": "hashed uri matched: self#jumbf=c2pa.assertions/c2pa.hash.data"
},
{
"code": "assertion.dataHash.match",
"url": "self#jumbf=/c2pa/urn:uuid:c83bfc03-815e-4264-ba0d-ea01646b373e/c2pa.assertions/c2pa.hash.data",
"explanation": "data hash valid"
},
{
"code": "claimSignature.validated",
"url": "self#jumbf=/c2pa/urn:uuid:b3664ce3-21c2-4dad-b519-73fe7756db6c/c2pa.signature",
"explanation": "claim signature valid"
},
{
"code": "assertion.hashedURI.match",
"url": "self#jumbf=c2pa.assertions/c2pa.actions",
"explanation": "hashed uri matched: self#jumbf=c2pa.assertions/c2pa.actions"
},
{
"code": "assertion.hashedURI.match",
"url": "self#jumbf=c2pa.assertions/c2pa.hash.data",
"explanation": "hashed uri matched: self#jumbf=c2pa.assertions/c2pa.hash.data"
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment