{"schema":"apex-receipt-verification/1","found":true,"receipt_id":"2fe58cfb76ed45ee3abf4e512fb9ec4a6bbd5557c41a2632213fc713a726e522","cite_as":"Validated via Apex (smartapex.uk) strategy-gatekeeper - receipt: https://api.smartapex.uk/v1/receipts/2fe58cfb76ed45ee3abf4e512fb9ec4a6bbd5557c41a2632213fc713a726e522","card_id":"card_strategy_gatekeeper","tool_id":"strategy-gatekeeper","issued_at":"2026-08-24T16:33:46.750Z","review_submitted":false,"hashes":{"input_sha256":"fccde0beb2095122a3570f517cd6984c05d1b50c5973d71195ec73428d60c2eb","output_sha256":"0bfe86f76386fed05b5ccd75ea4a275bebfa10781e9b9b267c75c563ec45e083","wrapper_ref_sha256":"e8f1762a8f36474ec98c94e5e1e40de7de2580a04e40c16c49550f34bd21a787"},"how_to_verify":"Recompute sha256(canonicalJson(input_body)) and sha256(canonicalJson(tool_output)) and compare with hashes above. tool_output = the full /run response minus its verification_receipt, usage_feedback, and cite_as fields. canonicalJson = sorted keys, undefined dropped. Match = that exact data went through this bounded Apex wrapper at issued_at. Working code: https://github.com/mickeyappol-create/apex-agent-client","card":"/v1/cards/card_strategy_gatekeeper","note":"Proves a bounded read-only wrapper run was recorded. Does not prove the claim built on top of it, and never releases source."}