docs: add pilot v1 acceptance evidence
This commit is contained in:
@@ -0,0 +1,144 @@
|
||||
# Pilot v1.0 Acceptance Checklist
|
||||
|
||||
## Назначение
|
||||
|
||||
Этот checklist закрепляет Pilot v1.0 как приемочный контур AWatch-rus для
|
||||
демонстрации заказчику. Базовый кодовый контур: commit
|
||||
`067ad0939c3b8c34df8af9ff55bb219277d08341`.
|
||||
|
||||
Pilot v1.0 принимается как Workforce Analytics + Security Analytics +
|
||||
Forensics с ролевым порталом, стабильными JSON API, UEBA Score v1 и pfSense
|
||||
readiness в режиме `contract_only`.
|
||||
|
||||
## Не входит в приемку
|
||||
|
||||
- SIEM.
|
||||
- Классический DLP.
|
||||
- ML/LLM scoring.
|
||||
- Автоматическое сетевое воздействие.
|
||||
- pfSense ingestion.
|
||||
- NAC, SOAR, quarantine, изменение firewall/VPN/routing.
|
||||
- Dioxus, React, Tauri, Electron как основной UI Pilot v1.0.
|
||||
|
||||
## Общие критерии
|
||||
|
||||
| Критерий | Ожидаемый результат | Статус |
|
||||
| --- | --- | --- |
|
||||
| Портал открывается | `/portal` загружается и показывает готовый статус данных | приемочный |
|
||||
| Главный вывод | В Executive View отображается первым | приемочный |
|
||||
| Русификация | В пользовательских блоках нет лишних англоязычных терминов | приемочный |
|
||||
| Demo data | Нет реальных IP, hostname, логинов, ФИО, подразделений заказчика | приемочный |
|
||||
| Документация | README и `docs/` содержат Pilot v1 материалы | приемочный |
|
||||
| Неизменность позиционирования | Нет заявлений SIEM/DLP/pfSense ingestion | приемочный |
|
||||
|
||||
## Роли
|
||||
|
||||
| Роль | Endpoint/UI | Должна видеть | Не должна видеть по умолчанию |
|
||||
| --- | --- | --- | --- |
|
||||
| `executive` | Executive Dashboard | главный вывод, риски подразделений, Workforce summary | ИБ-детализацию и материалы расследований |
|
||||
| `manager` | Workforce Portal | активность, подразделения, ответственных, тренды, Markdown-отчет | Security queue и evidence |
|
||||
| `security` | Security Portal | кандидатов на проверку, risk score, события безопасности, аудит | управленческий Workforce Dashboard |
|
||||
| `forensics` | Forensics Portal | карточки расследований, timeline, материалы, Markdown export | управленческие Workforce-разрезы |
|
||||
| `admin` | Operations/Admin | качество данных, настройки, ClickHouse/fallback-статусы | не используется как управленческая роль |
|
||||
|
||||
Серверная проверка обязательна: роль должна ограничивать доступ на API-уровне,
|
||||
а не только через скрытие кнопок в HTML.
|
||||
|
||||
## API contracts
|
||||
|
||||
Приемочные endpoint-ы:
|
||||
|
||||
- `/api/reports`;
|
||||
- `/api/executive`;
|
||||
- `/api/workforce`;
|
||||
- `/api/security`;
|
||||
- `/api/forensics`;
|
||||
- `/api/ueba`;
|
||||
- `/api/pfsense`;
|
||||
- `/api/contracts/openapi.json`;
|
||||
- `/api/contracts/typescript.d.ts`.
|
||||
|
||||
Ожидания:
|
||||
|
||||
- структуры JSON стабильны и additive-compatible;
|
||||
- роль возвращается в `role_context`;
|
||||
- неизвестные поля должны игнорироваться клиентом;
|
||||
- отказ доступа возвращает 403;
|
||||
- `/api/pfsense` возвращает `status=contract_only` и
|
||||
`ingestion_available=false`.
|
||||
|
||||
## UEBA Score v1
|
||||
|
||||
Приемочный UEBA-контур:
|
||||
|
||||
- rule-based;
|
||||
- без ML;
|
||||
- без LLM;
|
||||
- score 0-100;
|
||||
- severity: `normal`, `low`, `medium`, `high`, `critical`;
|
||||
- reason codes;
|
||||
- human-readable explanation;
|
||||
- компоненты:
|
||||
- `activity_anomaly`;
|
||||
- `time_anomaly`;
|
||||
- `application_anomaly`;
|
||||
- `network_anomaly`;
|
||||
- `history_anomaly`.
|
||||
|
||||
UEBA Score v1 только ранжирует риск для ручной проверки. Он не блокирует
|
||||
пользователей и не меняет сетевые политики.
|
||||
|
||||
## pfSense readiness
|
||||
|
||||
Приемочный статус: `contract_only`.
|
||||
|
||||
Допустимо:
|
||||
|
||||
- contracts;
|
||||
- fixtures;
|
||||
- docs;
|
||||
- API-заготовка;
|
||||
- demo-события только с RFC 5737 адресами.
|
||||
|
||||
Недопустимо:
|
||||
|
||||
- заявлять реальный ingestion без проверки;
|
||||
- называть контур SIEM;
|
||||
- обещать firewall/VPN enforcement;
|
||||
- показывать реальные IP, hostname, login или события заказчика.
|
||||
|
||||
## Smoke acceptance
|
||||
|
||||
Команда:
|
||||
|
||||
```bash
|
||||
node scripts/detmir-portal-tabs-smoke.mjs
|
||||
```
|
||||
|
||||
Smoke должен подтвердить:
|
||||
|
||||
- портал открывается;
|
||||
- Executive Dashboard открывается;
|
||||
- Workforce/Manager view открывается;
|
||||
- Security view открывается;
|
||||
- Forensics view открывается;
|
||||
- Admin/Operations view открывается;
|
||||
- `/api/reports` возвращает валидный JSON;
|
||||
- серверные role gates возвращают 403 для чужих срезов;
|
||||
- demo-data не содержит чувствительных значений.
|
||||
|
||||
## Обязательные проверки перед приемкой
|
||||
|
||||
Выполнять из `adk-rust/`, кроме `git diff --check` и smoke:
|
||||
|
||||
```bash
|
||||
cargo fmt --all --check
|
||||
cargo clippy --workspace --all-targets -- -D warnings
|
||||
cargo test --workspace
|
||||
cargo build --workspace --release
|
||||
git diff --check
|
||||
node scripts/detmir-portal-tabs-smoke.mjs
|
||||
```
|
||||
|
||||
Приемка Pilot v1.0 считается готовой только при успешном прохождении всех
|
||||
команд и отсутствии новых продуктовых обещаний за пределами текущего контура.
|
||||
Reference in New Issue
Block a user