Apostille offline verifier (Core 0.1, 0.2 and 0.3)

Serve this folder locally with: python3 -m http.server 8080 --bind 127.0.0.1
Open http://127.0.0.1:8080/ . Browser ES modules require a local HTTP origin.
The verifier makes no API, DNS, RPC, CDN, telemetry or key-directory requests.
Import a Core 0.1, 0.2 or 0.3 bundle or a detached ERC-8004 binding document and a separately obtained issuer/key pin. Embedded keys establish integrity only.
Core 0.1 and Core 0.2 signatures are Ed25519. Core 0.3 signatures are ML-DSA-65 (FIPS 204), a post-quantum algorithm; nothing else in a bundle is post-quantum. The receiver option "Require post-quantum signatures" accepts Core 0.3 only.
Specifications: core-0.1.md, core-0.2.md, core-0.3.md; schemas apostille-0.1.schema.json, apostille-0.2.schema.json, apostille-0.3.schema.json; known-answer vectors test-vectors*.json.
ML-DSA-65 and Ed25519 point arithmetic run in the vendored @noble libraries under vendor/noble (licenses included). The ML-DSA-65 library states that it is not independently audited and does not claim constant-time signing; this verifier only verifies.
ERC-8004 bindings report issuer-checked historical ownership; current ownership and payment authority are not established. See erc8004-binding-0.1.md and erc8004-binding-0.3.md.
The localhost server serves local assets only; no Internet connection is needed.
Use the CLI for an environment without a local browser server.
