
Локальный менеджер паролей для всех
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 структурированных типов секретов с проверяемыми полями и логикой отображения, зависящей от типа:
Безопасность
standard, hardened, paranoid, legacyХранилище
TOTP
pm totp githubОблачная синхронизация
.apmignore для фильтрации записей по провайдеруСеансы
MCP-сервер
read, secrets, write, adminПлагины
Восстановление
Импорт / Экспорт
| Формат |
|---|
Механизм политик
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)
APM автоматически определяет количество ядер процессора и объём ОЗУ, чтобы рекомендовать оптимальный профиль во время pm setup.
(Заметка от владельца) По состоянию на 30 марта 2026 года я работаю над GUI для APM. Изначально это было CLI-приложение. В issue #38 всё объяснено подробно. В целом, я хочу, чтобы APM охватил ещё более широкую аудиторию. Я оставлю GUI отдельно в репозитории apm-gui или создам организацию и перенесу оба репозитория туда.
Я начинал APM как сугубо личный проект. Всё началось случайным вечером, когда я захотел создать собственный менеджер паролей. Меня достал Zoho Password, потому что я использовал его для TOTP. Он был невероятно медленным и едва функционировал, а свои токены я хранил в открытых файлах, что небезопасно.
На данный момент я НЕ планирую забрасывать или закрывать проект. Он останется работоспособным в течение долгого времени. Я стараюсь делать его лучше каждый день и пользуюсь им каждый день. Иногда репозиторий может быть неактивен — именно тогда я тестирую и экспериментирую с приложением.
Всегда делайте резервную копию хранилища перед тем, как пробовать Canary-релизы. P.S. Для некоторых релизов некоторые уровни могут не выпускаться — в зависимости от того, насколько быстро и легко их можно опубликовать, не создавая лишних уровней.
Полная документация: aaravmaloo.github.io/apm
Вклад приветствуется. Рекомендации см. в CONTRIBUTING.md.
Лицензия GPL-3.0 © Aarav Maloo
| # | Тип | # | Тип |
|---|
| 1 | Пароль | 14 | Docker Registry |
| 2 | TOTP | 15 | CI/CD-секрет |
| 3 | Удостоверение личности | 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 |
| Фактор | Команда |
|---|
| OTP по электронной почте | pm auth email |
| Ключ восстановления | pm auth recover |
| Кворумные доли (Shamir) | pm auth quorum-setup |
| Passkey WebAuthn | 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 |
| Профиль | Память Argon2 | Итерации | Параллелизм | Применение |
|---|
standard | 64 MB | 3 | 2 | Большинство машин |
hardened | 256 MB | 5 | 4 | Рабочие станции (≥8 ГБ ОЗУ) |
paranoid | 512 MB | 6 | 4 | Серверы (≥16 ГБ ОЗУ) |
legacy | PBKDF2 | 600,000 | 1 | Обратная совместимость |
| Уровень | Стабильный? | Безопасно для хранилища? | Назначение |
|---|
| Canary | ❌ | ❌ | Самая ранняя предварительная версия функций — может повредить хранилища |
| Alpha | ❌ | ✅ | Нестабильные функции, целостность хранилища сохраняется |
| Beta | ✅ | ✅ | Полностью протестированные функции, осторожный выпуск |
| Stable | ✅ | ✅ | Релизы, готовые к продакшену |