0xsarwagya/clinical-receipt
GitHub: 0xsarwagya/clinical-receipt
一个用于记录和离线验证临床 AI 输出产生全过程的便携式签名回执库。
Stars: 0 | Forks: 0
# clinical-receipt
便携式、可独立验证的回执,记录临床 AI 输出结果的产生过程。
一个 TypeScript 库,用于记录 AI 生成的临床输出背后的输入、证据、提示词、模型、工具、安全护栏以及人类决策——然后对其进行提交、签名,并允许任何人离线验证该记录。
该包能够证明已提交的记录未被篡改。它无法证明原始记录的真实性。这一区别是刻意为之的;它体现在文档、报告和规范中。
## 它不是什么
不是区块链。不是托管服务。不是合规产品。不是 LLM 可观测性仪表板。不能替代临床验证。
## 安装
```
npm install @0xsarwagya/clinical-receipt
```
Node ≥ 20(支持 Ed25519 的 Web Crypto)。
## 用法
```
import { createReceipt, createEd25519Signer } from "@0xsarwagya/clinical-receipt";
const run = await createReceipt({
workflow: { id: "discharge-review", version: "2.1.0" },
});
await run.input.observed({ value: patientBundle });
await run.evidence.retrieved({
value: { chunk: "guideline text", rank: 1 },
mode: "reference",
ref: { uri: "guidelines://hf/2026", version: "2026-06-14" },
});
await run.prompt.rendered({ value: renderedPrompt });
await run.model.responded({ value: modelOutput });
await run.guardrail.evaluated({ value: { policy, result: "passed" } });
await run.humanReview.completed({ value: reviewRecord });
await run.output.committed({ value: finalOutput });
const signer = await createEd25519Signer({ generate: true });
const receipt = await run.finalize({ signer });
```
在任何地方验证:
```
import { verifyReceipt, importVerificationKey } from "@0xsarwagya/clinical-receipt/verify";
const key = await importVerificationKey(publicJwk);
const report = await verifyReceipt(receipt, { keys: [key] });
// report.ok, report.integrity, report.signatures, report.warnings, ...
```
## FHIR
自 v0.2 版起,封装你的 FHIR 访问,以提交 AI 看到的确切资源版本:
```
import { instrumentFHIRFetch, verifyFHIR } from "@0xsarwagya/clinical-receipt/fhir";
const fhirFetch = instrumentFHIRFetch(globalThis.fetch, {
run,
baseUrl: "https://hapi.fhir.org/baseR4",
});
const patient = await fhirFetch(`${BASE}/Patient/123`).then((r) => r.json());
// reads, searches, and writes are now part of the receipt.
```
`org.hl7.fhir` 扩展的传输格式被固定在 [`spec/1.0/fhir.md`](./spec/1.0/fhir.md) 中;向量位于 [`spec/1.0/vectors/fhir-*.json`](./spec/1.0/vectors/) 下。
## CLI
```
clinical-receipt verify receipt.json
clinical-receipt verify --disclosure package.json --key public.jwk
clinical-receipt inspect receipt.json
clinical-receipt disclose receipt.json --event output.* --out share.json
```
退出码:0 正常,1 验证失败,2 用法或 IO 错误。
## 规范
传输格式是一个版本化的规范,而不是实现细节。每一项字节级规则都位于 [`spec/1.0/`](./spec/1.0/) 中。[`spec/1.0/vectors/`](./spec/1.0/vectors/) 中的测试向量针对规范化、承诺、树结构、标头叶子和完整回执进行了字节级固定;签名仅在验证方向上固定(WebKit 对 Ed25519 采取了对冲策略)。
任何使用规范 1.0 的实现——无论使用何种语言——都必须验证这些向量。
## 许可证
Apache-2.0。这是基础设施,其专利授权至关重要。
标签:CVE, FHIR, LLM溯源, MITM代理, TypeScript, Zenmap, 临床AI, 医疗AI, 可追溯性, 安全插件, 数字签名, 数据完整性, 自动化攻击