{"id":59,"slug":"quantmrkt-pqc-audit-log-fs","name":"Immutable AI Audit Log (Filesystem)","author":"quantmrkt","description":"Immutable filesystem-level audit log for AI inference events. SHA3-256 Merkle segments with ML-DSA-65 signed headers, cross-segment hash chain, O(log n) inclusion proofs, filesystem immutability guards. EU AI Act Article 12 compliance ready. 37 tests passing.","tags":"[\"Audit Log\",\"Compliance\",\"EU AI Act\",\"Merkle Tree\",\"Legal Discovery\",\"Immutable\",\"Filesystem\",\"CLI\",\"ML-DSA\",\"Transparency\"]","license":"GPL-2.0","framework":"C","parameters":"N/A","downloads":0,"likes":0,"verified":1,"created_at":"2026-03-26 03:20:26","updated_at":"2026-03-26 16:38:53","source_url":"https://github.com/dyber-pqc/QuantaMrkt/tree/main/tools/pqc-audit-log-fs","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":59,"model_id":59,"version":"1.0.0","manifest_hash":"D15E7CF1E1F7D6AE3B70","file_count":29,"total_size":87605,"r2_manifest_key":null,"created_at":"2026-03-26 03:20:35"}],"files":[{"id":7039,"version_id":59,"filename":"LICENSE","sha3_256_hash":"abdcf10f6588f1abfa23a55fbef23267a620b3c67695e93577af0a1d7f881640","size":11325},{"id":7040,"version_id":59,"filename":"README.md","sha3_256_hash":"772f5433d011ea9c14e226a5ef4d8f66ddea1ae40b78f0b9c288a14f0b0d85ea","size":12490},{"id":7041,"version_id":59,"filename":"examples/basic_log.py","sha3_256_hash":"56f26dfdadddb871ac01e0bf3bf041d97b366b171bfe6cb1b32d1864886659ea","size":1841},{"id":7042,"version_id":59,"filename":"examples/prove_inclusion.py","sha3_256_hash":"9b0ffbddc478e6ad09905ef5ce1838ff21ee62df08f7c104062d88b7634741b0","size":1718},{"id":7043,"version_id":59,"filename":"examples/tamper_detection.py","sha3_256_hash":"29edd95004a9738a7f254e84b43403df1cb48ba1366e296fd2973a3757645e90","size":1882},{"id":7044,"version_id":59,"filename":"pyproject.toml","sha3_256_hash":"296b60ea517eba22051de67a3ede8ac16f07391809e20e1c95468536af9ef20e","size":1135},{"id":7045,"version_id":59,"filename":"src/pqc_audit_log_fs/__init__.py","sha3_256_hash":"5933997e86befd44edf2effa47486530cfaf7315cb4ef789b519a068533e4e90","size":1333},{"id":7046,"version_id":59,"filename":"src/pqc_audit_log_fs/anchor.py","sha3_256_hash":"aa5b34a025d8837a37a799812697e6e815f77ef03fddcf2ad084fa1ed17d8f82","size":1265},{"id":7047,"version_id":59,"filename":"src/pqc_audit_log_fs/appender.py","sha3_256_hash":"f6f8b876fb5d9ab29014cb025443ae86d6d77010843c8159690ace6666acfc9c","size":7670},{"id":7048,"version_id":59,"filename":"src/pqc_audit_log_fs/cli.py","sha3_256_hash":"717a67c89b90116fc58cde6f62dfe66cc11ddf6cde558d7a0ca0a8461b96da2f","size":2065},{"id":7049,"version_id":59,"filename":"src/pqc_audit_log_fs/errors.py","sha3_256_hash":"3315fd452db4351bebf2a3ff740fb9dc3f5c1d1def3d408fc78fc1f72ff7bd7b","size":1024},{"id":7050,"version_id":59,"filename":"src/pqc_audit_log_fs/event.py","sha3_256_hash":"4f5c7c66ffc6eee1ec32a05f6faccd5f5f9ee444ad34f6ae79f37e2dc7393b50","size":3535},{"id":7051,"version_id":59,"filename":"src/pqc_audit_log_fs/guard.py","sha3_256_hash":"648c1d6547b0de4ac59dd5e939a764182f5c41333d59b2be5470f0138aea2dd6","size":2737},{"id":7052,"version_id":59,"filename":"src/pqc_audit_log_fs/merkle.py","sha3_256_hash":"11290840f856ddafcffa37a51fcfa54996133cb180e228ff38e02a000ff5e649","size":4355},{"id":7053,"version_id":59,"filename":"src/pqc_audit_log_fs/prover.py","sha3_256_hash":"4c01d6bd6b46ce7a943880d172c8b3d3ab91b91a2eea211e3b30b7b2c49fdb98","size":1351},{"id":7054,"version_id":59,"filename":"src/pqc_audit_log_fs/reader.py","sha3_256_hash":"6f7db5eb607483a0f64837989591cd97736aaabf3d5bdc46aaea9b0e46485cd0","size":4922},{"id":7055,"version_id":59,"filename":"src/pqc_audit_log_fs/segment.py","sha3_256_hash":"ad75056241b98cc75f7e9f2ae440e8ed7a0dc1be4241cbc5c94443575de1effa","size":2176},{"id":7056,"version_id":59,"filename":"tests/__init__.py","sha3_256_hash":"a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a","size":0},{"id":7057,"version_id":59,"filename":"tests/conftest.py","sha3_256_hash":"e750beb8b904b0b31957087c5bdfbeca044b1b5095172d16925f5e7cc05fbcc7","size":1679},{"id":7058,"version_id":59,"filename":"tests/test_anchor.py","sha3_256_hash":"221b5a609c73a7ad346890bdbeaf2006fd4122551676ee75aa6bd26e461f884d","size":678},{"id":7059,"version_id":59,"filename":"tests/test_appender.py","sha3_256_hash":"b228e562e0dd6e2a8f11565b931ba3c27278776c60d6eebfd6f88f8f9a7ea2a6","size":4134},{"id":7060,"version_id":59,"filename":"tests/test_cli.py","sha3_256_hash":"01b92911b0d5b594f4a5502d02d22847468c52ab24996fa28476396c4bcce912","size":2122},{"id":7061,"version_id":59,"filename":"tests/test_event.py","sha3_256_hash":"a4a6041c2abb03bd6fdc210326c7bb3ed9743da1560115f7ba369d6384a075cf","size":2147},{"id":7062,"version_id":59,"filename":"tests/test_guard.py","sha3_256_hash":"5069ebbc3388f92d0eefba33d6260f7ab6ab54fb1b37b58f40cb8b50b0e42f10","size":1164},{"id":7063,"version_id":59,"filename":"tests/test_integration.py","sha3_256_hash":"4d03b8d5e3d4f61e7b8b94bb82ef8c9e4b033010910b3f5e3abfb8ac3f48aca9","size":2377},{"id":7064,"version_id":59,"filename":"tests/test_merkle.py","sha3_256_hash":"4223b57caa1286fad23fbd4102247694dec429c2edafdce605c4df91ab90469c","size":1926},{"id":7065,"version_id":59,"filename":"tests/test_prover.py","sha3_256_hash":"d44a73b4bab86daf9e15b1399bb0483a86bcad254529182feab8d81a37f8aa88","size":2718},{"id":7066,"version_id":59,"filename":"tests/test_reader.py","sha3_256_hash":"f1b3941fe04692854ef06306c4b2572614fe7d4fcf8f02b2ad7f97cce289460a","size":3786},{"id":7067,"version_id":59,"filename":"tests/test_segment.py","sha3_256_hash":"783f1bb766550067180e2625149f0402c77b43dbbda867700569033a350f950e","size":2050}],"signatures":[{"id":114,"version_id":59,"signer_did":"did:web:quantamrkt.com:tools:signing","algorithm":"ML-DSA-87","signature_hex":"e955667788229900","attestation_type":"creator","signed_at":"2026-03-25T11:00:00Z"},{"id":115,"version_id":59,"signer_did":"did:web:quantamrkt.com:verification:primary","algorithm":"ML-DSA-87","signature_hex":"f066778899330011","attestation_type":"registry","signed_at":"2026-03-25T11:01:00Z"},{"id":403,"version_id":59,"signer_did":"did:web:quantamrkt.com:chain:authority","algorithm":"ML-DSA-87","signature_hex":"687484e12bfe0bdc8fb5f118b185380e7d15fd946c93fd6d2c5603d7a3711885f939ef633a0b909f7359f77a2035fe5a1e99b23075320f963371a365b70f81bc34aed47794925debbf0b815ab8fcf13ecc118b0c349518e1006854cc4b4c22e3f03625dd8bcf02d2eff6425ff75afba5c47b0e8925059ac3448902f3f0919910c3c97b0d4b1e748b9a25486ef0b02dc59113b05a55d6030cf8e13d2281ddbd19c43caf29fdcb8d780263848a27738dc66f28a8a78f0693ae6a54a1fea88a25f50cd3c1cf839ad5b733d5a573570ee67cbe33b5a6c47b15124ba6391f53370ae1841702fe5aedaea282d060d4a5a0d1c96b1ea9d7f1b2c14e92d8939a917e816ff7117cd979e77b1ad2404e0f437b9fd95e96a8ac4a6e0acca7bf8c872020db132a5e5796875195cb7604836aca7b693a7ef48956b2c51bdfbe8a43175fae1458a32cf8436147bd1121b0183a8299446d0b1c6a868784af6d7aa5d912eb70feb12c84d0e34e700602f3abeb5292b587acba0f50cbefa18bf9d4f4fba990489cc91ee9f50808c1d0f769a2f2e9279583a344c021965a767cb21eaa15abe3712960a42a0891a8784b6fc092daae4528495a918178e2efa90eacee6de5a1aba5c84316406e4872c3954a5cd42c58739b00f8c15ee65098d3c52024d54e3d2ad444b743ded615f7f696163fe95d0158d88b951c57b9a2b79ade29f756068602e9d3ac31a824cf5547646609f7d5d7112845c321c6c52a4e964a69469aacc1ec64ad28068e35e9d3489f04933ec0570968295ca45b57008846d986693f4ade4d737d812f1f0bb63d0f2428a7b05cb03bfd8747f19f8cfd93974acbbd80219c5247e21e08081bd3e6279fcf0513f30adcb431684530c1e7c0cb1c7d659dfc04232ca409372879a06874461c0a92310c308ca475f1feebf21907f6474fe107408988491d0f53677ddd1b5fc52247cbd208735e69284eaf14052aaca3aaf882d51618615f263fa72ebf670cfe3098eff34719bc7c554b982aa31b31ea532452b9d867c8d34eb8324a47a5dd909d2f632782fd34638d8ac4f9f69d00f8fff2446be50ff4c8f0ef05c432f7304c69138c2c95e447896963a6e9560e383e3545450e7ad2d7f025c2f8a0c7fc6ebeaa69bd0e0cdcc74744ae812069c0d4a52b6710fea479a75219a310ac91a9cbdecb195827b319b8f249c952f50b9a1dea6bfca235a188ff61016f22fe43bc73bf8a1a9dc83be3361ad6f0f2e3fc9048d918d5532241143dd8599b0a09dec486edad58fb0f89005368aa9c6e1c29495409629af6a746bf8b533cb37992ba6c9b0f00048bced0637ab4ddf8b2439f2443d5ac10211818941dd68f2ac74ca4c847f5c63e111c938a2fb8769cf075408632b3a8a6c639f653a081dac2761474ffe471ea9b7c31e07985e585057734bc4040bc67222a6eca2d6e91bb71d96f8aa802eec6932d2225d94b64c121777c95f0dfe41d298371d40cd903ec24ebf18dd1b5c49340a5e3a44811e7609198634e1dff276fa17660e5ce85a7e7156ac4a3c8fc66f1af0f727ed9254cfdd038d5781d0542f6b4db09dcc12904755311fd882c3c3cf0d948264597ab537812fa38ee93b4f8438d82d3d4cfff2b59c9f5b2295b704af29a2516f6530b6713db440f5b129c9042c24b8ecc30e9f026b45347f3d6e60310be7fcb0aa6cfb18b45eb5648f51888e9c6b73bfbc0dc8eb41d17a20823d8383790f9effc739e4d9d390b6d920b732471fc558e27e1c193d7887dc2882b3c7d856e5e540f6b812f65de9fbb53857be047b8539faf72acd0216e446daa2040c9f937b4e3ed56f6494a36ee2a2c50a84c63d315f4654863e65f353bb93518f875fafdb9f95f9c5b246ed06754de64a661a4158fce5a43438f678dffa6688ca449aae4cec57f786dd90d476389e52345ae5ca85329a6ae69dab34d8e508341fa1320ee57bcc2218314813ef76f7b17f49b12d57ddd8297f4955f119b340c3f9235e69c34d73ce39b102681af38c75c307cbf9b525eb484d4e932d13025c150aa9fbcf9f2602487f23ce42e4499ac23f64f0f629a513ba7e94cf87b07909b3f4692124daaf06e8103ff4785ef0a0835a77184c7f06ef83b5fd470a894d841af75508a4270e4316308feab526f863f74f0541cff4d9bf340c08673b8f667895c27369c5ccdb53df9f1288aee71a43ae575cf3d5e3e1ba383d9bf4c469609992d078207cf25928e913e9f925e03667038e5acb4524f8b5ff302d077bf69cae848cd93bfa073bc9ecae8f537e4c68bc58731a951efb3dc89eca7bb086a0050f3db3b3b42c1f6d572bffac3462a54d4cc55d7228388f9cdd8336f3a5f5c70e6e33448b2b925bba5f4501f84fa1c1dc3b6993b1f4400903dc360c591c2b3fa00691a671c29cfddab214e0084d98993c806e9ba78a0c6a6169a1cbf7607f2af12cafc37194c75e50160fb2349782c13159c471a65ae1b0562a26ec7fbf942517b6c23f194205b40ccaa97a3adae1ea8dd95d8891fbcbe89463ffad294a3062df0c10d85b433cdd9d6df4d2efa16194443ca04647044469e19c8937ad6b21d68383191a8f7d87a7873f0a51ff09cd6c23fa70344c813160dd343290dc8a47c4314a6a82e2dd61f13e3aa3f3d0304608310982287243b2767209e27a1fa0c1bdf894935a93057e1cc2c69226adbe26adcf95fc6ae1ea92eb1d2720c3ac1f2acad5e58a1b45a07fb53a39168527324bbcd10ab9ca936cbd2015bd943218346c192c5230521a094607bbfd98bf0713f730e794a03f1f5deb7ec1344d158e39a0bbd5f83534c10bc0ef7edaf5ae4a7d55be38507b538a61fc9d643235bcdea654b281793e16436fb5a58bbef0d20d210432189aea464af58f6c2c8d7151797cc074c058c8eab0e1fa4f1847a0036fddef59781188e9a5d3fe492949f19722fbe00b2eae27759053d2c301ae058a816d512f8060a44a4e9531c5377e89bf22db3b18ad19c4e8cc5a4beec6e8c5c87364bf669becbed3e991faa1d3e470a726c993bafdeb3b4035a6d6248a5f857bfb203e59d8af928e82e08d66ac4087be78e14173e96d61ee7fe363724438ac23066996adf362fde7b313578d96619b38df303106a09b9cf4bf0ba3c7c49740839ab203cbbcee650f0770f5142fabba54ebc9f04cba6d2b3ec49c17d95202bcca3df1522a554eeb87733fba6969da35cc319046dde32742b043abf27ea7030bb27a4ec948e815416e67eba3010c624d35e5254e78409bb2d8e00aa54aac3dbb54329ab1d34c167d36193742a4215ae4bbeefb065e4c67d1bc020e8f95a7ede4623586e3f7437425a6efd6c850f083a986de6cd38307b7312afab788c7058bb3b7151c7ab070bfb91e47de6f0ead01eebdf41be3a2f9ca06e776a744f86b3cf6ceec5b32e085a4a2f7c91e29b2ffadae7aeb053a7756fbdff3a8305eb06377790a23a529dbb12a972eff22608483ec8ae0a4b2903951bc7c7e7a50be0bf26141028fbb2129081fdb7ada5d4b60b23ec63e35aa2c08bb21f3d164be0745ec5380f37cdbc53802e4e04e63beb875af951a072fad489b4bd0a30cedb10085e5c0584a9a22cf274480cff44f86f925e22916f224d575a10cff3bf48421444dedd5eb60602441a31eaafc313fd39444f4240488f6cc131c57a548c7781b2766f572c1b08622d8f761093c4fd2c6d1aa3a618966e2ce57dff9d072e9ac5867e96e57294debba2108f1793175ebda6f6402c2fa6e7787486f9fa4ebdfad28b1791d2a3d7482cedf8be3e3fcfe23dd98fc985e5022989947e9cc07ef10a1136be4ab10a1837d23aadc8ca3e2aae34d74efc89d1e377cda6b3da1afd5fe41975ee29c38bbe36aed6b4d74b46a271de549e6fbc1b97080dfc76535610ca5c835de85aa57965fc0b09b5bf9b1bc9d117541215b3a4e46e6db6907308eebba0af32fc153335ea3463d60d972f6488c2d6cf06eb91585ee4d7f8b4eefda33ddf69ca9663ca8c9d19d5c401eef324e193a293d683d9238cb5b8d1d0e1f57458bbb187a318303c60f65caf216be7aa3c343f18b4eb0727bb7fdc462c9b43f5d713d6930a3415acfa2f42a26ff3d04f7b061e184f4784592d39e114e9dde4ec0bb9f3d16b26a188d7dcad60767e101a1eaf94972625330bd2c8e65dcb9ac3ff919bc3df7d6ac8f83eea5b37a540fe836ecb34f3fef2de6aec4db352ec275ef329f571fb0c35fd58b21547ec85f6f85d5fe8df93819c134af373f3a5423941e025f8308a6e000bd8ecc0b47a979fcc50d865e95872fd0aee5d97ceda8e104ac838434523fb4454e90cd30f103053f282b80701cbb0fd65161b0cd0b723ab7dce1ea4aba5a145b5532178c35f0ca3d54bf4c5a77fe9347a6d4c57156141d2cf7d8caae637fa7ed537187a808baab16058e2b0f3679cc9ca2b1157c412eaeb9a36603c777204b41a254e1891e318f00701e60cd8a1d4d8f39639e9c0ff68416c82eb5554bf4cd2fa0b8ab73b132b24f1dadb66a7c57ae2355ee6e1ae4b940a001106c4334717a7374f09f48214b206c22867f2b0fcbc69ca39ea3661f4d13837c29ef4c884c7a08bc91e44630e077831e5854747542c9aa42bb776a4f031bdd3b457b25ae6402f80e7b1b3bc1791af36a94a31f9d7747a1778beab6cff6e208f550a34b49a4b85a38172095f174e2c53e6f29a98a8628eefeab751f64902387195aaa6f23649c5166c6c0b937c9d096666070d5c41e875e8b475c21e93c2d334a0190e5cbdfd340114f6494205ea53378fddf1e7ed666020cbc429f80821caa6f3f800ea4f93c9d05b15cc11e0c8cdaead4bd30cfec9d339f21f5cfd469f961f2f78b483c7238e9f355de8c959c588991d30fb44161c795e9721b579d1e50a94c78347c026d2c1113c2a71c1bd0dc9ea38f5500f9da7a84181e71349a3fbac51de58d3e61651fb1fa882012ba6a27c57cce21759603ca4ab43d0904745b33e7a3bd72287af252e5bbdda284980e9ad739c1fc730dd317de58e8ef934684f7f70a1c5244e1ed8c4da5a3ffe4f033df0555224e69c2f4640d25b3871d349decbc8429bc69eede3660e175596aebcb8a1f9b3a165e794659711c0fe4517b16e22f69d463ba1dc3a77c2bb7942aabf4f83a422f0368e208d4a7f43df347f59aac12650fad66aff11b4dfac22891cb63109fe9618627586971b6064f2ba302c4c2db2bf9b75cb72215a42cbc5b661839572ddfeabbaef309626c1044fc117df51d3f3896982e540d6f281f172e1bf401819795adfd435df28fdfee58420fa0da29bfb5384ff807633a4138129545dce51d78c992432d8fdb6c9b40be7c671987e778b661a5b89d1378aa840b00c2c22ccf27b10a128b45e11e8fe16c6bd0eb5bc30022ddf2637e3b17866b1ef78d6385c3d4f038a295c85ba17180e208db7f192cfef8fbcc1de89515be054bd69e4ecc9ca0a9e6a449faafb603c0f267e3c1cb07c6a225127e6b43eb411b7f8c8ed0321cf0bac6708513011b23aa4d8021c2d784919d0def9c397c17d59987081a5fd4dd5d460124b19f48509a85bac8bb67d9fc3ee69e1d4b91950a54a02cf06b4157972badd89d532b844a2cc943c24c1dbd43beb94a1c354ba3806762858592fb4feb925e0d77158acc32638d11350ecb9b0947033c697635685b695f0bfb966f2026c1f07b28442752818d08a09292bea34522a9b38945ef882be83915b3588f575e1b467b1a834eb216d78e69f9779b23be957a95bceea4d34f883d0c169c6164758c9bbbd7e478473c2adfe43b3828186fc60122e72451052a4051e5a99c94551ae4f5ee5973adc707fc4091ec91c812d6b8c6a0ec8c8132b98dd56bb5f3a36b3f268f673f8ee91bc990ecefc0ec65c7eb6d0b770433d782d27942b89ba8cdd9f6e1afc6e07dd96b2b62160795b3c30b9df1b8ec248b3ba2c0d056b34625b07ec7ae8497d618740e6e90995065e9737527abdbbae1a64140b046659ceff4ab5e903ac01b0c9b1ec3b3340eaf0221a8aa9f6ab157278b2e7f6c04e52a31809781343958899223adc468a57ede3e266200438b2de120c49829808b3e0121b41bb399ad6505e128679ee0bebaf123e821169a8fd8cb874950a5347ccc7813a3318921de92161278a130acbd937c7667a6aa79895044990900c1de05fdbc9837fd5732ebd5b4203f0a25f11e8e435b07ef93244957d708d5e6466d135933c1e2f4b069b65fc122931895a18dd6d3009402d8afed47085fa26ee0da92996203525d7b0110f883d23e61ded9a1e76a41a04deb3f2ce42efc5d44e8fcf34891607de41a1cf58e045a684b315e1e8bf8c336c0a5244ce69bc7c7ffac714c6f36f1ff0e9fb8a1c93085e0659f371a9f1a6184eaf9fbed1d8da234887fe531d48c09907076df4dd6e6a1274995925a4e141e911565f87a7a8b20e1687bae0e2fb82888d11155789bc383a6681919bc3f9050f9cc2d9ee0a46599fe3f320a4a9acde0000000000000000000000000000000000000000000000000000000000060d10151d23292e","attestation_type":"pqc_registry","signed_at":"2026-03-26 16:38:53"}],"hndl":{"id":59,"model_id":59,"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"}}