Diagnose the failing boundary.
Select the runtime and symptom. Voided gives you the smallest relevant command sequence and the evidence worth including.
Run the focused checks.
Choose the failing boundary. Copy and run the generated commands from the repository root.
Include versions, platform, exact public error, and a minimal reproduction.
Remove plaintext, keys, deck order, roots, environments, customer data, and crash memory.
Start with the boundary.
Identify whether the package, backend, artifact, key, or application lifecycle owns the failure before changing code.
- WASM will not load
- Configure the exact artifact URL before first use. Confirm the packaged manifest and binary travel together. Voided deliberately refuses a silent TypeScript replacement for Fuse or Recovery Deck.
- Native module rejected
- Run
verify:release:current. Confirm OS, architecture, C library, Node version, manifest hash, package version, and build ID all match. - Artifact will not open
- Do not “repair” bytes. Confirm the complete artifact, expected key, and package line. Wrong keys, tampering, truncation, non-canonical fields, and unsupported versions must fail.
- Recovery fails
- Validate exactly 52 canonical cards with no duplicates. Confirm the exact physical order and wrapper pair. Do not log the deck or derived key while debugging.
- Compression is absent
- Browser high-level encryption leaves compression off by default. Opt in only when the whole plaintext shares one trust boundary.
- Cross-tab key race
- Keep one lifecycle writer per key ID. Add an application-owned transactional lock around concurrent rotation, import, migration, replacement, or deletion.
Tested platforms.
Targets outside this matrix should build from tagged source and pass the release checks before production use.
Current releases; browser WASM and stateful client path.
Current releases; browser WASM and stateful client path.
Not a Voided 1.0 release gate.
CJS and ESM package entry points.
Verified native prebuild.
glibc 2.34 or newer; packed runtime smoke passed on glibc 2.39.
Hash and provenance verified; real Windows execution is pending.
Feature selection depends on target and required primitives.
Send it to the right place.
A public integration failure, a private vulnerability, and a release-status question need different evidence and different channels.
No secrets. Include the minimal reproduction and command output.
PRIVATE ADVISORYSecurity vulnerabilityUse the private channel before disclosing exploitable detail.
RELEASE STATECurrent gates and changesThe factual release ledger lives on Updates, not Support.
IMPLEMENTATIONAPI and runtime guidanceUse the Developer page when the system is behaving as designed but the integration choice is unclear.