{"api_version":2,"receipt_profile":"zambo-hosted-receipt/1","schema_url":"https://zambo.dev/aer-1/hosted-profile.schema.json","id":"9d5dd001-a35a-4cfa-b2f4-8eb827e538db","source_url":"https://zambo.dev/api/receipt/9d5dd001-a35a-4cfa-b2f4-8eb827e538db","receipt":{"id":"9d5dd001-a35a-4cfa-b2f4-8eb827e538db","created_at":"2026-11-08T10:10:14.420Z","receipt_schema_version":"0.4","job_summary":"url: https://zambo.dev/verify/","tools":["pdf_extract"],"steps":[{"tool":"pdf_extract","status":"success","started_at":"2026-11-08T10:10:13.324Z","completed_at":"2026-11-08T10:10:14.420Z"}],"output_hash":"sha256:3a0a22d24efc25ec19a53fdfe01b20364e83c726c84d11b97359e62f6a0f42f4","hash_algorithm":"sha256","canonical_bytes":"eyJjYWxsZXIiOnsiaWQiOiJzaGEyNTY6OWYzNzAzNDIwOWRkY2Q0Nzk3MzBiNDI0NDg2YmJhNDIyZWNmYTBjYTMxMTk1NzMzMTkxOWZmMTlhNDNkZDFlNyIsInR5cGUiOiJzZXNzaW9uIn0sImlzc3Vlcl9jbGFpbXMiOnsicHJvdmVuYW5jZV9jbGFzcyI6IkVYRUNVVEVEIEJZIFpBTUJPIn0sIm91dHB1dCI6eyJjb250ZW50X3R5cGUiOiJ0ZXh0L2h0bWwiLCJleHRyYWN0ZWRfdGV4dCI6IkNoZWNrIGEgcmVjZWlwdCB8IFphbWJvXG5cblNraXAgdG8gY29udGVudCAgU2tpcCB0byBjb250ZW50XG5cblB1YmxpYyByZWNlaXB0IHZlcmlmaWNhdGlvblxuXG5WZXJpZnkgYSBaYW1ibyByZWNlaXB0LlxuXG5DYW4gYSBzYXZlZCBBSSBsb2cgb3IgcmVjZWlwdCBiZSBjaGFuZ2VkIHdpdGhvdXQgYW55b25lIG5vdGljaW5nPyAgTm8sIGEgY2hhbmdlZCBzYXZlZCByZXN1bHQgZmFpbHMgaXRzIGRpZ2VzdCBjb21wYXJpc29uLiBFYWNoIHZlcmlmaWFibGUgcmVjZWlwdCBjYXJyaWVzIGEgZGlnZXN0IG92ZXIgaXRzIHNhdmVkIHJlc3VsdC4gQ2hhbmdlIG9uZSBieXRlIG9mIHRoZSBzYXZlZCByZXN1bHQgYW5kIHRoZSBkaWdlc3Qgbm8gbG9uZ2VyIG1hdGNoZXMuIFRoYXQgaXMgd2hhdCBjaGVja2luZyBhIHJlY2VpcHQgbWVhbnM6IGNvbXBhcmUgdGhlIHNhdmVkIGJ5dGVzIHdpdGggdGhlaXIgcmVjb3JkZWQgY29tbWl0bWVudCwgcmF0aGVyIHRoYW4gdHJ1c3RpbmcgYW4gZWRpdGVkIGFjY291bnQuXG5cbkEgcmVhbCByZWNlaXB0IHlvdSBjYW4gY2hlY2tcblxuUmVjZWlwdCA5MWUzNzZiMS0zN2Y0LTRjNWItYTkzZS01NDk3ZGE3NDEwY2UgIGlzIGEgWmFtYm8gTUNQIHByb21wdF9zaGllbGQgcmVjZWlwdCwgc2F2ZWQgMjAyNi0xMC0xOFQxMTozNjo1MS44MTlaLiBJdCBpcyBub3QgYSBDcmV3QUkgb3Igc21vbGFnZW50cyBydW4uXG5cblRoZSBwdWJsaWMgcmVjZWlwdCBwYWdlIHNob3dzIHRoZSBvYnNlcnZlZCByZXN1bHQgYW5kIHNhdmVkIHRpbWUuIEl0cyBtYWNoaW5lIHZlcmlmaWNhdGlvbiByZXNwb25zZSBpZGVudGlmaWVzIHRoZSB0b29sLCByZWNvcmRlZCByZXF1ZXN0IGNvbnRleHQsIGNhbm9uaWNhbCBzYXZlZCBieXRlcywgYW5kIG91dHB1dF9oYXNoIGRpZ2VzdC4gUmVjb21wdXRlIFNIQS0yNTYgb3ZlciB0aGUgZGVjb2RlZCBzYXZlZCBieXRlcyBhbmQgY29tcGFyZSB0aGF0IGRpZ2VzdCB3aXRoIHRoZSBzdG9yZWQgdmFsdWUuICBDaGVjayB0aGlzIHJlY2VpcHQgIG9yICByZWFkIHRoZSBtYWNoaW5lIGNoZWNrIC5cblxuQSByZWNlaXB0IHByb3ZlcyB0aGUgc2F2ZWQgcmVzdWx0IHdhcyBub3QgY2hhbmdlZCBzaW5jZSBpdCB3YXMgc2F2ZWQuIEl0IG5ldmVyIHByb3ZlcyB0aGUgYW5zd2VyIHdhcyByaWdodCBhbmQgbmV2ZXIgcHJvdmVzIGFuIGV4dGVybmFsIGV2ZW50IGhhcHBlbmVkLlxuXG5PcGVuIHlvdXIgc2F2ZWQgcmVjZWlwdFxuXG5QYXN0ZSBhIHJlY2VpcHQgbGluayBvciBJRFxuXG5DaGVjayByZWNlaXB0XG5cbldoYXQgdGhpcyBjaGVja3NcblxuVGhpcyBjaGVja3MgdGhlIHB1YmxpYyBob3N0ZWQgcmVjZWlwdC4gSXRzIHByb2ZpbGUgZm9ybWF0IGlzIGRvY3VtZW50ZWQgc2VwYXJhdGVseSBmcm9tIHRoZSByYXcgQUVSLTEgY29ubmVjdGlvbiByZWNlaXB0IHNjaGVtYS5cblxuUmVhZCBob3N0ZWQgcHJvZmlsZSBzY2hlbWEgIMK3ICBSdW4gdGhlIHJlYWQtb25seSBkZW1vICDCtyAgVXNlIHRoZSBsb2NhbCBwcm94eVxuXG5ObyByZWNlaXB0IHlldD8gQWRkIFphbWJvIHRvIHlvdXIgQUkgYW5kIGVhY2ggdG9vbCBjYWxsIGdldHMgYSByZWNlaXB0LiAgQWRkIFphbWJvIGZyZWVcblxuWmFtYm8gZ2l2ZXMgeW91ciBBSSBhIHJlY2VpcHQgZm9yIGV2ZXJ5IGFuc3dlci4gQ2hlY2sgYW55IHJlY2VpcHQgaGVyZSwgZnJlZS5cblxuLlxuXG5yZWNlaXB0cyBpc3N1ZWRcblxuLlxuXG5yZWNlaXB0cyB0b2RheVxuXG4uXG5cbnBhY2thZ2UgZG93bmxvYWRzXG5cbi5cblxudG9vbCBjYWxsc1xuXG5FdmVyeSBudW1iZXIgbGl2ZSBhbmQgc291cmNlZCDCtyBNZXRob2QgJiBzb3VyY2VzXG5cbjIwIGNhbGxzICsgMSB3cmFwLXVwIGZyZWUgZXZlcnkgZGF5OyBwaWNraW5nIHVwIGluIGFub3RoZXIgQUkgaXMgYWx3YXlzIGZyZWUuXG5cbkV2ZXJ5IHJlY2VpcHQgaGFzIGEgZmluZ2VycHJpbnQuIElmIGFueW9uZSBjaGFuZ2VzIHRoZSByZWNlaXB0LCB0aGUgZmluZ2VycHJpbnQgbm8gbG9uZ2VyIG1hdGNoZXMuIEEgbWF0Y2ggZG9lcyBub3QgcHJvdmUgdGhlIGFuc3dlciBpcyByaWdodC5cblxuQUVSLTEgZHJhZnQgLTI2ICBkZWZpbmVzIHRoZSByZWNlaXB0IGZvcm1hdC5cblxuUmVjZWlwdHMgd2l0aGhlbGQgZm9yIHByaXZhY3lcblxuU29tZSByZWNlaXB0cyBrZWVwIGNhbm9uaWNhbCBieXRlcyBwcml2YXRlLiBUaGVpciBwdWJsaWMgdmVyaWZpZXIgcmVwb3J0cyDigJx3aXRoaGVsZOKAnSBpbnN0ZWFkIG9mIHNob3dpbmcgYSBncmVlbiBjaGVjay4gVGhlIHJlY2VpcHQgb3duZXIgY2FuIHVzZSB0aGUgb2ZmbGluZSB2ZXJpZmllciBiZWxvdyB3aXRoIHRoZSBvcmlnaW5hbCBieXRlcyB0byByZWNvbXB1dGUgdGhlIGNvbW1pdG1lbnQuXG5cbkF0dGFjaCBhIFphbWJvIHJlY2VpcHRcblxuRm9yIGRldmVsb3BlcnNcblxuUmVwbGFjZSAgPGlkPiAgd2l0aCB0aGUgcmVjZWlwdCBVVUlELiBBIHJlY2VpcHQgbGluayBzaG93cyB0aGUgcHVibGljIHJ1biBwYWdlOyB0aGUgbWFjaGluZSBsaW5rIHJldHVybnMgdGhlIHYyIHZlcmlmaWNhdGlvbiBjaGVja3MuXG5cbk1hcmtkb3duIGJhZGdlXG5cbkZvciBkZXZlbG9wZXJzXG5cblshW1phbWJvIHJlY2VpcHRdKGh0dHBzOi8vemFtYm8uZGV2L2FwaS9yZWNlaXB0LzxpZD4vYmFkZ2Uuc3ZnKV0oaHR0cHM6Ly96YW1iby5kZXYvcnVuLzxpZD4pXG5cbkNvcHlcblxuSFRNTCBiYWRnZVxuXG5Gb3IgZGV2ZWxvcGVyc1xuXG48YSBocmVmPVwiaHR0cHM6Ly96YW1iby5kZXYvcnVuL2IwOGNmZTc3LTZhNTItNDdlNy05YWRlLWIwMWZiY2Q1ZTU0M1wiPjxpbWcgc3JjPVwiaHR0cHM6Ly96YW1iby5kZXYvYXBpL3JlY2VpcHQvPGlkPi9iYWRnZS5zdmdcIiBhbHQ9XCJaYW1ibyByZWNlaXB0XCI+PC9hPlxuXG5Db3B5XG5cbk1hY2hpbmUgdmVyaWZpY2F0aW9uIGxpbmtcblxuRm9yIGRldmVsb3BlcnNcblxuaHR0cHM6Ly96YW1iby5kZXYvYXBpL3YyL3JlY2VpcHQvPGlkPi92ZXJpZnlcblxuQ29weVxuXG5Db21taXQgb3IgcHVsbCByZXF1ZXN0IHRyYWlsZXJcblxuRm9yIGRldmVsb3BlcnNcblxuWmFtYm8tUmVjZWlwdDogaHR0cHM6Ly96YW1iby5kZXYvcnVuLzxpZD5cblxuQ29weVxuXG5KU09OIHBvaW50ZXJcblxuRm9yIGRldmVsb3BlcnNcblxue1wiemFtYm9fcmVjZWlwdFwiOntcImlkXCI6XCI8aWQ+XCIsXCJ1cmxcIjpcImh0dHBzOi8vemFtYm8uZGV2L3J1bi88aWQ+XCIsXCJ2ZXJpZnlfdXJsXCI6XCJodHRwczovL3phbWJvLmRldi9hcGkvdjIvcmVjZWlwdC88aWQ+L3ZlcmlmeVwiLFwib3V0cHV0X2hhc2hcIjpcInNoYTI1NjrigKZcIn19XG5cbkNvcHlcblxuY29ubmVjdGlvbiBtZXRhZGF0YSBrZXlcblxuRm9yIGRldmVsb3BlcnNcblxuX21ldGFbXCJkZXYuemFtYm8vcmVjZWlwdFwiXVxuXG5Db3B5XG5cbkEyQSBleHRlbnNpb24ga2V5XG5cbkZvciBkZXZlbG9wZXJzXG5cbmh0dHBzOi8vemFtYm8uZGV2L2V4dC9hZXIxL3YxXG5cbkNvcHlcblxuQ0kgcmVjaXBlOiAgQWRkIHJlY2VpcHQgdmVyaWZpY2F0aW9uIHRvIEdpdExhYiBDSSAuXG5cbkFkdmFuY2VkOiBjaGVjayBhIG11bHRpLXN0ZXAgam9iXG5cblZlcmlmeSBhIHdvcmtmbG93IHJlY2VpcHRcblxuQSB3b3JrZmxvdyByZWNlaXB0IGNvbW1pdHMgdG8gYW4gb3JkZXJlZCBsaXN0IG9mIGluZGVwZW5kZW50bHkgdmVyaWZpYWJsZSBzdGVwIHJlY2VpcHRzLiBVc2UgdGhlICB2ZXJpZmllZCByZWNlaXB0IGV4YW1wbGUgIGFzIHRoZSByZWZlcmVuY2UgcmVjb3JkLiBFdmVyeSBzdGVwIG11c3QgaW5kZXBlbmRlbnRseSB2ZXJpZnkgdGhyb3VnaCBpdHMgb3duIHJlY2VpcHQgZW5kcG9pbnQgYmVmb3JlIHRoZSB3b3JrZmxvdyByb290IGlzIG1lYW5pbmdmdWwuXG5cbkV4YWN0IE1lcmtsZSBjb25zdHJ1Y3Rpb25cblxuRm9yIGVhY2ggMS1iYXNlZCBzdGVwLCBsb3dlcmNhc2UgdGhlIDY0LWNoYXJhY3RlciByZWNlaXB0IG91dHB1dC1oYXNoIGhleCBhbmQgcmVtb3ZlIGl0cyAgc2hhMjU2OiAgcHJlZml4LiBUaGUgbGVhZiBpcyAgU0hBLTI1NihVVEYtOCBieXRlcyBvZiBkZWNpbWFsIHNlcSArIFwiOlwiICsgaGFzaCBoZXgpIC5cblxuQXQgZWFjaCBwYXJlbnQgbGV2ZWwsIGhhc2ggdGhlIHJhdyAzMi1ieXRlIGxlZnQgbm9kZSBjb25jYXRlbmF0ZWQgd2l0aCB0aGUgcmF3IDMyLWJ5dGUgcmlnaHQgbm9kZTogIFNIQS0yNSIsIm5vdGUiOiJUZXh0IHRydW5jYXRlZCB0byA0MDAwIGNoYXJzLiBGdWxsIGRvY3VtZW50IGlzIDExOTEwIGNoYXJzLiIsInN1bW1hcnkiOiItICoqVGFtcGVy4oCRZXZpZGVudCByZWNlaXB0cyoqIOKAkyBFdmVyeSBaYW1ibyB0b29sIGNhbGwgZ2VuZXJhdGVzIGEgcmVjZWlwdCB0aGF0IHN0b3JlcyB0aGUgZXhhY3Qgb3V0cHV0IGJ5dGVzIGFuZCBhIFNIQeKAkTI1NiBkaWdlc3QuICBDaGFuZ2luZyBhbnkgYnl0ZSBpbnZhbGlkYXRlcyB0aGUgZGlnZXN0LCBzbyBhIHB1YmxpYyBjaGVjayBndWFyYW50ZWVzIHRoZSBzYXZlZCByZXN1bHQgaGFzbuKAmXQgYmVlbiBlZGl0ZWQgKGJ1dCBpdCBkb2VzIG5vdCBjb25maXJtIGNvcnJlY3RuZXNzKS5cblxuLSAqKkV4YW1wbGUgcmVjZWlwdCoqIOKAkyBSZWNlaXB04oCvOTFlMzc2YjHigJEzN2Y04oCRNGM1YuKAkWE5M2XigJE1NDk3ZGE3NDEwY2UgKHNhdmVkIDIwMjbigJExMOKAkTE44oCvVDExOjM2OjUxLjgxOVopIGlzIGEgWmFtYm8gTUNQ4oCvcHJvbXB0X3NoaWVsZCByZWNlaXB0LiAgVGhlIHB1YmxpYyBwYWdlIHNob3dzIHRoZSBvYnNlcnZlZCByZXN1bHQsIHRvb2wsIHJlcXVlc3QgY29udGV4dCwgY2Fub25pY2FsIGJ5dGVzLCBhbmQgdGhlIGBvdXRwdXRfaGFzaGA7IHJlY29tcHV0aW5nIHRoZSBoYXNoIG92ZXIgdGhlIGRlY29kZWQgYnl0ZXMgc2hvdWxkIG1hdGNoIHRoZSBzdG9yZWQgdmFsdWUiLCJ1cmwiOiJodHRwczovL3phbWJvLmRldi92ZXJpZnkvIiwid29yZF9jb3VudCI6MTYwOX0sInJlY2VpcHRfc2NoZW1hX3ZlcnNpb24iOiIwLjQiLCJzaWRlX2VmZmVjdHMiOnsiZGVjbGFyYXRpb25faGFzaCI6InNoYTI1Njo0NWFhZDM4ZjNhYTk4MmI5YWFmZTkyZWNiNDE2ZWJlOTg3OTFlZGRiYWY4YWI2ZGYwYmQwODYwNWI3YzFiZmVlIiwiZGVjbGFyZWQiOlsibm9uZSJdLCJzY2hlbWFfdmVyc2lvbiI6InphbWJvLXNpZGUtZWZmZWN0cy8xIn0sInRvb2wiOnsibmFtZSI6InBkZl9leHRyYWN0Iiwic2NvcGUiOiJwdWJsaWMiLCJ2ZXJzaW9uIjoiNC4wLjAifX0=","canonical_bytes_withheld_for_privacy":false,"canonical_byte_length":5426,"verification_status":"verified","session_trail":[{"tool":"pdf_extract","status":"completed","args_hash":"sha256:388d9d5013eb8098ee2ce417dda38076c776383a1a76fa11ee144f65608ff4e0","timestamp":"2026-11-08T10:10:14.420Z","receipt_uuid":"9d5dd001-a35a-4cfa-b2f4-8eb827e538db"}],"result_preview":"{\"url\":\"https://zambo.dev/verify/\",\"content_type\":\"text/html\",\"word_count\":1609,\"extracted_text\":\"Check a receipt | Zambo\\n\\nSkip to content  Skip to content\\n\\nPublic receipt verification\\n\\nVerify a Zambo receipt.\\n\\nCan a saved AI log or receipt be changed without anyone noticing?  No, a changed saved result fails its digest comparison. Each verifiable receipt carries a digest over its saved result. Change one byte of the saved result and the digest no longer matches. That is what checking a receipt means: compare the saved bytes with their recorded commitment, rather than trusting an edited account.\\n\\nA real receipt you can check\\n\\nReceipt 91e376b1-37f4-4c5b-a93e-5497da7410ce  is a Zambo MCP prompt_shield receipt, saved 2026-10-18T11:36:51.819Z. It is not a CrewAI or smolagents run.\\n\\nThe public receipt page shows the observed result and saved time. Its machine verification response identifies the tool, recorded request context, canonical saved bytes, and output_hash digest. Recompute SHA-256 over the decoded saved bytes and compare that digest with the stored value.  Check this receipt  or  read the machine check .\\n\\nA receipt proves the saved result was not changed since it was saved. It never proves the answer was right and never proves an external event happened.\\n\\nOpen your saved receipt\\n\\nPaste a receipt link or ID\\n\\nCheck receipt\\n\\nWhat this checks\\n\\nThis checks the public hosted receipt. Its profile format is documented separately from the raw AER-1 connection receipt schema.\\n\\nRead hosted profile schema  ·  Run the read-only demo  ·  Use the local proxy\\n\\nNo receipt yet? Add Zambo to your AI and each tool call gets a receipt.  Add Zambo free\\n\\nZambo gives your AI a receipt for every answer. Check any receipt here, free.\\n\\n.\\n\\nreceipts issued\\n\\n.\\n\\nreceipts today\\n\\n.\\n\\npackage downloads\\n\\n.\\n\\ntool calls\\n\\nEvery number live and sourced · Method & sources\\n\\n20 calls + 1 wrap-up free every day; picking up in another AI is always free.\\n\\nEvery receipt has a fingerprint. If anyone changes the receipt, the fingerprint no longer matches. A match does not prove the answer is right.\\n\\nAER-1 draft -26  defines the receipt format.\\n\\nReceipts withheld for privacy\\n\\nSome receipts keep canonical bytes private. Their public verifier reports “withheld” instead of showing a green check. The receipt owner can use the offline verifier below with the original bytes to recompute the commitment.\\n\\nAttach a Zambo receipt\\n\\nFor developers\\n\\nReplace  <id>  with the receipt UUID. A receipt link shows the public run page; the machine link returns the v2 verification checks.\\n\\nMarkdown badge\\n\\nFor developers\\n\\n[![Zambo receipt](https://zambo.dev/api/receipt/<id>/badge.svg)](https://zambo.dev/run/<id>)\\n\\nCopy\\n\\nHTML badge\\n\\nFor developers\\n\\n<a href=\\\"https://zambo.dev/run/b08cfe77-6a52-47e7-9ade-b01fbcd5e543\\\"><img src=\\\"https://zambo.dev/api/receipt/<id>/badge.svg\\\" alt=\\\"Zambo receipt\\\"></a>\\n\\nCopy\\n\\nMachine verification link\\n\\nFor developers\\n\\nhttps://zambo.dev/api/v2/receipt/<id>/verify\\n\\nCopy\\n\\nCommit or pull request trailer\\n\\nFor developers\\n\\nZambo-Receipt: https://zambo.dev/run/<id>\\n\\nCopy\\n\\nJSON pointer\\n\\nFor developers\\n\\n{\\\"zambo_receipt\\\":{\\\"id\\\":\\\"<id>\\\",\\\"url\\\":\\\"https://zambo.dev/run/<id>\\\",\\\"verify_url\\\":\\\"https://zambo.dev/api/v2/receipt/<id>/verify\\\",\\\"output_hash\\\":\\\"sha256:…\\\"}}\\n\\nCopy\\n\\nconnection metadata key\\n\\nFor developers\\n\\n_meta[\\\"dev.zambo/receipt\\\"]\\n\\nCopy\\n\\nA2A extension key\\n\\nFor developers\\n\\nhttps://zambo.dev/ext/aer1/v1\\n\\nCopy\\n\\nCI recipe:  Add receipt verification to GitLab CI .\\n\\nAdvanced: check a multi-step job\\n\\nVerify a workflow receipt\\n\\nA workflow receipt commits to an ordered list of independently verifiable step receipts. Use the  verified receipt example  as the reference record. Every step must independently verify through its own receipt endpoint before the workflow root is meaningful.\\n\\nExact Merkle construction\\n\\nFor each 1-based step, lowercase the 64-character receipt output-hash hex and remove its  sha256:  prefix. The leaf is  SHA-256(UTF-8 bytes of decimal seq + \\\":\\\" + hash hex) .\\n\\nAt each parent level, hash the raw 32-byte left node concatenated with the raw 32-byte right node:  SHA-25\",\"summary\":\"- **Tamper‑evident receipts** – Every Zambo tool call generates a receipt that stores the exact output bytes and a SHA‑256 digest.  Changing any byte invalidates the digest, so a public check guarantees the saved result hasn’t been edited (but it does not confirm correctness).\\n\\n- **Example receipt** – Receipt 91e376b1‑37f4‑4c5b‑a93e‑5497da7410ce (saved 2026‑10‑18 T11:36:51.819Z) is a Zambo MCP prompt_shield receipt.  The public page shows the observed result, tool, request context, canonical bytes, and the `output_hash`; recomputing the hash over the decoded bytes should match the stored value\",\"note\":\"Text truncated to 4000 chars. Full document is 11910 chars.\"}","result_preview_integrity":"display_only_not_committed","result_preview_truncated":false,"input_hash":"sha256:620e037fe429277bdaac2c693b982d7c7c028effa1c013eb3732584c8ce33d9b","input_hash_layout":"zambo-json-sorted-keys-utf8-v1","free_used":12,"free_remaining":8,"free_limit":20,"signal_handle":null,"tool":{"name":"pdf_extract","version":"4.0.0","scope":"public"},"caller":{"type":"session","id":"sha256:9f37034209ddcd479730b424486bba422ecfa0ca311957331919ff19a43dd1e7"},"side_effects":{"declared":["none"],"schema_version":"zambo-side-effects/1","declaration_hash":"sha256:45aad38f3aa982b9aafe92ecb416ebe98791eddbaf8ab6df0bd08605b7c1bfee"},"evidence_sha256":"sha256:8344598b6589f8c3252fcbbd40664ebed8c49b07dc1febd34852140faeed5374","evidence_url":"/api/evidence/8344598b6589f8c3252fcbbd40664ebed8c49b07dc1febd34852140faeed5374","evidence_byte_length":56912,"evidence_content_type":"text/html","evidence_source_url":"https://zambo.dev/verify/","evidence_status":"upstream_error","result_source":null,"evidence_source":"zambo.dev","external_evidence":[],"provenance":{"result_source":null,"evidence_source":"zambo.dev","evidence_status":"upstream_error","evidence_captures":[{"sha256":"sha256:8344598b6589f8c3252fcbbd40664ebed8c49b07dc1febd34852140faeed5374","source":"zambo.dev","capture_role":"primary","evidence_status":"upstream_error"}]},"provenance_class":"EXECUTED BY ZAMBO","metadata_hash":"sha256:16abc04e3bb980a34deb697d503c1a56cae522133705ae3c98b61cb17327cf65","anchor":{"event_id":"3ef3ca41bbf14926617d96103792cabe7ead64bc4ffb9bf69e680912632fda5f","pubkey":"e13475107d30c918ec664adf2ab1141024a22fb35190f82c9e933704fa49af41","relays":["wss://relay.primal.net"],"status":"published","published_at":"2026-11-08T10:10:14.999Z","published_at_semantics":"Relay confirmation time (accepted acknowledgement or exact-event read-back); not the signed event's created_at.","schema_version":"zambo-receipt-anchor/1","envelope":{"anchored_at":"2026-11-08T10:10:14.420Z","evidence_url":"https://zambo.dev/api/evidence/8344598b6589f8c3252fcbbd40664ebed8c49b07dc1febd34852140faeed5374","receipt_uuid":"9d5dd001-a35a-4cfa-b2f4-8eb827e538db","output_sha256":"sha256:3a0a22d24efc25ec19a53fdfe01b20364e83c726c84d11b97359e62f6a0f42f4","schema_version":"zambo-receipt-anchor/1","evidence_sha256":"sha256:8344598b6589f8c3252fcbbd40664ebed8c49b07dc1febd34852140faeed5374","evidence_byte_length":56912},"envelope_bytes":"{\"anchored_at\":\"2026-11-08T10:10:14.420Z\",\"evidence_byte_length\":56912,\"evidence_sha256\":\"sha256:8344598b6589f8c3252fcbbd40664ebed8c49b07dc1febd34852140faeed5374\",\"evidence_url\":\"https://zambo.dev/api/evidence/8344598b6589f8c3252fcbbd40664ebed8c49b07dc1febd34852140faeed5374\",\"output_sha256\":\"sha256:3a0a22d24efc25ec19a53fdfe01b20364e83c726c84d11b97359e62f6a0f42f4\",\"receipt_uuid\":\"9d5dd001-a35a-4cfa-b2f4-8eb827e538db\",\"schema_version\":\"zambo-receipt-anchor/1\"}"},"receipt_profile":"zambo-hosted-receipt/1","schema_url":"https://zambo.dev/aer-1/hosted-profile.schema.json","api_version":1,"verification_scope":"separate_sha256_commitment_and_provenance_binding_checks","checks":{"commitment_matches":{"label":"SHA-256 commitment","passed":true,"status":"pass","detail":"The exact decoded canonical bytes match the stored SHA-256 output hash."},"canonical_payload_matches":{"label":"Canonical payload reconstruction","passed":true,"status":"pass","detail":"The stored output and known call context reconstruct the exact canonical bytes."},"provenance_binding":{"label":"Provenance claim binding","status":"pass","passed":true,"detail":"The metadata claim is consistent with the verified receipt bytes; issuer is not authenticated."},"metadata_binding":{"label":"AER-1 metadata hash","status":"pass","passed":true,"detail":"metadata_hash matches the canonical metadata block."},"signature":{"label":"Ed25519 signature (not checked)","passed":false,"status":"not_checked","detail":"No Ed25519 signature or pinned signing key was checked."},"chain":{"label":"Receipt chain (not checked)","passed":false,"status":"not_checked","detail":"No append-only receipt-chain proof was checked."},"issued_by_zambo_dev":{"label":"Issuer authentication","passed":false,"status":"not_checked","detail":"A zambo.dev receipt URL does not authenticate the issuer; no pinned signature or trusted issuer key was checked."},"immutable_log_timestamp":{"label":"Stored timestamp","passed":true,"timestamp":"2026-11-08T10:10:14.420Z","detail":"The receipt store reports 2026-11-08T10:10:14.420Z; immutability is not checked here."},"receipt_schema_version":"0.4","signature_valid":{"label":"Ed25519 signature (not checked)","passed":false,"status":"not_checked","detail":"Compatibility field only. No Ed25519 signature was checked; use API v2 checks.commitment_matches for the SHA-256 commitment."},"chain_valid":{"label":"Receipt chain (not checked)","passed":false,"status":"not_checked","detail":"This endpoint does not verify an append-only chain."}},"execution_context":{"source":"zambo.dev","environment":"zambo.dev hosted MCP","quota_identity":{"meter_key":"sha256:cbdc1e51d7d201be07f2946c43de7ddcb2d732f904c5060e15b12c83c80d3505"}},"evidence_warning":{"label":"Evidence captured: upstream error response"}},"evidence_status":"upstream_error","evidence_warning":{"label":"Evidence captured: upstream error response"},"verification_status":"verified","checks":{"commitment_matches":{"status":"pass","passed":true,"expected_hash":"sha256:3a0a22d24efc25ec19a53fdfe01b20364e83c726c84d11b97359e62f6a0f42f4","computed_hash":"sha256:3a0a22d24efc25ec19a53fdfe01b20364e83c726c84d11b97359e62f6a0f42f4","detail":"SHA-256 of the exact decoded canonical bytes matches output_hash."},"canonical_payload_matches":{"label":"Canonical payload reconstruction","passed":true,"status":"pass","detail":"The stored output and known call context reconstruct the exact canonical bytes."},"provenance_binding":{"label":"Provenance claim binding","status":"pass","passed":true,"detail":"The metadata claim is consistent with the verified receipt bytes; issuer is not authenticated."},"metadata_binding":{"label":"AER-1 metadata hash","status":"pass","passed":true,"detail":"metadata_hash matches the canonical metadata block."},"issuer_authentication":{"label":"Issuer authentication","passed":false,"status":"not_checked","detail":"A zambo.dev receipt URL does not authenticate the issuer; no pinned signature or trusted issuer key was checked."},"signature":{"status":"not_checked","detail":"No Ed25519 signature or pinned signing key is supplied."},"schema":{"status":"not_checked","detail":"Schema conformance is left to the client using the linked hosted-profile schema."},"chain":{"status":"not_checked","detail":"This endpoint does not verify an append-only receipt chain."}}}