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.
- package/README.md +30 -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
|
|
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
|
|
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.
|
|
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",
|