ledger-bundles.snapshot模块 49Signed evidence bundles
把工作区的审计链封存为带签名的证据包,审计师可以对照一个公开发布、任何人都能读取的密钥离线检查。
ledger-bundles.snapshot 用每个辖区的密钥为审计日志的一个范围签名并返回证据包。对应的公钥位于一个众所周知的 JWK 端点,同样的代码在公共路由和离线状态下验证它,因此检查从不依赖于询问 Intramedial。
ledger-bundles.snapshot模块 49把工作区的审计链封存为带签名的证据包,审计师可以对照一个公开发布、任何人都能读取的密钥离线检查。
ledger-bundles.snapshot 用每个辖区的密钥为审计日志的一个范围签名并返回证据包。对应的公钥位于一个众所周知的 JWK 端点,同样的代码在公共路由和离线状态下验证它,因此检查从不依赖于询问 Intramedial。
公共 /ots/verify 路由从被锚定的摘要重新执行证明的操作树,并将推导出的 Merkle 根与所指区块的区块头比较。指向真实区块的被篡改操作树会被拒绝。它证明的是摘要在该区块之前就已存在,而不是摘要代表什么。区块的 Merkle 根来自一个公共比特币 API;区块头的工作量证明和最小确认深度不被检查,notVerified 会如实说明。
bundleIdjurisdictionrangeStartmerkleRootPOST /api/v1/ledger-bundles/snapshot,带有可选的 scope、rangeStart 和 rangeEnd;省略范围会捕获迄今为止的全部审计历史,而不是增量。
范围内的审计日志行被哈希为 Merkle 根,并用该请求辖区的 Ed25519 密钥签名;如果该区域没有配置密钥,请求返回 503,而不是用错误的密钥签名。
此模块的调用会改变真实状态或访问外部服务,因此共享演示不会运行它们。请登录后在您自己的工作区中运行。 ledger-bundles.snapshot 文档
此模块的调用会改变真实状态或访问外部服务,因此共享演示不会运行它们。请登录后在您自己的工作区中运行。
一个符合 API 接受格式的请求,以及模块返回格式的示例响应。
POST /api/v1/ledger-bundles/snapshot Authorization: Bearer av_workspace_•••• Content-Type: application/json { }
审计师下载证据包和已发布的密钥,自行验证签名和记录数,无需回调 Intramedial。
工作区在季度末对审计日志做快照,明确指定范围,而不是让默认快照再次从创世起点重新捕获一切。
证据包一发出,签名就可以检查;确认其时间戳的比特币锚定则稍后才到,待每日 cron 的证明通过之后。
安全审阅者读取 /ots/verify 响应中的 verified: "merkle_path_to_block_header" 字段,便知操作树是从摘要重新执行的,并与区块头的 Merkle 根相符。单纯的日历时间戳需要随之发送 。
模块是对一件狭窄事情的强力保证。请仅在其确切范围内依赖它。
/verify 路由和离线验证包中运行,因此两者不会悄悄地出现偏差。本模块基于审计日志行的、域分离的二叉树,与 ledger.blame 中协调账本的批处理是独立的实现;永远不应将两者描述为同一机制。
免费工作区不能创建快照;Starter 及以上可以按次购买快照,Pro 增加每日自动锚定订阅,Enterprise 则包含该功能。验证任何人手中的证据包,在所有套餐上都免费。
本模块的 MCP 操作位于 contracts/src/actions/coordination.ts 之外自己的契约文件中,因此它们在这里都没有列为 coordination.* 操作。
使用工作区 API 密钥作为 Bearer 令牌进行认证。基础 URL 为 https://api.intramedial.com。
/api/v1/ledger-bundles/snapshot封存并签署审计链的一个范围。/api/v1/ledger-bundles/anchors列出为此工作区的证据包记录的比特币锚定证明。recordCountsigningKeyIded25519SignatureotsProofnull。GET /.well-known/ledger-bundles-keys.json 无需认证即可提供 JWK 集,因此无需再次联系 Intramedial 就可以检查证据包的签名。
每日 cron 把待处理证据包的根批量合并为一个超级根,一次性提交给 OpenTimestamps,并在证明确认后记录比特币区块。
{
"bundle": {
"bundleId": "lb_20261101_wnam_01",
"workspaceId": "ws_acme",
"jurisdiction": "wnam",
"scope": "default",
"rangeEnd": "2026-11-01T00:00:00.000Z",
"recordCount": 4820,
"merkleRoot": "8f1c2a9e...",
"signingKeyId": "lb-wnam-2026-10",
"ed25519Signature": "base64-signature",
"otsProof": null
}
}digestSha256ledger.blame 所读取的协调账本做快照。证据包封存的是该区域另一张 audit_log 表,那完全是另一条线索。pending 证据包的时间戳已经锚定到比特币;otsProof 保持 null,响应绝不会捏造确认。/ots/verify 证明摘要在被证明的区块之前就已存在,对其代表什么则不置一词。/ots/verify 从一个公共 API(Blockstream)获取区块的 Merkle 根,不检查工作量证明或确认深度。rangeStart、rangeEnd 或 label。其模式只暴露 scope;这些字段只有来自仪表盘自己的客户端才能到达 REST 工作进程。rangeStart 时,快照会从创世起点捕获整个审计历史,在老旧的工作区上可能很大。/api/v1/ledger-bundles/verify-chain此模块没有 MCP 操作。请通过 REST 从任何智能体或程序调用它。
compliance.pack54civics.records48Public records search向记录询问某个资源发生了什么,或平实地读取工作区的事件,并按您的权限实际允许的范围涂黑。remediation.blast50Blast map and remediation在撤销任何内容之前,先查看某个已声明检查点的数据触及了什么,然后只有在真人输入短语确认后,才依据它恢复。portmind.memory51Agent memory snapshots检查智能体记住了什么,并对其记忆做一个带签名的、以 Merkle 为根的快照,使用带版本、限定工作区的存储。rehoming.plan52Region rehoming规划此工作区的协调记录应存放在哪里,准确查看哪些内容会迁移,然后在您自己同意时将其迁往另一个区域。outcomes.summary55Impact HQ outcomes把受管智能体的活动与您可以衡量的成果联系起来,每个建模数字旁边都显示产生它的假设。