Данные для входа
Логин и пароль рядом с профилем
- Логин, пароль, страница, заметка
- Что лежит у профиля
- Никогда
- Уходит на наш сервер
- Закрыт, если система может
- На диске
- Встроенный движок
- Подстановка в окно
Четыре поля у профиля
Двадцать аккаунтов это двадцать строк в таблице, которая лежит где-то ещё, и ходьба за ней самая долгая часть дня. Здесь пара лежит у того профиля, который ею и пользуется, рядом с его ключом одноразовых кодов.
У профиля с сохранённой парой появляется небольшая пометка на плитке в списке. По ней сразу видно, какие аккаунты всё ещё живут в чужой таблице.
Логин
Имя, почта или телефон, на которые отзывается аккаунт. Перевод строки вырезается: он ломает и форму, и вид в списке.
Пароль
Сохраняется ровно как набран, вместе с пробелами по краям. Подчистить их значит молча сломать вход.
Страница входа
Адрес, куда вы идёте. Он обязан начинаться с http или https, а всё остальное отвергается прямо при сохранении.
Заметка
Полфразы, которой больше негде лежать: почта восстановления, продавец, день покупки.
Кому достаётся пароль
Список профилей рисуется без него. На экран уходит признак того, что пароль есть, а не сам пароль.
Само значение приходит отдельным запросом и только по нажатию «показать» или «скопировать». При подстановке оно в окно не приходит вовсе: его читает и пишет в страницу главный процесс.
Пустое поле пароля означает «не трогай». А если настоящий пароль в него загрузили и стёрли, это осознанное «убрать», и только так и получается логин без пароля.
Подстановка в открытое окно
Значение пишет собственный механизм браузера, и страница получает те события ввода и изменения, которых ждёт. Это не нажатие на каждую букву: форма, считающая нажатия, увидит одну запись, а не двенадцать.
Поле пароля выбирается по тому, чем его называет сама форма, а не по порядку. Форма регистрации выше формы входа остаётся со своими полями, и поле поиска наверху страницы тоже.
Подставляется в то окно, на которое вы смотрите, а не в последнее открытое сценарием. Профиль, запущенный без окна, заполняется так же тихо и на экран не вытаскивается.
- Страница с поиском, формой регистрации и формой входа
- Логин и пароль в форме входа, оба события дошли
- Страница с полем поиска и без формы входа
- Ничего не вписано, ничего не отправлено
Замерено прогоном подстановки в настоящем окне браузера на обеих страницах. На странице с одним поиском поле остаётся пустым и ни один запрос подсказки оттуда не уходит.
Честные отказы
Кнопка, которая ничего не делает, хуже кнопки, которая говорит почему. Каждый отказ ниже называет свою причину прямо на экране.
Открыт ARMANOS Browser
Подстановка достаёт только до окна, которое рисует сама программа, а это рисует отдельный процесс. Отказ так и написан, а дальше выручает копирование.
Профиль закрыт
Подставлять некуда, поэтому программа просит сначала открыть профиль.
Ничего не сохранено
У этого профиля пары ещё нет, и об этом говорят прямо, а не отчитываются о подстановке пустоты.
Формы входа нет
На открытой странице нет формы, которую правила принимают, и ни одно поле на ней не трогается.
Где лежит пара
Пароль не лежит в файле профиля текстом. Его закрывает сама система тем же средством, каким хранит остальные ваши пароли, а своего ключа у программы нет.
Ключ, приехавший внутри программы, это не ключ: он есть у каждого, кто её скачал. Поэтому там, где система закрыть не может, значение пишется как набрано и закрытым не выдаётся.
Неоткрывшееся не значит потерянное
Что уезжает и что остаётся
Пока вы в аккаунте, через него ездят настройки профиля: имя, папка, сценарий, шаблон отпечатка, прокси, метки и заметки. Пары среди них нет, и поля, куда её можно было бы записать, на сервере не существует.
С этой машины её увозят две дороги, и обе вы открываете нарочно.
| Дорога с этой машины | Едет ли пара |
|---|---|
| Настройки через ваш аккаунт | Нет, и напарник открывает общий профиль без неё |
| Файл переноса на второй компьютер | Да, внутри файла, закрытого вашим же паролем |
| Папка, которую синхронизирует ваше облако | Да, тот же закрытый файл той же дорогой |
| Выгрузка настроек в обычный файл | Только если выбрать «включить»: программа спрашивает, и по умолчанию пара остаётся дома |
| Дублирование профиля | Нет, копия заводится без своей пары |
Чего это не делает
- Это не хранилище паролей. Одна пара на профиль, без общего сейфа, без поиска по аккаунтам, без придумывания паролей и без места для запасных кодов, которые выдаёт сайт.
- Подстановка в окно работает только на встроенном движке, а поставляемые сборки стартуют на ARMANOS Browser, то есть это исключение, а не обычный случай. Кнопка отказывает, называет причину, и дальше выручает копирование.
- Сохранённая страница входа это заметка и ничего больше. Сама она не открывается, и подстановка не сверяет, какую страницу заполняет.
- Копирование кладёт пароль в буфер обмена и там его оставляет. Буфер читает любая программа этого компьютера, а очищать его программа не умеет.
- Закрытие держится на связке ключей системы. На рабочем столе Linux без службы ключей закрывать нечем, поэтому пара ложится как набрана, а защитой там остаются права «только для владельца» на файле.
Как проверить
Каждое утверждение выше лежит в одном файле. Два стенда ниже исполняют продукт, два других читают исходник.
- Ни один запрос с настройками профиля не везёт пару, а список доходит до окна без пароля
- apps/desktop/src/main/main.js · apps/desktop/test/login-stays-local.js
- Подстановка выбирает форму входа, и страница видит настоящий ввод: замерено в живом браузере
- apps/desktop/test/login-stays-local.js
- Пароль на диске закрыт средствами системы, а неоткрывшееся значение не стирается
- apps/desktop/src/lib/profiles.js · apps/desktop/test/login-in-keychain.js
- Заполняются только рамки того же сайта
- apps/desktop/src/main/main.js · apps/desktop/test/подстановка-входа-в-свои-рамки.js
Вопросы
- Доезжает ли пара до вашего сервера?
- Нет. Пока вы в аккаунте, через него ездят настройки профиля, а пары среди них нет.
- Чем пароль открывается на этом компьютере?
- Самой системой, тем же средством, каким она держит остальные ваши пароли. Своего ключа у программы нет, а там, где система закрыть не может, значение пишется как набрано.
- Может ли страница схватить значение при подстановке?
- В главном документе запись идёт в отдельном мире, где страница не может подменить то, что пишет в поле. На сборке без отдельных миров она откатывается в мир самой страницы, а внутри рамки идёт там всегда, и трогаются только рамки того же сайта.
- Почему первое поле пароля пропускается?
- Потому что первое обычно принадлежит регистрации. Подстановка читает, чем форма называет каждое поле, предпочитает помеченное как текущий пароль и не трогает пару одинаковых новых полей.
- Есть ли главный пароль у самой программы?
- Нет. Программу откроет любой, кто уже вошёл в этот компьютер, поэтому настоящая граница здесь ваша собственная учётная запись на машине.
Держите логин там, где аккаунт
Поставьте ARMANOS, сохраните пару у того профиля, который ею пользуется, и подставьте её в открытую форму.