1Password

Еще одно разочарование и возврат к 1Password

Это было быстро — меньше недели я попрыгал по разным менеджерам паролей и вернулся обратно на 1Password.

Прошлая серия остановилась на Bitwarden. Я честно пытался им пользоваться — то есть перенес на него все, включил интеграцию, выключил интеграцию браузеров и системы с предшественником. Но, когда начинаешь пользоваться постоянно и оказывается, что даже после настройки привычные операции требуют больше действий, выдерживаешь недолго.

Прежде всего, настройка нужна. Например, по умолчанию десктопное приложение и расширение в браузере — это две сущности, не подозревающие друг о друге. Надо пойти в настройки и включить “browser integration”. Я практически уверен, что найдется человек, которому важно подключить один vault в браузере, а другой на остальном десктопе, но почему это дефолт?

Даже с настройкой — почему после гашения экрана, когда приложение блокирует базу, оно не может разблокироваться просто TouchID, почему оно все равно требует нажать мышкой на “Unlock”? Почему запрос от ssh-agent вообще нельзя подтвердить TouchID? Как ни странно, я знаю, почему — потому что Bitwarden сделано на Electron, поэтому в лучших традициях кросс-платформенной разработки игнорирует интерфейс любой платформы. А заодно и логику UX.

Я потерпел и пересел опять на Strongbox. Там ведь даже корректно импортировались ssh ключи, подумал я. Я был наполовину прав. Они импортировались, но не как ключи, а как записи, где все элементы (private key, public key и fingerprint) были вставлены как кастомные поля. Ключ вроде есть, но, оказывается, его надо импортировать заново и отметить галочку “ssh-agent”.

Впрочем, я бы потерпел, если бы не странный баг — каждый раз после гашения экрана вместо приложения я видел Database Manager, который сообщал мне, что Authentification cancelled. Интенсивное исследование показало, что, скорее всего, приложение проверяет контекст биометрии, получает отказ от системы (macos сбрасывает авторизацию при гашении экрана), но вместо повторного запроса повторяет проверку несколько раз и в итоге выдает ошибку. То есть несколько раз в день я вместо одного касания должен несколько раз нажать “ОК” и в итоге загрузить базу вручную.

Итог — я вернулся на 1Password. Я по-прежнему считаю, что компания не должна с бухты-барахты повышать цены на четверть, но никто другой даже на эту разницу не заработал.

Сложности парольных менеджеров — 1Password vs Bitwarden vs StrongBox

Я много лет использую для управления своими паролями 1Password. Пожалуй, это лучшее решение, которое за десятилетия выросло в продукт, практически полностью закрывающий потребности даже продвинутого пользователя.

Но вот на неделе прилетело письмо о повышении подписки. Да, я использую уже давно 1Password 8, который держит хранилище паролей не в файле (его можно было разместить на любом диске, включая iCloud), а в своем сервисе. Изменение не то, чтобы существенное — 12 долларов в год мне, разумеется, по карману, — но поощрять компанию, которая вдруг (с марта, то есть предупредили за месяц) поднимает стоимость всех подписок на четверть, я совершенно не хочу. И пошел смотреть альтернативы.

Несмотря на всё богатство выбора — даже у Proton, где я плачу за почту, есть хранилище паролей, — особого разнообразия нет. Дело в том, что я, кроме паролей и прочей текстовой информации, храню в 1Password ssh-ключи и, благодаря интеграции с ssh-agent, удобно ими пользуюсь, одобряя соединение с сервером через TouchID ноутбука. У большинства менеджеров такой функции нет, поэтому остаются всего три — Bitwarden, KeePassXC и StrongBox.

StrongBox — это практически 1Password 7 по функциональности, он хранит пароли в файле, умеет импортировать всё из файла экспорта 1Password. Правда, интерфейс несколько иной, нет в нем вылизанности десятилетий разработки, и при этом многие интересные функции есть только в Pro версии, которая доступна за 25 долларов в год. Дешевле, чем у 1Password, конечно, но мне же не цена важна. Впрочем, они с ходу предлагают 3 месяца пробной подписки, есть возможность протестировать со всех сторон.

Отсутствие вылизанности выглядит, например, так — каждый раз на старте вам показывают Database Manager, где надо выбрать нужный файл с базой паролей. Нет, можно догадаться, что за кнопкой Properties скрывается опция “Launch on startup” и это начнет приводить к запуску нужной базы сразу с приложением, но можно ведь и не заставлять пользователя искать эту опцию?

StrongBox при импорте создает правильный .kdbx файл, который подходит KeePassXC. Так что его я тоже попробовал.

KeePassXC — это форк KeePass, который не разрабатывается уже несколько лет, полностью, как уверяет автор, написанный нативно, на C++, в отличие от KeePassX. Впрочем, внешний вид у него явно кросс-платформенный, то есть выглядящий одинаково плохо на всех платформах. В нем есть все нужные функции, кроме удобства. Меню не отличается последовательностью, опции находятся в довольно разных местах, но это даже не так плохо по сравнению с основными проблемами. Программа не умеет работать в фоне — это вообще что-то странное для утилиты по определению резидентной. То есть реально, если вы закроете окно программы, она закончит работу и расширение в браузере будет плакать, что вы, наверное, впервые запустили его и оно не видит программу.

Даже поддержка TouchID выглядит странно. Вы включаете поддержку “Quick Unlock” и рассчитываете, что некоторое время сможете разблокировать доступ через TouchID. Неа — вы закрываете программу (помните, она не умеет работать в фоне и реально прекращает работу при этом), открываете ее опять — никаких признаков включенного TouchID, вводите парольную фразу. Знаете, как пользоваться? Ввести пароль, разблокировать базу, заблокировать ее обратно — и тут вы увидите кнопку с изображением TouchID, на которую надо нажать мышкой и тогда оно запросит авторизацию через TouchID. Я не могу себе представить более безумного понимания usability и испытываю желание при встрече с разработчиком крепко пожать ему горло.

Короче, я в итоге остановился на Bitwarden. Он тоже всё умеет, тоже, правда, не без вопросов к usability, но зато совершенно бесплатен, если хранилище разворачивать самостоятельно, с помощью Vaultwarden. У меня личной инфраструктуры достаточно, чтобы всегда найти, где запустить еще один небольшой контейнер и привязать к нему субдомен, так что это не проблема. Визуальных шероховатостей там более чем достаточно, но пока я серьезно помучался только с теми самыми ключами — почему-то импортировать их штатно Bitwarden не захотел, вручную опция отсутствовала, поэтому пришлось поставить пакет CLI и добавить ключи так.

Попробуем пока, как оно будет срабатывать в привычных действиях — собственно, два конкурента именно на таких и отвалились очень быстро.