@typedstandards/verify-core 0.6.0 → 0.6.1
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/CHANGELOG.md +52 -0
- package/README.md +22 -11
- package/package.json +2 -1
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Changelog — @typedstandards/verify-core
|
|
2
|
+
|
|
3
|
+
Factual record of what changed per published version. Check numbers (#1–#15)
|
|
4
|
+
refer to the Typed Standards specification §9.2 verification sequence. Issue
|
|
5
|
+
references are to `npstorey/civic-ai-tools-website` (#119 is the offline-crypto
|
|
6
|
+
hardening arc; #116 is the standalone-verifier arc this package was extracted
|
|
7
|
+
in).
|
|
8
|
+
|
|
9
|
+
## 0.6.1 — 2026-06-10
|
|
10
|
+
|
|
11
|
+
- Documentation only; no code changes. Corrects the README's stale "Check
|
|
12
|
+
depth (v1)" section — checks #7/#8/#10 have run at full cryptographic depth
|
|
13
|
+
since 0.2.0–0.6.0, not presence/hash-parity/state depth as previously
|
|
14
|
+
described. Adds this changelog.
|
|
15
|
+
|
|
16
|
+
## 0.6.0 — 2026-06-07
|
|
17
|
+
|
|
18
|
+
- #7 hardening: strict RFC 5280 certificate-chain validation (#119 P4).
|
|
19
|
+
- Shared `parseInclusionProof` guard for #8 consumers (#119 P4).
|
|
20
|
+
|
|
21
|
+
## 0.5.0 — 2026-06-07
|
|
22
|
+
|
|
23
|
+
- #10 at full depth: independent verification of the signed lifecycle
|
|
24
|
+
attestation chain, including reachability from the package node, replacing
|
|
25
|
+
host-reported state (#119 P3).
|
|
26
|
+
|
|
27
|
+
## 0.4.0 — 2026-06-07
|
|
28
|
+
|
|
29
|
+
- #7 deepened: TSA certificate-chain verification to a pinned FreeTSA root;
|
|
30
|
+
token `genTime` surfaced to check #5 (#119 P2b).
|
|
31
|
+
|
|
32
|
+
## 0.3.1 — 2026-06-07
|
|
33
|
+
|
|
34
|
+
- Fix: accept high-S ECDSA signatures (`lowS: false`) from third-party
|
|
35
|
+
signers.
|
|
36
|
+
|
|
37
|
+
## 0.3.0 — 2026-06-07
|
|
38
|
+
|
|
39
|
+
- #7 at cryptographic depth: RFC 3161 token parsing, message-imprint match,
|
|
40
|
+
and TSA signature verification, FreeTSA profile (#119 P2a).
|
|
41
|
+
|
|
42
|
+
## 0.2.0 — 2026-06-06
|
|
43
|
+
|
|
44
|
+
- #8 at cryptographic depth: Rekor Merkle inclusion-proof verification from
|
|
45
|
+
the carried proof, against Rekor's pinned public key; carried-offline
|
|
46
|
+
integration test (#119 P1).
|
|
47
|
+
|
|
48
|
+
## 0.1.0 — 2026-06-05
|
|
49
|
+
|
|
50
|
+
- Initial release (#116 WS2/WS3): the spec §9.2 check suite, browser-safe (no
|
|
51
|
+
Node built-ins). #7 at presence depth, #8 at hash-parity depth, #10 at state
|
|
52
|
+
depth; all other checks fully client-side.
|
package/README.md
CHANGED
|
@@ -66,17 +66,28 @@ The barrel (`.`) also exports the individual check functions
|
|
|
66
66
|
`computeContentHashSha256`), and every status vocabulary type — so a consumer can
|
|
67
67
|
drive the checks one-at-a-time and render the math as it resolves.
|
|
68
68
|
|
|
69
|
-
## Check depth (
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
69
|
+
## Check depth (v0.6.x)
|
|
70
|
+
|
|
71
|
+
Every check in the spec §9.2 sequence runs fully client-side, including the three
|
|
72
|
+
that shipped at reduced depth in v0.1:
|
|
73
|
+
|
|
74
|
+
- **#7 RFC 3161 timestamp** — full cryptographic verification: token parsing,
|
|
75
|
+
message-imprint match, TSA signature, and certificate-chain validation with
|
|
76
|
+
strict RFC 5280 checks to a pinned root (FreeTSA EC-P384 leaf → RSA-4096
|
|
77
|
+
root).
|
|
78
|
+
- **#8 Rekor transparency log** — cryptographic Merkle inclusion-proof
|
|
79
|
+
verification from the proof carried with the package, against Rekor's pinned
|
|
80
|
+
public key; no live call to Rekor required.
|
|
81
|
+
- **#10 lifecycle** — independent verification of the signed lifecycle
|
|
82
|
+
attestation chain, including reachability from the package node, instead of
|
|
83
|
+
trusting a host-reported state.
|
|
84
|
+
|
|
85
|
+
Verification is offline-first: from a self-contained commitment bundle the full
|
|
86
|
+
sequence runs with zero network access (demonstrated by a hermetic,
|
|
87
|
+
network-blocked test in this monorepo). Trust anchors (the TSA certificate
|
|
88
|
+
chain and the Rekor log public key) ship pinned in the source with capture
|
|
89
|
+
dates and rotation notes. See `CHANGELOG.md` for how each check reached full
|
|
90
|
+
depth across 0.2.0–0.6.0.
|
|
80
91
|
|
|
81
92
|
## License
|
|
82
93
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typedstandards/verify-core",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.1",
|
|
4
4
|
"description": "Portable, browser-safe verification core for Typed Standards evidence packages — the §9.2 check suite, single-sourced so it verifies identically on a server and in the browser.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Nathan Storey",
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
"files": [
|
|
21
21
|
"dist",
|
|
22
22
|
"README.md",
|
|
23
|
+
"CHANGELOG.md",
|
|
23
24
|
"LICENSE"
|
|
24
25
|
],
|
|
25
26
|
"scripts": {
|