# 🐞 Закрыть анониму адрес подтверждения почты - **Тип:** fix - **Категория:** Очередь — Заведена урожаем ревью и встала в конец машинально: место в плане стройки назначает человек. - **Зачем:** Адрес подтверждения почты хранилища открыт без сессии: зная адрес вошедшего, аноним вызывает у сервиса отправку письма — сегодня безвредно, потому что почтового отправителя нет. - **Теги:** review-2026-08-15 Поверхность коллекции пользователей закрывается тем же способом, что и остальные её адреса. Шаг схемы входа через провайдера закрыл заведение записи, вход паролем и одноразовый код — но не запрос подтверждения почты. Проверено прогоном по собранному роутеру: запрос без сессии отвечает `204`. Сервис своей проверки почты не делает вовсе: учётные записи заводит и проверяет внешний провайдер, а адрес приезжает вместе с входом. То есть адрес не просто открыт — он не нужен. Сегодня безвреден: почтовый сервер не настроен, письмо уходить некуда. Каналом досаждения он становится вместе с задачей `email-notification`, которая почту как раз заводит, — и закрыть его дешевле до неё, чем после. ## Воспроизведение Собрать роутер сервиса и послать `POST /api/collections/users/request-verification` без сессии, назвав адрес почты вошедшего. Ответ — `204`: сервис принял запрос от неузнанного и завёл отправку письма. Ожидается отказ, как у прочих адресов коллекции пользователей. Письма при этом не уходит, и потому вреда сегодня нет: почтовый сервер не настроен. Проверка судит **код ответа**, а не доставку. ## Затрагивает - шаг схемы, закрывающий адреса коллекции пользователей: заводится новый, прежний не переписывается; - `docs/security.md`, раздел о поверхности хранилища — перечень закрытых адресов. ## Критерии приёмки - Запрос подтверждения почты без сессии отвергается. Оракул: проверка по собранному роутеру — ответ не `204`, письма не заводится. - Прочие способы открыть сессию остались закрытыми. Оракул: существующие проверки поверхности хранилища зелёные, состав их не сокращён. - Перечень закрытых адресов в модели угроз назван заново. Оракул: строка в `docs/security.md`. ## Рамки Новый шаг схемы — применённые не переписываются. Найдено прогоном ревью задачи `remove-telegram-intake` 2026-08-15, враждебный проход, секция свойств без построенного пути.