From 8b6d2837716aeb04bedbfdd9c00ab9071be63f90 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sat, 10 Oct 2026 22:01:32 -0700 Subject: Lock with fingerprint or face. The padlock's "Protect this device?" now offers a passkey instead of a password, and Settings → Security can turn it on or off. The saved-wallets vault is sealed under a secret only that passkey's PRF produces (behind the phone's fingerprint/face check, the passkey kept by the platform's secure hardware or password manager), so nothing in this browser's storage opens it. Opening the app on a locked device asks for the passkey by itself; a cancel leaves an Unlock button. The prompts that need the vault opened (save, forget, lock a stray wallet) take the passkey too; there's no Change password for a vault that has none; the recovery words remain the way back. The lock passkey has its own PRF salt and a marked user handle, not discoverable where the platform allows — passkey sign-in refuses it rather than derive a stranger's key from it. English + Italian strings. tools/passkey-lock-test.js (Chrome's virtual authenticator with PRF). MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Vps2H27rhbG9ZqseGfMrc3 --- src/i18n.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/i18n.js') diff --git a/src/i18n.js b/src/i18n.js index eaa3fbd..7488821 100644 --- a/src/i18n.js +++ b/src/i18n.js @@ -151,6 +151,18 @@ const STR = { lockPwTitle: 'Protect this device?', lockPwDesc: 'Set a password to lock your wallet. Anyone using this device will need it to spend your money.', lockPwSkip: 'Not now', + passkeyLockBtn: 'Lock with fingerprint or face', + passkeyLockDesc: 'Your saved wallets are encrypted with a passkey kept in your phone’s secure hardware (or your password manager). Opening them takes your fingerprint or face. Your recovery words still restore them if the passkey is ever lost.', + passkeyLockOnNote: 'Locked with your fingerprint or face (a passkey).', + passkeyLockOff: 'Turn off fingerprint lock', + passkeyLockOnToast: 'Fingerprint lock on', + passkeyLockOffToast: 'Fingerprint lock off', + passkeyLockFailed: 'Couldn’t use a passkey here: {msg}', + passkeyUnlock: 'Unlock with fingerprint or face', + passkeyLockedDesc: 'Your wallets are locked on this device. Use your fingerprint or face to open them.', + passkeyEnterDesc: 'Use your fingerprint or face to open the wallets saved on this device.', + passkeyLostHint: 'Lost the passkey? Your recovery words still restore every wallet.', + lockPwOrPassword: 'or set a password:', unlockSaved: 'Unlock saved accounts', unlockSavedDesc: 'Enter your password to open the accounts saved on this device.', unlock: 'Unlock', -- cgit v1.2.3