Приложение Пассворк
Приложение Пассворк — для работы с Пассворком без браузера. Подходит для сотрудников, которые предпочитают отдельное окно приложения, работают в средах, где запрещено или невозможно использовать браузер, или которым нужен просмотр заранее синхронизированных записей при недоступности сервера. Подключается к серверу Пассворка по URL бэкенда.
Описание и возможности
Приложение даёт доступ ко всем возможностям Пассворка так же, как веб-интерфейс, но в отдельном окне. Вся бизнес‑логика и права доступа определяются сервером Пассворка.
Как это работает:
- Вход через браузер. Первый вход (или вход после смены сервера/учётной записи) выполняется на странице Пассворка в браузере. После успешной авторизации браузер возвращает одноразовый токен в приложение, и там создаётся сессия. Таким образом поддерживаются все способы входа, настроенные на сервере: логин/пароль, LDAP, SSO, 2FA, Passkeys.
- Клиентское шифрование. Если на сервере включено клиентское шифрование, приложение также запрашивает мастер‑пароль. Мастер‑ключ хранится локально в зашифрованном виде; для шифрования используются средства операционной системы.
- Локальное хранение данных. Адрес сервера, токены и состояние сессии сохраняются на рабочей станции.
Платформы: Windows (x64), macOS, Linux (AppImage, .deb, .rpm).
Локальное хранилище приложения
Служебные данные приложения Пассворк (URL сервера, access/refresh‑токены, информация о сессии, флаги сценариев, при включённом клиентском шифровании — мастер‑ключ) хранятся на стороне пользователя.
- Файл БД. Все записи лежат в одном локальном файле БД
app-data.db(NeDB) в каталоге данных приложения (userData):- Windows —
%APPDATA%\@passwork\app\app-data.db; - macOS —
~/Library/Application Support/@passwork/app/app-data.db; - Linux —
~/.config/@passwork/app/app-data.db(или путь изXDG_CONFIG_HOME).
- Windows —
- Что хранится открыто, а что шифруется.
- В открытом виде — технические настройки (например, URL сервера, размеры окна).
- В зашифрованном виде — токены, мастер‑ключ и другие чувствительные поля.
- Как шифруются данные.
- Для чувствительных полей используется
safeStorage— обёртка над встроенным хранилищем секретов ОС:- Windows — DPAPI/хранилище учётных данных, привязанное к аккаунту пользователя;
- macOS — Связка ключей (Keychain);
- Linux — совместимый Secret Service (GNOME Keyring, KWallet и т.п.).
- Ключи шифрования не хранятся в файлах приложения: они управляются операционной системой. В
app-data.dbсохраняются только зашифрованные значения (base64‑строки).
- Для чувствительных полей используется
Подключение к серверу
Подключение состоит из двух этапов: указание адреса сервера и авторизация. Сессия в приложении создаётся за счёт одноразового токена, который пользователь получает после входа в веб-интерфейсе.
Выбор хоста
На экране входа пользователь вводит URL сервера Пассворка (например, passwork.company.com). Приложение проверяет, что сервер доступен и отвечает. После успешной проверки происходит переход в браузер для входа.
При смене сервера или учётной записи тот же экран используется снова: можно ввести новый URL и пройти авторизацию заново. Один и тот же экземпляр Десктопа можно последовательно подключать к разным серверам (например, тестовому и боевому), но одновременно приложение работает только с одним сервером.
Вход через браузер
- В приложении пользователь нажимает действие Войти через браузер. Открывается веб-интерфейс Пассворка с адресом
<URL_сервера>/desktop. - В браузере пользователь входит в Пассворк так же, как в веб-интерфейс: логин и пароль, LDAP, SSO, 2FA или Passkey — в зависимости от настроек сервера.
- После успешного входа веб-интерфейс создаёт одноразовый токен для Десктопа и перенаправляет браузер на ссылку вида
passwork://login?desktopToken=<токен>. - Операционная система передаёт эту ссылку приложению Пассв орк. Приложение получает токен, обменивает его на сессию и сохраняет сессию локально.
- Если на сервере включено клиентское шифрование, в приложении будет запрошен мастер-пароль.
Если после редиректа приложение не открылось или не подхватило токен, стоит проверить, что приложение установлено и схема passwork:// не блокируется.
Схема подключения
[Десктоп] → ввод хоста → проверка доступа → браузер <хост>/desktop
→ [Браузер] вход (логин, 2FA, SSO…) → passwork://login?desktopToken=...
→ [Десктоп] обмен токена на сессию → (при необходимости) мастер-пароль → главный экран