diff options
| author | Adam Soltys <[email protected]> | 2026-10-10 22:01:32 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-10-10 22:01:32 -0700 |
| commit | 8b6d2837716aeb04bedbfdd9c00ab9071be63f90 (patch) | |
| tree | 49bd78e742929b85120b66f5813f5844437477b1 /src/i18n.js | |
| parent | e253cbd16d502cd382a6f7632d2851db4ae1a6ae (diff) | |
| download | coinosv3-8b6d2837716aeb04bedbfdd9c00ab9071be63f90.tar.gz coinosv3-8b6d2837716aeb04bedbfdd9c00ab9071be63f90.zip | |
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).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Vps2H27rhbG9ZqseGfMrc3
Diffstat (limited to 'src/i18n.js')
| -rw-r--r-- | src/i18n.js | 12 |
1 files changed, 12 insertions, 0 deletions
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', |
