6.3 KiB
DLP Production Execution Roadmap
Purpose
This document converts the high-level production DLP plan into an execution sequence with explicit phase boundaries, dependencies, deliverables, and acceptance gates.
Source plan:
- [dlp-production-plan-windows-10-19.md](<PROJECT_ROOT>/docs/dlp-production-plan-windows-10-19.md:1)
Execution Rule
Execution order is based on dependency and operational value, not on the original stage numbering from the idea draft.
Phase Table
| Phase | Name | Depends on | Primary outcome |
|---|---|---|---|
| 01 | Policy Engine | None | Central policy control plane with endpoint fallback |
| 02 | Content Analysis | 01 | Dictionary, regex, and OCR enrichment |
| 03 | Admin Tooling | 01 | Health checks and operator CLI |
| 04 | SIEM/SOAR Integrations | 01, 03 | External incident delivery and alerting |
| 05 | Case Management | 01, 03 | Investigation workflow and audit trail |
| 06 | Compliance Reporting | 01, 02, 03, 05 | Periodic reports for 152-FZ operations |
Phase 01: Policy Engine
Goal Build the server-side policy control plane without breaking endpoint autonomy.
Deliverables
aw-server/dlp-policy-engine/service package- SQLite-backed policy/version storage
- Active policy API
- rollback and backup flow
- endpoint
server/local/cachedpolicy modes - Ansible deployment role and server integration
Acceptance
- Policies can be created, activated, versioned, and rolled back.
- Endpoints keep detecting while the policy service is unavailable.
- Invalid policies cannot become active.
- Operators can tell which policy source is active on each endpoint.
First tasks
- Create service skeleton and schema model.
- Define SQLite schema for
policiesandpolicy_versions. - Add active policy endpoint and local cache contract.
- Update endpoint collector with
-PolicyModeand cache fallback. - Add Ansible variables and service deployment.
Phase 02: Content Analysis
Goal Increase detection quality with practical Russian PII and OCR enrichment.
Depends on
- Phase 01 active policy delivery
Deliverables
152-fz-pdn.json- checksum validation module
- dictionary matcher
- regex packs for finance, contacts, and secrets
- OCR processor and server-side artifact enrichment
- endpoint policy fields for dictionary/regex/OCR
Acceptance
- Incidents can be enriched by dictionary and regex matches.
- SNILS/INN validation reduces false positives.
- OCR can be turned on and off via policy.
- Screenshot processing path is explicit and auditable.
First tasks
- Create checksum validator for INN and SNILS.
- Define server-side pack loading contract.
- Add policy fields for
dictionaryPack,regexPack, andocrEnabled. - Implement OCR wrapper and artifact processing pipeline.
- Extend endpoint incident payload for OCR-bound artifacts.
Phase 03: Admin Tooling
Goal Replace ad hoc operational steps with one supported CLI and one health check path.
Depends on
- Phase 01 policy engine API
Deliverables
scripts/dlp-admin-cli.pyscripts/dlp-health-check.py- health check coverage for API, service state, endpoint sync, and disk
- documented operational commands
Acceptance
- Operator can inspect policy, incident, case, and service state from CLI.
- Health checks have machine-readable exit codes.
- Critical failures are visible without manual DB access.
First tasks
- Define CLI command surface and argument model.
- Implement policy list/push and health check commands first.
- Add endpoint sync status probe.
- Add service/systemd state checks.
- Document standard operator usage.
Phase 04: SIEM/SOAR Integrations
Goal Export actionable incidents outside the AW UI.
Depends on
- Phase 01 policy engine
- Phase 03 admin tooling and health checks
Deliverables
- CEF exporter
- webhook sender
- systemd service/timer units
- Ansible deployment for integrations
Acceptance
- High-severity incidents reach syslog/webhook targets.
- Retry/backoff protects against transient delivery failure.
- Failed exports are visible through logs and health checks.
First tasks
- Define normalized export schema.
- Build CEF severity mapping.
- Implement webhook retry/backoff.
- Add integration service configs and timers.
- Extend health checks to include delivery status.
Phase 05: Case Management
Goal Introduce a practical incident-to-case workflow with immutable audit history.
Depends on
- Phase 01 policy engine
- Phase 03 admin tooling
Deliverables
- case API and schema
- SQLite case store
case_auditappend-only log- UI hooks in
aw-ru-patch.jsandaw-case-management-ui.js
Acceptance
- Operator can create a case from a DLP incident.
- Case status changes preserve history.
- Evidence links remain attached through case lifecycle.
First tasks
- Define case model, status model, and audit table.
- Implement create/list/update case endpoints.
- Add incident-to-case action in UI.
- Expose related cases on incident view.
- Add CLI support for case creation and listing.
Phase 06: Compliance Reporting
Goal Generate scheduled DLP compliance reporting usable for 152-FZ operations.
Depends on
- Phase 01 policy engine
- Phase 02 content analysis
- Phase 03 admin tooling
- Phase 05 case management
Deliverables
- report generator
- HTML template
- PDF export via
weasyprint - monthly scheduler service/timer
- email delivery path
Acceptance
- Monthly report can be generated without manual data prep.
- Report includes incidents, channels, users, and case linkage where available.
- Scheduler health and last-success state are visible operationally.
First tasks
- Define report input model and time-period filters.
- Create HTML template and PDF renderer wrapper.
- Implement monthly scheduler.
- Add email delivery configuration.
- Extend health check for report freshness.
Release Discipline
- Deploy server components behind feature flags first.
- Keep endpoint fallback local until server path is proven.
- Pilot on a subset of Windows
10-19before wide rollout. - Do not enable OCR or external exports by default on first deployment wave.
Completion Standard
This roadmap is complete only when each phase has:
- deployed code
- Ansible coverage
- health checks
- operator documentation
- rollback notes
- a passed acceptance gate