B2C: анонимный периметр — открыть geocode/suggest и coverage без авторизации #2895

Open
opened 2026-08-15 16:04:22 +00:00 by lekss361 · 0 comments
Owner

Сегодня PUBLIC_ESTIMATE_ENABLED = false (mera-public/content.ts:62), а /api/v1/geocode/suggest и /api/v1/trade-in/estimate не входят в rbac.py::_PUBLIC_PATHS → анониму 401. Из-за этого в макете v3 мертвы: форма героя, модалка целиком и пять CTA, ведущих в неё.

Как лучше сделать

  • В _PUBLIC_PATHS открывать только suggest и новый coverage. Полный estimate анониму НЕ открывать: он дорогой, и его результат — товар.
  • Анти-абуз: rate-limit по анонимной куке (ориентир — 3 in-flight / 5 мин), отдельный лимит по IP на suggest.
  • Гейт переключения флага не закрыт (см. докстринг content.ts:49-60) — вместе с флагом обязаны быть сделаны:
    1. текст privacy-страницы (он уже условен по флагу, п. 5.4 — перечитать обе ветки);
    2. согласие 152-ФЗ фиксируется до первого INSERT в trade_in_estimates — сегодня адрес физлица попадает в БД раньше любого согласия;
    3. рабочий путь удаления данных.
  • Сам флаг переключать последним шагом, отдельным PR, после того как пункты 1-3 в проде.

Зависит от задачи про /coverage. Блокирует: весь интерактив лэндинга v3.

Сегодня `PUBLIC_ESTIMATE_ENABLED = false` (`mera-public/content.ts:62`), а `/api/v1/geocode/suggest` и `/api/v1/trade-in/estimate` не входят в `rbac.py::_PUBLIC_PATHS` → анониму 401. Из-за этого в макете v3 мертвы: форма героя, модалка целиком и пять CTA, ведущих в неё. ## Как лучше сделать - В `_PUBLIC_PATHS` открывать **только** `suggest` и новый `coverage`. Полный `estimate` анониму НЕ открывать: он дорогой, и его результат — товар. - Анти-абуз: rate-limit по анонимной куке (ориентир — 3 in-flight / 5 мин), отдельный лимит по IP на `suggest`. - **Гейт переключения флага не закрыт** (см. докстринг `content.ts:49-60`) — вместе с флагом обязаны быть сделаны: 1. текст privacy-страницы (он уже условен по флагу, п. 5.4 — перечитать обе ветки); 2. согласие 152-ФЗ фиксируется **до** первого INSERT в `trade_in_estimates` — сегодня адрес физлица попадает в БД раньше любого согласия; 3. рабочий путь удаления данных. - Сам флаг переключать последним шагом, отдельным PR, после того как пункты 1-3 в проде. Зависит от задачи про `/coverage`. Блокирует: весь интерактив лэндинга v3.
lekss361 added the
priority/p1
security
scope/backend
labels 2026-08-15 16:04:22 +00:00
lekss361 added the
compliance
enhancement
tradein
labels 2026-08-16 10:25:29 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#2895
No description provided.