confium-wasm
Browser / Node.js verifier package for Confium. WASM-bindgen surface, verifier-only by design.
Design principle: browsers verify, servers sign. This crate exposes only the operations that a browser-side consumer needs to validate signatures, certificates, CMS envelopes, composite signatures, and transparency proofs. Signing, threshold session participation, and PKCS#11/OpenSSL provider dispatch all stay server-side — they have no place in a browser context.
What's inside
| Module | What it verifies |
|---|---|
CompositeSignature |
PQ-migration composite signatures (Ed25519 + future ML-DSA-65). |
MerkleTree, InclusionProof |
RFC 6962 transparency log proofs. |
Predicate |
Attribute-based threshold policy DSL. |
Usage (from JS/TS)
import init from "@confium/confium-wasm";
await ;
const sig = ;
const ok = sig.; // -> { all_verified: bool, per_component: [...] }
Crate features
Each verify-* feature gates a verifier subtree so consumers can
tree-shake. All are on by default for out-of-the-box ergonomics.
| Feature | Gates |
|---|---|
verify-composite |
CompositeSignature |
verify-transparency |
MerkleTree, InclusionProof |
verify-attributes |
Predicate |
Building
Output lands in crates/confium-wasm/pkg/, ready for npm publish as
@confium/confium-wasm.
License
BSD-2-Clause, same as the rest of the Confium workspace.