关于 Cronozen Proof
Cronozen Proof 将 AI 决策记录为由 SHA-256 链接的审计轨迹,并支持验证和导出 JSON-LD 证据。它面向需要通过 MCP、SDK 或 REST API 记录和审查 AI 决策的团队。
主要功能
- 01仅追加的 SHA-256 哈希链
- 02验证单条记录和整条链
- 03Ed25519 服务端签名
- 04导出 JSON-LD v2.0 证据
适用场景
- 01审计 AI Agent 的决策
- 02准备合规证据
- 03追溯决策来源
- 04记录人工批准或拒绝
MCP 相关
其 MCP 服务提供记录和获取决策、验证记录或哈希链、导出 JSON-LD 证据的工具,可连接 Claude Desktop、Cursor 等 MCP 客户端。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.cronozen.com/mcpclaude mcp add --transport http cronozen https://mcp.cronozen.com/mcp{"mcpServers":{"cronozen":{"type":"http","url":"https://mcp.cronozen.com/mcp"}}}在 Cursor 中打开{"servers":{"cronozen":{"type":"http","url":"https://mcp.cronozen.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"cronozen":{"type":"http","url":"https://mcp.cronozen.com/mcp"}}}{"mcpServers":{"cronozen":{"serverUrl":"https://mcp.cronozen.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://mcp.cronozen.com/mcp需要授权工具
7| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| domain | string | 是 | 业务领域(例如 rehab_care、market、edu、mentor、welfare) |
| purpose | string | 是 | 决策目的/原因 |
| final_action | string | 是 | 已采取的操作(例如 CREATE、UPDATE、APPROVE) |
| evidence_level | enum | 否 | 证据级别。默认值:AUDIT_READYDRAFT | PARTIAL | AUDIT_READY |
| reviewed_by | string | 否 | 人工审核者标识符 |
| reviewer_role | string | 否 | 审核者的角色(例如 operator、admin) |
| approved | boolean | 否 | 决策是否已获批准 |
| tags | array | 否 | 用于分类的标签 |
| reference_type | string | 否 | 引用实体的类型 |
| reference_id | string | 否 | 引用实体的 ID |
详细介绍
Cronozen Proof
为 AI 决策提供防篡改审计轨迹。 通过 MCP、SDK 或 REST API 记录、验证并导出加密证明链。
每项 AI 决策都通过 SHA-256 链接起来,任何人都可以验证,并且可导出为 JSON-LD,以满足审计合规要求。
防篡改可检测,而非防篡改不可破坏。 有数据库写入权限的人仍然可以编辑某一行。但这意味着,编辑无法不被察觉:验证会根据存储的记录重新计算哈希,因此任何更改都会使 verified 变为 false。我们可以检测篡改,但无法阻止篡改。
为什么选择 Cronozen Proof?
AI Agent 正在生产环境中做出真实决策——审批、分类和工作流执行。 但出现问题时,你能证明发生了什么吗?
Cronozen Proof 为你提供:
- 仅追加的哈希链 — 通过 SHA-256 链接的记录;任何后续编辑都可检测
- 公开验证 — 任何人都可以无需身份验证地验证证明,任何套餐均可使用
- 服务端签名 — 对链哈希进行 Ed25519 签名,因此仅凭数据库写入权限无法伪造记录
- 满足审计要求的导出 — JSON-LD v2.0 证据文档
- 3 种集成方式 — MCP 服务、Node SDK、REST API
专为合规而打造
- EU AI Act — 人工监督和可审计性要求
- Korea AI Basic Act(2026)— AI 决策文档记录要求
- SOC 2 — 审计轨迹证据生成
快速开始
选项 1:npm SDK(推荐)
npm install cronozen
import { Cronozen } from 'cronozen';
const client = new Cronozen({
apiKey: 'your-api-key',
baseUrl: 'https://api.cronozen.com',
});
// Record an AI decision
const decision = await client.decision.record({
type: 'ai_decision',
actor: { id: 'agent-1', type: 'ai', name: 'credit-risk-agent' },
action: {
type: 'APPROVE_LOAN',
description: 'AI evaluated credit risk for application #1234',
output: { result: 'approved_with_conditions' },
},
aiContext: { model: 'claude-opus-5', reasoning: 'DTI within policy; no adverse history' },
metadata: { domain: 'loan-approval' },
});
// Verify integrity — recomputes the hash chain from the stored record
const verification = await client.decision.verify(decision.evidence.id);
console.log(verification.verified); // true
console.log(verification.checks.chainHash.contentBound); // true — the outcome is bound by the hash
console.log(verification.limitations); // what this proof does NOT cover
选项 2:MCP 服务(适用于 AI 客户端)
连接 Claude Desktop、Cursor 或任何兼容 MCP 的客户端:
{
"mcpServers": {
"cronozen-proof": {
"url": "https://mcp.cronozen.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
或通过 Smithery 安装:
smithery mcp add cronozen/proof
可用的 MCP 工具:
| 工具 | 描述 |
|---|---|
proof_record | 使用 SHA-256 哈希链记录 AI 决策 |
proof_verify | 验证证明记录的加密完整性 |
proof_chain_verify | 验证整个域的哈希链 |
proof_get | 获取完整详情的证明 |
proof_export_jsonld | 导出为 JSON-LD v2.0 证据文档 |
proof_public_verify | 公开验证(无需身份验证) |
端点说明。 MCP 服务的目标是 Cronozen decision-proof API(
/api/dpu/*、/api/proof/*),通过CRONOZEN_API_URL设置。它与本仓库中的独立 proof API(api-server,提供/decision-events、/evidence/:id和/verify/:id)是不同的接口。请将CRONOZEN_API_URL指向前者;上方的 SDK 和 REST 示例使用后者。
选项 3:DPU Core(可自托管库)
如需最大程度的控制,可直接使用核心哈希链库:
npm install @cronozen/dpu-core
import { computeChainHash, createDPUEnvelope } from '@cronozen/dpu-core';
// Create a hash chain link
const hash = computeChainHash(content, previousHash, timestamp);
// Create a full DPU envelope
const envelope = createDPUEnvelope({ content, previousHash, timestamp });
零依赖。纯加密函数。可在任何地方运行。
软件包
这个 monorepo 包含开源的 Cronozen Proof 生态系统:
| 软件包 | npm | 描述 |
|---|---|---|
@cronozen/dpu-core | 核心哈希链引擎——零依赖,纯加密 | |
@cronozen/dp-schema-public | 共享类型、枚举、JSON-LD 架构定义 | |
cronozen | 高级 SDK — decision.record() / decision.verify() | |
@cronozen/mcp-server | — | 用于集成 AI 客户端的 MCP 服务 |
架构
Your Application / AI Agent
│
├─── cronozen SDK ──────► Cronozen Cloud API
│ (npm install cronozen) │
│ ▼
├─── MCP Server ────────► Decision Proof Store
│ (Streamable HTTP) │
│ ▼
└─── @cronozen/dpu-core ─► SHA-256 Hash Chain
(self-hosted) │
▼
Tamper-evident Evidence
(JSON-LD v2.0 export)
哈希链:每条决策记录都包含一个 SHA-256 哈希,该哈希根据记录内容、上一条记录的哈希和时间戳计算得出。这会形成一条仅可追加的链——篡改任何记录都会导致其后所有记录的链校验失败。
哈希覆盖整条记录:参与者、操作、输入和输出、AI 模型和推理过程、时间戳以及链中的位置。审批发生在记录写入之后,因此会由单独的密封哈希进行绑定,该哈希包含原始链哈希——更改审批者或审批结果也会导致验证失败。
这能证明什么——不能证明什么
所有套餐均可免费验证,且无需账户。GET /verify/:id 会返回实际执行的检查以及 limitations 列表。请同时查看这两项。
已实现
| 检查项 | 可检测的问题 |
|---|---|
| 重新计算链哈希 | 记录写入后发生的任何修改——参与者、操作、输入、输出、AI 推理、时间戳 |
| 链路校验(双向) | 记录被删除或重新排序;后继记录被改写为指向其他位置 |
| 密封哈希 | 密封后审批者、审批结果或密封时间发生更改 |
| 服务器签名(Ed25519) | 有数据库写入权限但没有签名密钥的人伪造记录 |
尚未实现——如实说明
| 状态 | |
|---|---|
| RFC 3161 可信时间戳 | **尚未实现。**时间戳由服务器声明,未经过第三方证明。若只发送请求,却不验证 TSA 证书链、签名和 nonce,这种不完整的实现还不如没有,因此我们不会发布这种实现。API 会报告 trustedTimestamp: not_implemented。 |
| 外部锚定 | **尚未实现。**目前,服务器读取自己的数据库并回答“内容匹配”。这是内部一致性,不是第三方证明。 |
| 尾部截断检测 | **没有锚定就无法实现。**删除中间的记录会留下链扫描可报告的缺口。删除最近的记录后,链仍然连续,验证也仍会通过。数据库内部没有任何信息可以证明其链尾之后曾经存在过记录。 |
| C2PA / W3C VC 导出 | **尚未实现。**设计与其兼容,但导出器尚不存在。 |
旧记录
在载荷扩展之前写入的记录会报告 contentBound: false。对于这些记录,verified: true 仅表示事件类型、操作类型和参与者未发生更改——结果和审批字段不受哈希保护。在这种情况下,API 会在 limitations 中明确添加警告。
部署范围标志
API 包含三个默认关闭的功能组。它们由开关控制,并未移除——每项功能只有经过单独审查后才会启用。
| 环境变量 | 默认值 | 控制项 | 仅在以下条件满足后启用 |
|---|---|---|---|
PROOF_ENABLE_FILES | false | POST /files/upload、GET /files | 已确定存储卷容量和保留策略——上传文件会保存到机器的本地磁盘 |
PROOF_ENABLE_DRIVE | false | /integrations/google-drive/*、POST /webhooks/google-drive | webhook 已启用签名验证,且 OAuth 令牌已加密存储(目前以明文存储) |
PROOF_ENABLE_QUOTA | false | /decision-events 和 /files 上的配额中间件 | 你打算强制执行套餐限制——proof_free 的上限为 100 条事件,因此启用后可能会拒绝已超过上限的租户写入 |
设置这些开关的原因:已部署的镜像落后于 main,因此这些路由实际上从未在生产环境中运行过。发布验证引擎会一次性启用全部三项功能,其中包括一个未经身份验证的公开 webhook,且从未有人审查过。通过开关控制,可以确保已部署的功能范围与此前上线的内容完全一致,同时增加验证端点。
服务端签名密钥
使用服务端签名后,验证会显著增强:没有签名时,重新计算哈希无法阻止任何能写入数据库的人篡改记录并重新计算其哈希。使用签名后,伪造记录就需要签名密钥。
npm run keygen --workspace=api-server # prints PROOF_SIGNING_PRIVATE_KEY and the public key
⚠️ 请在首次部署写入 v3 记录之前设置密钥。 未配置密钥时写入的记录没有签名;之后配置密钥后,这些记录会显示 serverSignature: missing,并且将永久无法通过验证。不会进行回填——事后无法添加签名,除非重新签署历史记录,而这会违背签名的初衷。
请分发公钥(也可通过 /verify/public-key 获取),以便第三方无需信任此服务的响应即可进行验证。
账本存放位置
托管 API 运行在 Fly.io 的东京(nrt)。Fly 没有韩国区域,因此通过 api.cronozen.com 记录的证据会存储在日本。记录可能包含参与者姓名、操作输入和输出、AI 推理内容以及审批者姓名——评估跨境存储要求时,应将其视为客户运营数据。
这是经过审慎权衡后的选择(单台机器搭配 SQLite 卷,操作简单),如果客户有要求在境内存储的审计需求,我们会重新评估。自行托管即可彻底消除这一问题:Docker 镜像可在任何地方运行。
自行托管部署
Docker
cd mcp-server
docker build -t cronozen-mcp .
docker run -p 3100:3100 \
-e CRONOZEN_API_URL=https://mcp.cronozen.com \
-e CRONOZEN_API_TOKEN=your-token \
cronozen-mcp
从源代码构建
git clone https://github.com/cronozen/proof.git
cd proof/mcp-server
npm install
cp .env.example .env # Configure your API endpoint
npm run dev
Cronozen Cloud
不想自行托管?Cronozen Cloud 会为你处理托管、安全、备份和更新。
| 自行托管 | Cloud Pro | Cloud Business | Enterprise | |
|---|---|---|---|---|
| 价格 | 免费 | $99/mo | $299/mo | 自定义 |
| 事件数 | 不限 | 1,000/mo | 不限 | 不限 |
| 源代码 | 完全访问 | — | — | — |
| 支持 | 社区 | 电子邮件 | 优先支持 | 专属支持 |
| SSO | — | — | ✓ | ✓ |
| SLA | — | — | 99.9% | 自定义 |
| 本地部署 | ✓(自行部署) | — | — | ✓(托管) |
工作原理
- 记录 — 你的应用发送一条决策事件(领域、用途、操作、证据级别)
- 链式关联 — 使用 SHA-256 对事件进行哈希,并与上一条记录关联
- 验证 — 任何人都可以在无需身份验证的情况下验证单条记录(
GET /verify/:id)。整条链的验证需要身份验证,并按租户范围限定,因为响应会指出链所属的领域。 - 导出 — 为审计人员生成 JSON-LD v2.0 证据文档
Genesis ──► Record #1 ──► Record #2 ──► Record #3
│ │ │ │
hash₀ hash₁ hash₂ hash₃
│ │ │
SHA-256( SHA-256( SHA-256(
content₁, content₂, content₃,
hash₀, hash₁, hash₂,
timestamp₁) timestamp₂) timestamp₃)
使用场景
- AI Agent 审计追踪 — 追踪 AI Agent 在生产环境中做出的每一项决策
- 合规文档 — 自动生成防篡改证据,满足 SOC2、EU AI Act 和 Korea AI Basic Act 的要求
- 决策溯源 — 通过加密证明回答“AI 为什么会这样做?”
- 人在回路证据 — 将人工审批或拒绝与 AI 决策一同记录
- 结算证明 — 为金融交易和审批提供仅追加、可验证的记录
贡献
欢迎贡献!请参阅 CONTRIBUTING.md 了解相关指南。
git clone https://github.com/cronozen/proof.git
cd mcp-server
npm install
npm run build
许可证
Apache-2.0 — 详情请参阅 LICENSE。
Cronozen Proof Enterprise(治理、合规引擎、高级链验证)采用商业许可证提供。联系我们 →
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。