Сложности парольных менеджеров

Я много лет использую для управления своими паролями 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 и добавить ключи так.

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