aqta-verify-receipt 1.2.1 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +30 -2
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -135,13 +135,41 @@ Default: `https://app.aqta.ai/security/pubkey.txt`. Same material as
135
135
 
136
136
  ## Test vectors
137
137
 
138
- Conformance suite (6 valid + 8 invalid):
138
+ Conformance suite, covering receipts, agent action records and transparency proofs:
139
139
  [`test-vectors/`](https://github.com/Aqta-ai/attestation-spec/tree/main/test-vectors).
140
140
 
141
+ ## Transparency proofs
142
+
143
+ A receipt signature answers what the issuer asserted. It cannot answer whether
144
+ that entry is in the issuer's log, or whether the log has only ever grown.
145
+ Those are different questions, so they get a different command.
146
+
147
+ ```bash
148
+ npx -p aqta-verify-receipt aqta-verify-proof inclusion.json
149
+ npx -p aqta-verify-receipt aqta-verify-proof consistency.json
150
+ npx -p aqta-verify-receipt aqta-verify-proof sth.json --key <pinned>
151
+ ```
152
+
153
+ RFC 6962 inclusion and consistency verification, plus the signed-tree-head
154
+ signature. Written separately in TypeScript and Python rather than ported, and
155
+ checked against the transparency vectors in the repository. Adds no dependency:
156
+ hashing uses the runtime.
157
+
158
+ ```ts
159
+ import { verifyInclusionProof, verifyConsistencyProof } from 'aqta-verify-receipt';
160
+
161
+ const result = verifyInclusionProof(proof);
162
+ if (!result.valid) throw new Error(result.reason);
163
+ ```
164
+
165
+ An inclusion proof establishes that what you were shown is genuinely in the
166
+ log. It does not establish that what you were **not** shown is irrelevant.
167
+ That is omission, and it is open.
168
+
141
169
  ## What this is not
142
170
 
143
171
  Not a governance dashboard. Not a cost router. Not a chain explorer.
144
- A small verifier for one signed model-call receipt. The novel part is the
172
+ A small verifier for signed decision records and the log proofs that accompany them. The novel part is the
145
173
  receipt format and offline verification model, not ASCII theatre.
146
174
 
147
175
  ## Security
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aqta-verify-receipt",
3
- "version": "1.2.1",
3
+ "version": "1.2.2",
4
4
  "description": "Offline CLI and library for Seal records: ATTESTATION-v1 for what an AI decided, ACTION-v1 for what an agent was allowed to do, refusals included. Ed25519, checked against a published key with no account and no Aqta server.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",