fix(security): require a fresh PIN or biometric check for sensitive actions
An unlocked phone was enough to read the 24-word recovery phrase. The phrase, backup export and import, the duress PIN, a longer auto-lock, turning off screen security, enabling biometrics and deleting the account now ask for the PIN (or biometrics with biometricOnly) every time. The duress session never shows the phrase. PIN checks outside the lock screen count towards the same failure throttle.
This commit is contained in:
+27
-1
@@ -486,5 +486,31 @@
|
||||
"profilePhotoPick": "Выбрать фото",
|
||||
"profilePhotoRemove": "Удалить фото",
|
||||
"profilePhotoHint": "Фото увидят только ваши собеседники — зашифровано, как и сообщения. Геоданные и метаданные не отправляются.",
|
||||
"profilePhotoFailed": "Не удалось установить фото: {error}"
|
||||
"profilePhotoFailed": "Не удалось установить фото: {error}",
|
||||
"reauthTitle": "Подтвердите, что это вы",
|
||||
"reauthPinRequired": "Для этого действия нужен PIN-код. Сначала задайте его.",
|
||||
"reauthSetPin": "Задать PIN",
|
||||
"reauthReasonSeed": "Показать 24 слова для восстановления",
|
||||
"reauthReasonBackupExport": "Экспорт резервной копии",
|
||||
"reauthReasonBackupImport": "Восстановление из резервной копии",
|
||||
"reauthReasonDecoyPin": "Изменение PIN-кода под принуждением",
|
||||
"reauthReasonAutoLock": "Увеличение времени автоблокировки",
|
||||
"reauthReasonScreenSecurity": "Отключение защиты экрана",
|
||||
"reauthReasonDeleteAccount": "Удаление аккаунта и всех данных",
|
||||
"reauthReasonBiometrics": "Включение биометрии",
|
||||
"contactRequestName": "{name} (неизвестный)",
|
||||
"pushMessageRequest": "Запрос на переписку от неизвестного отправителя",
|
||||
"requestTitle": "Запрос на переписку",
|
||||
"requestBody": "«{name}» нет в ваших контактах. Имя и фото отправитель выбрал сам, поэтому это может быть не тот, за кого он себя выдаёт. Пока вы не примете запрос, он не увидит, что вы прочитали сообщение, и не сможет вам позвонить.",
|
||||
"requestLookalikeWarning": "Осторожно: так же зовут ваш контакт {name}. Это другой ключ, то есть другой телефон или другой человек. Прежде чем отвечать, проверьте это другим способом (позвоните, встретьтесь).",
|
||||
"requestAccept": "Принять",
|
||||
"requestAcceptTitle": "Принять как контакт",
|
||||
"requestAcceptBody": "Назовите контакт сами. Имя, выбранное отправителем, автоматически не используется.",
|
||||
"requestAcceptNameLabel": "Имя контакта",
|
||||
"requestNameEmpty": "Введите имя.",
|
||||
"requestNameTaken": "Так (или почти так) уже называется другой контакт. Выберите имя, которое нельзя перепутать.",
|
||||
"noticeIdentityChanged": "Код безопасности контакта {name} изменился. По его адресу появился другой ключ: новый телефон, переустановка или подделка. Подтверждение отменено. Прежде чем отправлять что-то важное, сверьте код заново.",
|
||||
"noticeLookalikeRequest": "Неизвестный отправитель назвался «{claimed}», что похоже на ваш контакт {name}. Это не он: сообщение пришло с другого ключа. Оно в чатах как запрос на переписку.",
|
||||
"noticeVerifyAction": "Проверить код",
|
||||
"noticePreview": "Предупреждение безопасности"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user