A signing key with export disabled
WebCrypto keyEach new vault has its own non-extractable P-256 signing key in IndexedDB. WebCrypto blocks private-key export. Same-origin scripts can still use the key; this is not hardware isolation.
Vault Lock protects the owner key for your Echo ID card after setup is verified. Before setup, its legacy owner entry is unencrypted. Claim Proofs and other Echo features use separate keys with separate protections. We describe the scope here so you can make an informed choice.
Each new vault has its own non-extractable P-256 signing key in IndexedDB. WebCrypto blocks private-key export. Same-origin scripts can still use the key; this is not hardware isolation.
Setup encrypts the owner secret with AES-256-GCM and PBKDF2 at 310,000 iterations. It reads back and decrypts the saved record before replacing the original plaintext owner entry. Your existing owner ID is preserved.
The device-key check signs a challenge without decrypting the owner secret. It proves that the stored key works. It does not prove fresh human approval, grant permission, or establish someone's identity.
Compatible browsers can seal the secret using a passkey-derived key. Authenticator verification is required and may use a PIN. Passkeys may sync; this flow does not certify hardware backing or biological presence.
Two ways to lock an Echo ID, each with its own honest ledger. A green column is what the layer genuinely stops. A red column is what it cannot — stated plainly, because a security page that only lists wins is marketing.
We provide no operator reset for this local owner secret. Keep your unlock method and an owner-key backup you control. Browser storage can be cleared or lost. A device-key check does not back up its signing key.
The browser, device and delivered application code remain part of the trust boundary. These protections do not establish immunity from compromise or an independent security audit.
Choose what to protect, retain your recovery options, and verify the specific boundary before relying on it.