{"id":50,"slug":"quantmrkt-ai-content-provenance","name":"Signed AI Content Provenance","author":"quantmrkt","description":"PQC-native C2PA-compatible content provenance for AI outputs. Sign every LLM/image/audio output with ML-DSA so its origin and chain-of-custody remain verifiable after quantum computers exist. Includes pluggable assertions (AI-generated, training data, usage licensing). 34 tests passing.","tags":"[\"C2PA\",\"Content Provenance\",\"AI Attribution\",\"ML-DSA\",\"Manifest\",\"Chain of Custody\",\"Healthcare\",\"Legal\",\"Finance\"]","license":"Apache 2.0","framework":"Python","parameters":"N/A","downloads":0,"likes":0,"verified":1,"created_at":"2026-03-26 03:20:26","updated_at":"2026-03-26 16:38:48","source_url":"https://github.com/dyber-pqc/QuantaMrkt/tree/main/tools/pqc-content-provenance","source_platform":"github","hf_repo_id":"","ollama_name":"","category":"tool","latest_version":"1.0.0","version_count":1,"signature_count":3,"risk_level":"MEDIUM","risk_score":45,"versions":[{"id":50,"model_id":50,"version":"1.0.0","manifest_hash":"8ED0936E451BD5B37AF4","file_count":25,"total_size":77652,"r2_manifest_key":null,"created_at":"2026-03-26 03:20:35"}],"files":[{"id":2788,"version_id":50,"filename":"LICENSE","sha3_256_hash":"abdcf10f6588f1abfa23a55fbef23267a620b3c67695e93577af0a1d7f881640","size":11325},{"id":2789,"version_id":50,"filename":"README.md","sha3_256_hash":"1e7d1622927261c7549b2f36ec37bb174fea2d5ce61b70cd96ca32cae140fd9f","size":12655},{"id":2790,"version_id":50,"filename":"examples/detect_tampered_output.py","sha3_256_hash":"9f2a1ab45e06fa523f27d6e2f25826b5a8355af9ede4364761e73134f7a9ee9c","size":1505},{"id":2791,"version_id":50,"filename":"examples/provenance_chain.py","sha3_256_hash":"985964c444bdf5b17782e6b4dfeb8acc070a44a6e338415a77f54bde2103660b","size":2693},{"id":2792,"version_id":50,"filename":"examples/sign_llm_output.py","sha3_256_hash":"f811b1ef91c888d356ae68a58256398e75da0f0a23bd6ccaff4f5c3e83938aff","size":2440},{"id":2793,"version_id":50,"filename":"pyproject.toml","sha3_256_hash":"96bfeb923dbeb59a0e100ad3a103598573583de6bcdb2a961ad54e6ee19d093b","size":1122},{"id":2794,"version_id":50,"filename":"src/pqc_content_provenance/__init__.py","sha3_256_hash":"023e937a2fe24cef3433804b970ad8d293ebceb8fcad1188c59bddca796cd7bd","size":1353},{"id":2795,"version_id":50,"filename":"src/pqc_content_provenance/assertions/__init__.py","sha3_256_hash":"5cab687f468163aa6a90fc88d7215a343ceab666432e35ebc12fd0a4b95301d3","size":688},{"id":2796,"version_id":50,"filename":"src/pqc_content_provenance/assertions/ai_generated.py","sha3_256_hash":"72973595eabf9f05c79fad8646e405c4092485fd8b21055de488e03fed6fde57","size":915},{"id":2797,"version_id":50,"filename":"src/pqc_content_provenance/assertions/base.py","sha3_256_hash":"e6bfc6cb903705803fef7dc1ffc0cd0c9eaedd05c2273ad48fbf158e95e990c2","size":963},{"id":2798,"version_id":50,"filename":"src/pqc_content_provenance/assertions/training.py","sha3_256_hash":"d9ed9049f8412a02592eeb3cfe30732f47e0145a415c5c99fdbf40e47f3ee84c","size":827},{"id":2799,"version_id":50,"filename":"src/pqc_content_provenance/assertions/usage.py","sha3_256_hash":"4ad67cd93ba83b432dacd66cc668f6495236923f8ee57fe13bf312f4802d4808","size":748},{"id":2800,"version_id":50,"filename":"src/pqc_content_provenance/chain.py","sha3_256_hash":"3a93e16f02c2323c78cf54ae1e7f38bfa02502cdf9561812c173d64514313e9e","size":2197},{"id":2801,"version_id":50,"filename":"src/pqc_content_provenance/embed.py","sha3_256_hash":"ee280bf82aa83a52dbed00681241f10556395a7d6016908423e382339f2a225f","size":2959},{"id":2802,"version_id":50,"filename":"src/pqc_content_provenance/errors.py","sha3_256_hash":"f47b6c82b3194679b095a1046e0fe27d75b38749f92c33d9c1d1cc5654a9be35","size":754},{"id":2803,"version_id":50,"filename":"src/pqc_content_provenance/manifest.py","sha3_256_hash":"aaeb8eeee4561c500876ef2201e52df2d6aec348855b09d6900314ee102df3c9","size":6300},{"id":2804,"version_id":50,"filename":"src/pqc_content_provenance/signer.py","sha3_256_hash":"77346c9f7429c4a8ea786d9b4ad4b1de05377936d19312f4eeed6f95ca047e24","size":4678},{"id":2805,"version_id":50,"filename":"tests/__init__.py","sha3_256_hash":"a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a","size":0},{"id":2806,"version_id":50,"filename":"tests/conftest.py","sha3_256_hash":"8a4f327c7fd0a7bfc85272f9968ec3b042a1a5944fc903969b963e6cd0411ee3","size":1989},{"id":2807,"version_id":50,"filename":"tests/test_assertions.py","sha3_256_hash":"098490d897a674c1eba3d571ec6213861e273545b4179de481a2240898777df0","size":2562},{"id":2808,"version_id":50,"filename":"tests/test_chain.py","sha3_256_hash":"3c2bb97c1a0ca0f02d7a289d4fc9033d32499b5797b0e646b990be11fcffab65","size":4151},{"id":2809,"version_id":50,"filename":"tests/test_embed.py","sha3_256_hash":"98c32879dec545c6ae85d9e76782a50c9cc5bc7f42240ebd2cea84ba899631f8","size":1826},{"id":2810,"version_id":50,"filename":"tests/test_integration.py","sha3_256_hash":"49ad5620743f630ecdf371ee32b390cc755be9be2a8acc5cf5cdb9cfd7c15757","size":4437},{"id":2811,"version_id":50,"filename":"tests/test_manifest.py","sha3_256_hash":"03697916d9463afa9e31c988372f7902e9158965b5580eca2f38cf4a4c1e5616","size":5294},{"id":2812,"version_id":50,"filename":"tests/test_signer.py","sha3_256_hash":"2b7a9563f85ce26f1159b6e3ad42637a450b58eb737ab4c300c43e646110f212","size":3271}],"signatures":[{"id":96,"version_id":50,"signer_did":"did:web:quantamrkt.com:tools:signing","algorithm":"ML-DSA-87","signature_hex":"e177889900001122","attestation_type":"creator","signed_at":"2026-03-25T10:15:00Z"},{"id":97,"version_id":50,"signer_did":"did:web:quantamrkt.com:verification:primary","algorithm":"ML-DSA-87","signature_hex":"f288990011112233","attestation_type":"registry","signed_at":"2026-03-25T10:16:00Z"},{"id":394,"version_id":50,"signer_did":"did:web:quantamrkt.com:chain:authority","algorithm":"ML-DSA-87","signature_hex":"053e5a7e927472e352444e55963e1b2060d91b7ab603a09dedd2e898a52c1198a7292da2254a1a4d23f5bafff740de3e16439b05a090ff5e22007f241a66c4c1f7cb9fefe17138014e02f9a0746819eae7306e5792024c5ae6b10f766faa81846b276ccd94f56e281c601d9906d7d60833b1c5c5937525d24916767c791cf8b802684cd1101d3a7266780b80fb3b5ae1ce38450f00439d5a61117b4cc10eb22097630b8826d6f3809e71a981fa668060aae5ad367f7a05df86dce2f5e9e7f8b3f98227a2827c76ba464bf25f2baf78303e4d77e639422e09718b5bd452bf6fad18a45db9da939362ce81f57c5812fd8a3dccdf84b21d5b0d116a68384d32e33333d172d8a99315a561b8294ad007fd54e8857e7b16b9188b0f7511ea6cb2d2ad2ca572f1de429b057e46ae15bd4262ee4424a012765eed55242b3420d42dd21a100eb9efcb76c115b17aba556f28434d6c21b811a12b9b2a61195f0ee8cda3bd23e13ee5d95d1bbcc5f583635d7726109fedcac92ee26829757a5d2cb5d3d7eeaab62b019cc10b01415e9d35a40a0db37f4678b2fbdd672c1dd63bdaf3aa6d4c647d22c39ce443da722f44b4f7cb05e3c6621ad521aaeae1c51c6bf561ff3d26da915e599fdb3d16ba71cdfde0ede9a118d92f07f664a4ea7def891ee5dc6c985946ad7e6df2325767cbb1099d53dfd4669b9c34f2dd1c6ce1b35d64cf4a654529e5b13e8dad03be652b2a6a5a4957934f661e74d92b375583905a755c4d5820beacf48f0cd553a9d93126deffaea45ea5fc1a994f27cae803533746a4d1a1cf843a50ddc6450cb0607dd6bd82ed6e3f5a0f64bfdd4199bd653b6aef53f4fae7dd5f37f10dd2dc4c12e5205abd146100722dc75c48e7f8cfaaedf3d703e1d0867022dc242823c43489b97b1ac0e17967371daa70a662367a5217eb02c69d886427dbdf1ce2a1bbb685f484821d375381d48fe9184594f75799282b9196869391e398ab5e4835891304d95337fba7adefd3f0fcf69d7a673bbf854d63533a018fe232215244d55a5b1a50b550bee063bdbadcdb282e5dbd3fc27ad0b45432f12e927f2a38484994a4897974fd4d9086b5d9f8831c72d3d0147c5f6d7c0db646b3dd7a6a173548c9c6866c89c357a3e1bc7ed8dfe7902ba74e1b175c6927fa30f7b0a724511056a5b59570bd2f60b3625baa467675a463cf8f0ef1c72aaaf57923a2e9d390fed0fc8567b84f88b44fd15e1e004e9049d2bcf63d91e8d24b47680810b373824f54370e70f11f63ac690ad3afb8e28e138c43d1dd061f7b2bb15b55389576b5cc7314a7b0b161af3b6128b9209862d2b9e910eab82f59586c28fdbcfa770bc1e55b4f6b81a48484c5f39504df0342591d97a7e454f1495b297455ecb0dc9a3604ba3f51e6976795a181faaf93256aac2b593ade1733d57f2c1cf06ee4b638d7588616c84ff29bb5a0ee4c644f01ff593f0e2e4d433a5219283545a8ad65bb48b29868ae22e5f14e8d7ddffaeed57e035b688b7d010fb76da8369bfc53f2e23548f9d783c007cc570fd82aae7e6abaa6f3d71b04b00908bc2a62031b3b59dd626b7b03e66208d47c26bb1cd4fa49cfe64f9d16fe28edba0bb89497c20d8cce71d884bea9e1d303a7898b81f856e4b296176156dbbc6bc5d0c68ca86c14328d2bbfe0966267448c0ae027d62bdc30b8cd14f56aee50afe70cc6669fec857cd6df93ca3e94ad7907b35e944750fb1a52c180f2586aad415ef13aea80d351415c32c56ef2b3a18580a370eb423adea43c7e10ef949640ff4befade694745b887748fe033a4118017d8dff248b166164f5bf7a63707a85ef98bda475178850cac58080a4e4cde5a9edd13cd9326d3f6637c1defd44300e171b6638362f573630d780d95a9bdeaf6a5e50c9a72c1e42bfbfcb861e978e0f54a1b910d6d944cb8f6d4bf95b66cfe485a59756b67b56b24b070c17784ee9bb02a842429b00887f290e78c4a965f263e29027ca9fafcb593262d5361e6c557e4ab2d95569ce5486e37b1cc712a6b075a2d12f9d6db490f9689aec3a6ebb58b558a6fe9c7c09fc09bb215fa9270b64353fad75b6f666c428e32f0604830e1d5bb235312aaff383a5e62439e4511977563522becf08ea49fa39ed3fabd39da4df6ead4fe06feac58e265319f772a69a14395d58eb38e80e531969975c43879f95fbfaa6376dbc546878a2419e8257fcdd97bdfff24eb498fee4989f8b6e9efcf3a643bb0000c8372205bd8bee70e9042d36dba2b753db53f652ef455758e3a8a53715b36249eac8e14e55fc0360180be0923c4f57d8fb2e337d9ab1ebfb8337bf9d6f0c0957bf37b5dc3c0a08e5fc5798566d9a711b8ed15953f70f8a295f19a54ff969cc96477ec71c12cb24fddc075fa4c58a6a0cbc4fdea8cbb29b723acde99a46092494e715ceb393bd11f5641041c75bd42352f2d28445879c16c0d6828befa265e8a611820470784f5b183fc22a443dee343bda99ac7b473517b142cc23dfd70e43aafb106659627806f756a4752beedb75d53fa5685a8bc3eeab8cdae07b50f030ea3f0dd6cea079e950faf7cd199d2dd932d539d70eb7f45ec5420c21ef6b04b3c6f067b478e6e591f563c1da22d3dbaa9fa2e7c2b10ff3b1ad0d445991f568930e8008b125c8f5da354be019d482cb4534a33e77f21537cd3137d535fc05775c7a72fb967eb6d474b467a1f7b9454cc2eb581cc4494dc98220a7e360a50ccf3ce6eb487c2ea5985d6444562679adaa6671d8aef0d39a07dee5c5edefa18f3123f2180899d1204b6493d600a2e41121ac5ff6c50dd453238ee130633d4c9aa4a46708f126cf2a73343b9cf3b5f03a6a78f1290ed504a1b8a24e1067ad61ecf47cd22a37622e5cdacca2e8ac16fcdd8afb78c7c4c10601c88bfbf8e6a2e6cfe64d3ffe9c467b72f9650e55c5d151f33901b97c530874b01e9bdc89f9a57c5d3bf5ab905353d48c0b51cbbf0b7241d39d2257575d33f2ab16baa5ec3a699b50cc326479a29fae9f369b9e9b07d6b2c0b533cd5790b2ae7ff21d04315f0bd79846051764a555135ddc83dfce1b6076027eedda7dfba7e59fc271b73352fcdaf35cecf757b7a2d04dd08bec8eba5468edd233ebbfa8305b0730d9c9e37384bd4dcbd884b786e23c070f614130cdae02d3c4f4889213059ab665faa8d1258e9e84d41d8a31d64eebb62876909da038512a0676a95777ec817da00ec30c0ba0bf082d727ad2bd5c8e9e782e180f7a3ff44a2c00b698f2f290541be982a25154014db041b06dc04cf81ff8998db8848fa9eca04724d89bbdd20d9e8f0cfdca11a916586928bcabc0d4385c15f656959e785977fef4791dc9d3a7c4de092bb7114bd51457ad7a11846ac2f4836cceadd1391860833fa3d2af015caac58748c1b49e956fcc54e88110beac4e0ef2393dfe5f6ff5b89806cfd04860a18db69eb5314612c300cda09b761e4d34f59a3ec650e8054fbd47b977de81ffafe237f3e7198b89559ca691707c429406819d1e6549c399a553e43d829d73f8f94ed1642cceb58cae5c4afb3bffa69fd047e562cbc4c5565d470466bf199e2cf2626731f6a2ff5e92b66cc8743b2cf6e01badd6f0a807ddeb5515d494ac6970c14751effe9bfd20897028f0b89be81d9c1d09ecb56a12780a5f9d2de4fc4fd7ca5416fb847cd57122d64070fc5ab4b3f3b859112bb1eb2ec6850383016b240920f9abc73506c6b4029d78bd902c233583c0eec325868344162bb2d98b7538177f546cca9d3ac2eae26ac4e238c7de3c6ef3e94a0cf75654416d7e2f4b9fd447919a74d2783101a81ab982e721e0df62cfe52faa9cd08c6f6f378829671774c20e08071659b2a59410ec61c78925ef5447c8812678f3d1b5eb5b3440229cc3fdd5f1b43ef12eb51b76620f9e06f654b2c38bd6b992a43f4f4939a45124a1343a3169f390b3231756a18728315902db9c4c63c6bf55131566def032ac186231cd7d32f37b640fe7f09f662068f53e3086eef20be3734e5a016b80b38031db41a6a24541a2a36dc361abd8ae42361e1c84a6a5297fa7a7825ee698f03c8abd003389001e76ccc431c7d02cf2c9f2e410aeb0b48f5a87d1ba4f3e7fada5ceb47b7ae4052619129d990e0b566312826e49736ac17d36b7275a929e2cfda6d105acc3a7ea2a537161cfe8a2191246c05854a69933eb26e855cd8fdbea297dae3cdf9f582d3f6386caeb71a295f947ebe319e00b8094b73c9d5fb70a7df2b9b63a800ab3d5225d34d9969a95ba1d7929ec74961410398b21304cb7e2b1fb18d58a355230ff05c548c4c41e31c3a0817d8c109d121d6767f8a5908dbad6e134a6c70a920544a210e83cbb458de723a9690a43d11c795c631c31150669fec6ab0332fd584195ec6f5c5896751341e145283289672971b84bb6e61c00e656480a0af1dab80108ae3450a90b9407f6bd2489ab4bfec68a09078cca2f567c33a313fa3eb1d2fb4f373f3b2aa6e71db78a78c06f94dbd12dc61532c2a1b94ca8ade4da2b1a8c8f58994992ac9e404229624a093a23981dfe4801ccaf828abf899af8897b2c3994b302a4b0e629631b24f3650885cba1b23ce54132f59d81a83392ea7942c920e4c2bc2cf86eed17de64fb97b5a6d094ad2b72557f2949e660ea7f8461a2e7e292f16f7935885263f2ae42f36fbe5f6aab984aba9b4ba7d7e40deaa113ebc68d5d69cdc3554b5cf2c51a4e9f0674916cda5780c98db06b2ad77d7228084958880dc88abe0c99c7bb2b3825c44a4126aca167599e69f79516e788e9856a50c4e40d3be278ec06a47505ce6ac3caf5a60444cf32ad5728b63ab298a0be22480b487c5b9e745123652470bbfe9b9e8bae36100f86c33e36828abd47064b4ab25d6cac21e90b0842553c499edc3c700c47f3c69012ebcea45be406a11a9673e4d7c21a1e511dac136caf412b35324ed4bc71e4aa3951aa297c199a290f43e514e73f451d5c6c65746bb5a45589ce468bd2addb739f13848c9e12093911392c1b9f94984aa3d8bcadbfbaafa494a3af52429a85dd2cf65c9eace4adc25d257cff358279fc85dc1fa838684d44ee77246ad00c20bb778e5e09c654b9338622e2472ed889a109f18862c18b36afb18a5ad12ce07f412b257c103f55e6277c0e451a1ed95030b9e289ee6af7a86de8ff310a3679de3e293a8b132fe83e3d05347258579960aa8b861e388223ce87431731c1a56621a9618e89be9cbc036f26a336d6d735d1738e48f705fc0b7ce17f6c5a26894c3d92e2344a72bc41aa22af42ca55b315a041c4d874ed4754418f0c28bf52222cefcd8d310d4b2ea1b6749f6b9dec58b97eb176f23c869b88448d55a56812fdf9fa3928549cf012158a63c1872c0af90f77b72f4340b9163f458118bee1045957b117ee1b7de1c6e4ee55caa91ccd9bac50f8f324445652de3809307eb2c26976a1d2c9c7922683f24c5901c2f17d858dd9f835d4263bbad62325c2648fae342224fb207128139298fa56b775b92cf4a1b5805d93dbe402e8e108c3ae67ab0ad5e6146f57154deb7a8297a59f9e06a7a3b8e8d8ecf2536df3d7f48e254e3831fc4c1c67353540ea545685a811a4b0aabb4a022639be5181f4efa522263278e30800acda4c9ea69b1305004b5c2289b947464260f2f6e9ba6dc8039bc996ad87851370e2778beb7c7824e0a9b87ba52fc174b522a2c65f04e743a529e9f023140fcd46442b6413b99140636f1aedd84ab57c357185a93fa5c75c7d98d35c436db2a70f31f1029bd7e0496a5a5de48ed5920f066aac813157c21596c2cc0c8589373f4e5a0c0d4c4234c862fc6e2c230fa6019597e59fe942d01d12a99fa6fb2de436b7ec36271dcdee41ef278df72c98daa213a45ec0280d5d3d7df901b3da142e3269b831aaac4c9ac1c407a732bef45ca12c280163d457e0e8bbc5654fd14d6cda707238560c57af635f9a1fa817d69d5dbab326b9004b36ae320704fe0ed7a3b192562cf1e6caedbc1fb74547588bf18515501b50b2f12c421ebce48f57b82646c14c64e305808a2ee1039cc0dbac03c6f66e3a98d119de6f1df72391925678b2cc88f68262bc738d247ac1932bfb39e26bfcf34f4daeca770e634832d27973442fcae541b86d5f53622c24b71d208df6423cc44d1dfb6de4ec3d89ba4b1d7391c800c0502180e45210775db8d4eb3a8f3aece347c10f8cb4cafd12a3078ed624f88481d2376fa745f69273e738a4e6851e65305eab040099aaf16bb69360c63e1f168874ddaf6621f13780d3e17da72a882b45ae3c4324f0cb648826059dc9badab8603292e51016d38b7c2a5939874a63a01a2850302580f27d31cdc955e61232231371083fafe3c02124ac9e080f1f43eda1f49cdf1c9c87c738c013141c8590b3b7c2d1d5171d317bb2b7fc31c1c8fa18191b24426a96d10d3a4042477d8aadd8e2e4ee12142e6575acb4d7247e7fbccad0d5ea303247c0d8000000000000000000000000000a11151d2931393e","attestation_type":"pqc_registry","signed_at":"2026-03-26 16:38:48"}],"hndl":{"id":50,"model_id":50,"risk_level":"MEDIUM","risk_score":45,"shelf_life_years":5,"sensitivity":"internal","recommendation":"Monitor quantum developments. Tool has moderate HNDL exposure.","assessed_at":"2026-03-26 03:20:50"}}