@kashscript/attest
v0.1.2
Published
The Evidence Commons — JCS + Ed25519, DSSE/PAE envelopes, a canonical DST registry, Rekor/OpenTimestamps witnessing, hash-chains, a standalone verifier CLI, and offline compat verifiers for the KashScript ecosystem's signed artifacts. Apache-2.0 — verific
Readme
@kashscript/attest — the Evidence Commons
Verification is free. Apache-2.0. The base every other KashScript protocol signs with.
One package that signs, canonicalizes, witnesses, hash-chains, and verifies the three signing families the ecosystem uses — plus a standalone CLI and offline compat verifiers for the artifacts the ventures already ship. Built in phase M1 of the protocol Manifestation (ADR-0016); every API is derived from the venture code that seeds it (Oreoasis, Duedale, Indusland), never invented.
The three signing families
| Family | Signed bytes | Used by |
|---|---|---|
| Kash-Event | Ed25519( DST\n ‖ JCS({header,body}) ) (via @kashscript/identity-core) | Duedale kash-report-v1/kash-grant-v1, Oreoasis ledger rows |
| DSSE + PAE | Ed25519( PAE(payloadType, bytes) ) — Sigstore-compatible | Oreoasis audit bundles |
| Indus token | Ed25519( DST ‖ 0x00 ‖ headerB64u ‖ "." ‖ bodyB64u ) | Indusland IPOE1 / IVFC1 / IBPS1 / IGEO1 |
What's inside
dsse— DSSE envelopes + PAE (signEnvelope/verifyEnvelope).dst— the canonical Domain-Separation-Tag registry (new DSTs are registered here first).chain— RFC-8785 canonicalization +chainBlockHash+sha256Hexhash-chain helpers.witness— Rekor (primary) → OpenTimestamps (fallback) → offlinenone; anchor Merkle root; receipt store. Never throws.ledger— verify a signed action-ledger row + the forensic chain scan (forensicConsistencyScan).bundle— verify a DSSE audit bundle end to end (signature + chain + anchor).compat— verify shipped venture formats: the Duedale Every-Rupee report and Indus tokens.ed25519— raw Ed25519 over arbitrary bytes (WebCrypto; the layer identity-core doesn't expose).
The verifier CLI
attest verify <file> [--key <hex|host-key.txt|jwks.json>] [--signer-did <did>] [--offline]Auto-detects and verifies offline a DSSE audit bundle, an Every-Rupee report, or an Indus
token. Exit codes: 0 PASS · 1 verification FAILED (tamper) · 2 usage/IO. Public-log
inclusion (rekor-cli / ots verify) is delegated and printed as next-steps.
Status
0.x — the API stays 0.x until each venture consumer swaps onto the published package and stays
green (consumer-as-acceptance, ADR-0016). The write-side action ledger lands in @kashscript/hudhud
(M5); issuance policy, storage adapters, and JWKS hosting stay venture-side.
Licensed Apache-2.0 — see LICENSE.
