aboutsummaryrefslogtreecommitdiffstats
path: root/src/i18n.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-10-10 22:01:32 -0700
committerAdam Soltys <[email protected]>2026-10-10 22:01:32 -0700
commit8b6d2837716aeb04bedbfdd9c00ab9071be63f90 (patch)
tree49bd78e742929b85120b66f5813f5844437477b1 /src/i18n.js
parente253cbd16d502cd382a6f7632d2851db4ae1a6ae (diff)
downloadcoinosv3-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.js12
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',