@zanii/attest
v0.1.1
Published
Bind which code was running to a receipt: an Attestation claim + attestation_hash provenance field, with quote verification delegated to an injected platform verifier (SGX/Nitro/TPM). Honest by default — no verifier means quote NOT verified.
Readme
@zanii/attest
Bind which code was running to a receipt. Zanii proves what an agent did, never which code
did it. runtime_hash is the software-level down payment; hardware attestation (a TEE:
SGX/Nitro/TPM) is the full close.
This ships the honest, safe half: an Attestation claim + an attestationHash you attach to
a receipt as an additive provenance field, and a verifyAttestation that checks structure and
delegates quote verification to an injected verifier — because verifying an SGX/Nitro/TPM
quote is per-platform and infra-heavy, and we do not pretend to do it generically. With no
verifier, quoteVerified is null (unknown), never a false claim of "verified".
npm install @zanii/attest @zanii/coreimport { attestationField, verifyAttestation } from '@zanii/attest';
const att = { v: 1, platform: 'sgx', measurement: 'mrenclave:...', attestedAt: ts };
const payload = { ...actionPayload, ...attestationField(att) }; // additive provenance
const check = await verifyAttestation(att, { verifyQuote: sgx.verifyQuote }); // you inject the verifier
check.ok; // structural && quote not disproven
check.quoteVerified; // true | false | null (null = no verifier supplied)Changelog
- 0.1.0 — initial release:
Attestation,attestationHash,attestationField,verifyAttestation(injectedQuoteVerifier).
License
Apache-2.0.
