Choose a surface by deployment and command needs while keeping same-origin provenance and profile-specific resource limits visible.
Working method
- Use Playground for zero-install evaluation, public WASM for browser embedding, npm for Node evaluation plus authenticated Vouch verify, inspect, and replay, and Native for signed issuance, current verifier re-execution, and the local decision gate.
- Pin package or binary identity in automation rather than relying on a mutable latest channel.
- Test the resource profile you deploy; equal language semantics do not imply equal recursion ceilings.
- Native and npm expose the same exact identities, policy create/check, and raw/unpinned/pinned authentication through shared Rust. Native alone can issue and consume request-bound evidence for re-execution or gate; public WASM and Playground expose no Vouch identity, authentication, or policy tooling.
Runtime capabilities
| Surface | Available | Not available |
|---|---|---|
| Native | evaluation; identities; policy create/check; Vouch issue; raw, unpinned, and pinned authentication; request-bound re-execution and local decision gate; inspect | unpinned bundle execution authority; Vouch corpus replay in the namespaced Native CLI |
| npm CLI | evaluation; identities; policy create/check; authenticated raw, unpinned, and pinned Vouch verify; structural inspect; corpus replay | signed issuance, verifier re-execution, local decision gate, live evidence handle, report promotion |
| Public WASM | embedded same-Rust-lineage evaluation APIs | Vouch CLI, key loading, signed authentication, verifier re-execution, local decision gate |
| Playground | zero-install same-Rust-lineage evaluation | Vouch CLI, local artifacts or keys, signed authentication, verifier re-execution, local decision gate |
Boundaries
- None of the native, npm, WASM, or Playground Rust surfaces is an independent backend witness, and unavailable commands must not be simulated or silently downgraded.