feat: Phase 5 — DB persistence for scan results + Phase 10 in plan
- Migration 086: compliance_agent_scans table (findings, services, corrections)
- agent_history_routes.py: POST /scans (save), GET /scans (list), GET /scans/{id}
- Scan results survive page reloads and can be reviewed later
- Phase 10 (Playwright website scanner) added to product roadmap
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -509,6 +509,36 @@ und prueft den Kundenbereich auf Pflichtfunktionen:
|
||||
| `consent-tester/main.py` | +30 | Neuer /authenticated-scan Endpoint |
|
||||
| Frontend: AuthenticatedTestTab | ~150 | Credential-Eingabe + Ergebnis |
|
||||
|
||||
---
|
||||
|
||||
## Phase 10: Website-Scan auf Playwright umstellen (P3, 1-2 Tage)
|
||||
|
||||
### Problem
|
||||
|
||||
Der Website-Scan nutzt httpx (wie curl) — bekommt nur initiales HTML.
|
||||
SPAs (React, Angular, Vue) die Inhalte per JavaScript nachladen werden
|
||||
unvollstaendig gescannt. Opodo-Stil Seiten liefern nur Shell-HTML.
|
||||
|
||||
### Loesung
|
||||
|
||||
Website-Scanner auf Playwright umstellen — gleicher Headless Browser
|
||||
wie der Consent-Tester. Dann sieht der Scan ALLES was der Browser sieht.
|
||||
|
||||
| Technologie | Aktuell (httpx) | Nach Phase 10 (Playwright) |
|
||||
|------------|-----------------|---------------------------|
|
||||
| Statisches HTML | ✓ | ✓ |
|
||||
| WordPress | ✓ | ✓ |
|
||||
| React/Vue SPA | ✗ (nur Shell) | ✓ (rendert JS) |
|
||||
| Angular SSR | ✗/✓ | ✓ |
|
||||
| JS-heavy (Opodo) | ✗ | ✓ |
|
||||
|
||||
### Implementierung
|
||||
|
||||
- `consent-tester` Service um `/website-scan` Endpoint erweitern
|
||||
- Playwright navigiert zu jeder Seite, wartet auf JS, extrahiert HTML
|
||||
- Backend-Scanner ruft consent-tester statt httpx auf
|
||||
- Gleicher Output (DetectedService, ScanResult) — nur bessere Eingabedaten
|
||||
|
||||
## Investoren-Demo Szenario
|
||||
|
||||
Nach Phase 2 (Woche 2) koennen wir folgende Demo zeigen:
|
||||
|
||||
Reference in New Issue
Block a user