# AWatch-rus Portal: рабочий кабинет Дата: 2026-06-04 ## Цель изменения Портал переведен из технической "админки логов" в рабочий кабинет для трех ролей: - руководитель: управленческая сводка, показатели активности, отклонения, отчеты; - ИБ: риск-срез, проверки данных, состояние контрольных сигналов; - расследователь: карточки инцидентов, материалы проверки, хеши и выгрузка материалов. ## Что изменено - Верхняя панель переименована в `AWatch-rus Активность / Риски / Расследования`. - Добавлены элементы отчета: период, подразделение, ответственный, текстовый отчет/PDF, статус сбора данных. - Навигация приведена к продуктовой модели: - `Пульс организации`; - `Рабочее время`; - `Подразделения`; - `Сотрудники`; - `Риски`; - `Расследования`; - `Сетевой периметр`; - `Отчеты`. - Добавлены отдельные промышленные представления: - экран подразделений: рейтинг групп, ответственные, просадки и отклонения; - экран сотрудников: карточка сотрудника, активность, сессии, плановое время, последнее событие; - экран сетевого периметра: режим наблюдения без управления сетевыми правилами. - Первый экран показывает executive summary: - индекс активности за день; - активные сотрудники; - отклонения от нормы; - подразделения с просадкой; - риски ИБ; - новые инциденты; - готовность отчета; - доказательная база. - Блок работы сотрудников показывает загрузку, простои, перегруз, приложения, объяснение индекса и проверку правил. - Блок рисков использует темную тему и выводит риск/ИБ-срез без автоматического воздействия на сеть. - Блок расследований показывает инциденты, материалы, скриншоты, хеши и ссылки на выгрузку. - Отчеты дополнены типами: ежедневный, недельный, месячный, по подразделению, по сотруднику, по инциденту, акт пилота. ## Важные ограничения - Фильтры периода, подразделения и ответственного пока являются UI-контролами. Backend-фильтрация должна добавляться отдельным изменением, чтобы не искажать текущие данные. - `Индекс активности` остается расчетной метрикой: активное время / плановое время. Взвешенный показатель объясняется отдельно через правила ролей и приложений. - Разделы рисков и расследований показывают риск-срез и материалы проверки. Это не заявляется как сертифицированная СЗИ. - Раздел сетевого периметра работает как витрина наблюдения. Он не меняет правила сети и не выполняет блокировки. - pfSense и сетевой периметр этим изменением не затрагивались. ## Проверки Локальные проверки: ```bash export CARGO_TARGET_DIR=/tmp/detmir-adk-rust-target node --check adk-rust/crates/detmir-portal/src/static/app.js git diff --check cargo test --manifest-path adk-rust/Cargo.toml -p detmir-portal cargo clippy --manifest-path adk-rust/Cargo.toml -p detmir-portal --all-targets -- -D warnings cargo build --release --manifest-path adk-rust/Cargo.toml -p detmir-portal ``` Боевые проверки после деплоя: - `detmir-portal.service`: active; - `nginx`: active; - `detmir-portal-evidence.service`: active; - `/portal/`: HTTP 200; - `/portal/api/summary`: HTTP 200; - `/portal/api/operator`: HTTP 200; - `/portal/api/manager`: HTTP 200; - `/portal/api/owner`: HTTP 200; - `/portal/api/incidents`: HTTP 200; - `/portal/api/reports`: HTTP 200; - `/portal/api/readiness/bundle`: HTTP 200; - `/portal/api/workforce/policy/explain`: HTTP 200; - `/portal/api/dlp/evidence`: HTTP 200. Playwright smoke: - заголовок страницы: `AWatch-rus Portal`; - вкладки `Пульс организации`, `Рабочее время`, `Подразделения`, `Сотрудники`, `Риски`, `Расследования`, `Сетевой периметр`, `Отчеты` открываются; - JS-ошибок нет; - API-ответов с кодом 400+ нет; - раздел рисков включает темную тему.