navigator.credentials.create() and get() JSON, can drive complete
HTTP relying-party registration/login flows, and has explicit interop paths for
Chrome DevTools virtual authenticators. The 0.4.0 dispatcher exposes 28 operational root commands
plus root help/version aliases.
Published contract: monopass 0.4.0, OpenCLIs build
2026-05-27-232315. The executing binary, registry, and public CDN metadata
agree on this release. The table below follows the exact 0.4.0 payload; generic
token storage belongs to OpenCLIs Vault, not to a
monopass cred command in this release.
Quick Start
--service <name> selects a logical store, defaulting to default, and
--json enables structured output where supported. Those two global flags are
filtered wherever they appear in argv. A missing --service value silently
falls back to default, so always supply and verify the intended service.
Store and Integrity Commands
Passkey CRUD
Standard WebAuthn and RP Commands
Assertion and Interop Commands
Parser and Exit Contract
- Help is root-only:
monopass help,-h, or--help. There is no command-specific help branch.monopass init --helpstill runsinitbecause the handler ignores the extra token. - Version aliases are
version,-v, and--version. passkey-createandpasskey-getalways emit standard credential JSON even without the global--jsonflag.- Unknown/invalid arguments and invalid services exit 2; an uninitialized key exits 3; integrity failure exits 5; not-found exits 6; other errors exit 1.
- Service names are 1–64 characters and accept Unicode alphanumerics, hyphen, and underscore. This differs from OpenCLIs Vault’s ASCII-only validator.
Storage and Key Ownership
Each service ownspasskeys.db, where each private P-256 PKCS#8 value is
encrypted with AES-256-GCM and a per-row nonce. A service-specific 32-byte
master key opens those rows.
Backend selection is ordered:
MONOPASS_FORCE_KEYCHAINforces the OS credential store.MONOPASS_FILE_STORAGEforces a user file (intended for debug/CI).- If the stable OpenCLIs helper exists, MonoPass uses the Vault service
monopass-<service>. - Debug builds fall back to file storage; other builds use the OS credential store.
init and whereis
still print the legacy ai.monolex.monopass.<service> identifier even when the
Vault is the active backend; that output is not a backend-selection proof.
Losing the master key makes the encrypted database unrecoverable. Export files
contain plaintext private keys and are a different, much more sensitive backup
boundary.
Published Payload Matrix
There is no Windows ARM64 artifact. Touch ID, Secure Enclave,
se-test, and
webauthn-rp-se-demo are macOS-only even though the general passkey store and
software WebAuthn paths are cross-platform.