
apm v11.2.0
Локальный менеджер паролей для всех
Почему APM?
- Быстрый и простой в освоении — не нужно запоминать команды или флаги. APM сам запросит всё необходимое. Для опытных пользователей, которым важна максимальная скорость, также доступны флаги CLI.
- Нулевое разглашение — ваш мастер-пароль никогда не сохраняется. Три отдельных 32-байтовых ключа выводятся с помощью Argon2id. Никто, кроме вас, не может расшифровать ваше хранилище.
- Двойное шифрование — выберите AES-256-GCM или XChaCha20-Poly1305. Двухуровневая целостность через HMAC-SHA256 поверх аутентификации AEAD.
- Портативность — один файл хранилища, один бинарник. Берите хранилище с собой куда угодно.
- Опциональное облако — синхронизация с Google Drive, GitHub или Dropbox. Полностью по желанию; для использования APM аккаунт не требуется.
- Готовность к ИИ — встроенный MCP-сервер с ограниченными по области действия токенами, чтобы Claude, Cursor или любой совместимый с MCP агент мог безопасно обращаться к вашему хранилищу.
- Готовность к командной работе — полноценный RBAC, отделы, рабочие процессы согласования и общие хранилища в
pm-team.
Быстрый старт
go build -o pm .
pm setup # initialize vault and choose security profile
pm unlock # start a session
pm add # add a secret (interactive)
pm get github # fuzzy search and retrieve
pm lock # end session
Командная версия:
cd team
go build -o pm-team .
Типы секретов
APM поддерживает 25 структурированных типов секретов с проверяемыми полями и логикой отображения, специфичной для каждого типа:
| # | Тип | # | Тип |
|---|---|---|---|
| 1 | Пароль | 14 | Docker Registry |
| 2 | TOTP | 15 | CI/CD Secret |
| 3 | Государственный ID | 16 | Защищённая заметка |
| 4 | Медицинская запись | 17 | Коды восстановления |
| 5 | Информация о поездке | 18 | Сертификат |
| 6 | Контакт | 19 | Банковские данные |
| 7 | Wi-Fi | 20 | Документ |
| 8 | API-ключ | 21 | Лицензия на ПО |
| 9 | Токен | 22 | Юридический договор |
| 10 | SSH-ключ | 23 | Фото |
| 11 | SSH-конфигурация | 24 | Аудио |
| 12 | Облачные учётные данные | 25 | Видео |
| 13 | Kubernetes |
Возможности
Безопасность
- Вывод ключей Argon2id с нулевым разглашением — мастер-пароль никогда не сохраняется
- Двойные AEAD-шифры: AES-256-GCM и XChaCha20-Poly1305
- Двухуровневая проверка целостности HMAC-SHA256
- Четыре настраиваемых профиля безопасности:
standard,hardened,paranoid,legacy - Оценка доверия для каждого секрета (0–100) на основе возраста, доступа и уровня привилегий
- Журнал аудита с защитой от подделки, хранящийся вне хранилища
Хранилище
- Единый зашифрованный файл хранилища — переносим на любое устройство
- Пространства для логического разделения (как папки)
- Нечёткий поиск с интерактивным браузером и навигацией с клавиатуры
- Инспектор метаданных: дата создания, последний доступ, количество обращений, оценка доверия
TOTP
- Живые таймеры обратного отсчёта в интерактивном списке
- Постоянный пользовательский порядок
- Прямое копирование:
pm totp github - Интеграция с демоном автозаполнения для автоматической подстановки кодов 2FA
Облачная синхронизация
- Google Drive (OAuth2 PKCE), GitHub (PAT), Dropbox (OAuth2 PKCE)
- Сквозное шифрование — провайдеры никогда не видят открытый текст
.apmignoreдля фильтрации записей по провайдеру- Разрешение конфликтов: перезаписать, оставить локальную версию или отменить
- Фоновая автосинхронизация
Сессии
- Явная разблокировка/блокировка с настраиваемым сроком действия и тайм-аутом бездействия
- Делегированные эфемерные сессии для автоматизации и доступа ИИ-агентов
MCP-сервер
- Встроенный сервер Model Context Protocol
- Токены с ограниченными правами:
read,secrets,write,admin - Ограничения транзакций для операций записи: предпросмотр → одобрение → квитанция
- Работает с Claude Desktop, Cursor, Windsurf и любым MCP-клиентом
Восстановление
| Фактор | Команда |
|---|---|
| Email OTP | pm auth email |
| Ключ восстановления | pm auth recover |
| Доли кворума (Shamir) | pm auth quorum-setup |
| WebAuthn Passkey | pm auth passkey register |
| Одноразовые коды восстановления | pm auth codes generate |
Импорт / экспорт
| Формат | Импорт | Экспорт |
|---|---|---|
| JSON | pm import json | pm export json |
| CSV | pm import csv | pm export csv |
| TXT | pm import txt | pm export txt |
Движок политик
name: corporate-standard
password_policy:
min_length: 14
require_uppercase: true
require_numbers: true
require_symbols: true
rotation_policy:
rotate_every_days: 90
notify_before_days: 14
pm policy load ./policies/
Командная версия (pm-team)
- RBAC с несколькими ролями
- Отделы с изолированными доменами шифрования
- Рабочие процессы согласования для конфиденциальных записей
- Общие хранилища для совместного использования учётных данных несколькими пользователями
Профили безопасности
| Профиль | Память Argon2 | Итерации | Параллелизм | Сценарий использования |
|---|---|---|---|---|
standard | 64 MB | 3 | 2 | Большинство машин |
hardened | 256 MB | 5 | 4 | Рабочие станции (≥8 GB RAM) |
paranoid | 512 MB | 6 | 4 | Серверы (≥16 GB RAM) |
legacy | PBKDF2 | 600,000 | 1 | Обратная совместимость |
APM автоматически определяет количество ядер CPU и объём RAM, чтобы рекомендовать оптимальный профиль во время pm setup.
Статус разработки и история
(Эта заметка от владельца) По состоянию на 30 марта 2026 года я работаю над GUI для APM. Изначально это было CLI-приложение. Вопрос #38 объясняет всё подробно. В целом, я хочу, чтобы APM охватил ещё более широкую аудиторию. Я буду держать GUI отдельно в репозитории apm-gui или создам организацию и перенесу оба репозитория туда.
Я начинал APM как по-настоящему личный проект. Всё началось в один случайный вечер, когда я захотел создать собственный менеджер паролей. Меня утомлял zoho password, так как я использовал его для TOTP. Он был невероятно медленным в работе, а для своих токенов я использовал текстовые файлы, что небезопасно.
На данный момент я НЕ планирую забрасывать/закрывать проект. Он останется работоспособным надолго. Я стараюсь улучшать его каждый день и использую его каждый день. Иногда репозиторий может быть неактивен, и это когда я тестирую и экспериментирую с приложением.