dotMage 2.0 — команды, тот же продукт, та же лицензия
dotMage начинался как соло-инструмент — один человек, много машин. Потом случилось очевидное: люди принесли его на работу и стали делить один мастер-пароль с коллегами. Это работает, пока кто-нибудь не уволится. В 2.0 команда — полноправный житель: у каждого участника свой пароль, оборачивающий общий ключ хранилища, сервер принуждает роли, а офбординг — одна команда вместо молитвы. Соло-пользователи: ваш процесс не изменился байт-в-байт — и всё остаётся под AGPL, никакой «энтерпрайз-редакции» нет.
Главное
Свой пароль, общее хранилище
# владелец
$ dmage user invite kolya --role editor
dmage_uinv_eyJp... # одноразовый токен, передать приватно
# kolya, на своей машине
$ dmage auth --invite dmage_uinv_eyJp...
✓ Joined as 'kolya' (editor). Key cached.
your password is yours alone — nobody else on the team knows it
Приглашение несёт ключ хранилища, запечатанный ключом, который живёт только внутри токена — сервер хранит блоб, который не может открыть. Одноразово, TTL 24 часа.
Роли, которые сервер действительно принуждает
owner управляет людьми, ротирует ключи, удаляет; editor пушит и пуллит; viewer
читает. Audit-журнал теперь называет людей, а не только устройства. Честная оговорка,
записанная в threat model: роли — это авторизация, а не криптография — ключ хранилища
есть у каждого участника.
Офбординг, который работает
$ dmage user rm kolya
✓ removed 'kolya' (1 device(s) revoked)
Rotate the Account Key now (recommended)? [Y/n]
Обёртки удалены, устройства отозваны, а связанная ротация ключа (из 1.4) делает его кэш бесполезным для всего, что запушено после. В доке прописаны две вещи, которые софт не сделает за вас: ротируйте сами значения секретов, которые он видел, и уничтожьте доротационные бэкапы.
Миграция с общего пароля
Делили один мастер-пароль с коллегой? В доке теперь есть пошаговый раннбук: пригласите его по-настоящему, ротируйте ключ, смените свой пароль — общий пароль умирает полностью.
Соло-пользователям
Ничего не меняется. Сервер по умолчанию в DOTMAGE_MODE=solo, где командных эндпоинтов
просто не существует, ваш вывод идентичен, а аккаунт при миграции тихо стал «командой из
одного» — на случай, если однажды понадобится.
Чейнджлог
Добавлено
- Командный режим:
dmage user invite/list/role/rm,dmage auth --invite,dmage whoami; пер-пользовательские обёртки общего Account Key; запечатанные одноразовые токены приглашений. - Серверные роли (owner/editor/viewer) на каждой записи; защита последнего owner.
- Audit-журнал атрибутирует действия людям; веб-админка показывает состав команды.
DOTMAGE_MODE=solo|team(по умолчанию solo — командные эндпоинты скрыты целиком).
Безопасность
- Цепочка офбординга: удаление обёрток → отзыв устройств → ротация ключа, одной командой.
Скачать
Бинарники и SHA256SUMS: github.com/dotMage/dotmage/releases/tag/v2.0.0
dmage upgrade # самообновление
brew upgrade dotmage # Homebrew