Закрыты все открытые вопросы проектирования. Пароль не покидает клиент (два ключа из мастера), TOFU для публичных ключей, устройства и конверт, атомарный rekey комнат, регистрация и контакты, схема SQLite и драйвер без cgo, сессии и CSRF, деплой через nginx+systemd, правила пушей, айдентика «Скобы» на системном mono. Иконки PWA в web/icons. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015DbCjVfTFq4ZFG8juD45YJ
19 lines
1.3 KiB
Markdown
19 lines
1.3 KiB
Markdown
# ADR-005: Аккаунт — ник и пароль
|
|
|
|
Уточнён [ADR-015](015-password-never-leaves-client.md): на сервер уходит не пароль, а выведенный из него `authKey`. Открытость регистрации закрыта [ADR-019](019-registration-and-contacts.md).
|
|
|
|
## Контекст
|
|
|
|
Email, телефон и OAuth тянут за собой внешние сервисы, интеграции и утечку идентичности. Bare — независимый инструмент без внешних завязок.
|
|
|
|
## Решение
|
|
|
|
Регистрация — ник и пароль. Ник уникален и является идентификатором пользователя. Без email, телефона, OAuth и восстановления пароля. Серверная аутентификация: Argon2id, сессия в httpOnly cookie.
|
|
|
|
## Следствия
|
|
|
|
- Ноль внешних сервисов в цикле регистрации и входа.
|
|
- Сервер не знает о пользователе ничего, кроме ника.
|
|
- Восстановления доступа нет — пароль ещё и материал ключа (ADR-006).
|
|
- Открытость регистрации (инвайты или нет) — открытый вопрос.
|