# ADR-019: Регистрация, ники и контакты ## Контекст Открытые вопросы: открытая регистрация или инвайты; как добавляется контакт и начинается чат 1:1. Bare — маленький инструмент для небольших групп, а не публичная сеть. ## Решение - Ник: `^[a-z0-9_]{2,32}$`. Только строчные — уникальность без регистровых коллизий и омоглифов. Ник постоянен, смены нет. - Регистрация открыта. Оператор может задать один общий инвайт-код (`BARE_INVITE_CODE` в окружении); если задан, регистрация требует его. Персональных инвайтов, ссылок и списков нет. - Чат 1:1 начинается с ввода ника: клиент получает публичный ключ (`GET /api/users/{nick}`) и пишет. Согласия получателя не требуется — как в e-mail. Контакт — строка в списке чатов, которую сервер заводит обеим сторонам при первом сообщении в любую сторону, чтобы новое устройство видело список чатов без истории. `DELETE /api/contacts/{nick}` убирает чат из списка, не блокируя собеседника. - Блокировки в v1 нет. Защита от спама — инвайт-код и rate limiting (ADR-021). - Удаление аккаунта: `DELETE /api/me` с подтверждением `authKey` удаляет аккаунт, устройства, контакты, членство и очереди. Комнаты, где пользователь владелец, передаются по правилу ADR-018. ## Следствия - Ник — публичный идентификатор; что он существует, узнать можно. Это не секрет и не считается утечкой. - Общий инвайт-код — барьер от ботов, не от людей, которым его передали. Большего v1 не обещает. - Блокировка и персональные инвайты — кандидаты на следующие ADR, если понадобятся.