Stand: 5. Dezember 2025
Version: 1.0.0
Kategorie: Admin Tools
| Feature | Status | Beschreibung |
|---|---|---|
| Schlüssel-Übersicht | ✅ | Anzeige LEK/KEK/DEK inkl. Version/Status |
| Manuelle Rotation | ✅ | POST /keys/rotate mit key_id (Body/Query) |
| Filter | ✅ | Nach Typ (LEK/KEK/DEK), „nur abgelaufene“ |
| Status-Updates | ✅ | Zähler gesamt/abgelaufen |
| Fehlerbehandlung | ✅ | 400/503 verständlich anzeigen |
| Feature | Status | Beschreibung |
|---|---|---|
| Regeln laden | ✅ | GET /classification/rules |
| Test-Classification | ✅ | POST /classification/test mit { text, metadata } |
| Export | ✅ | CSV-Export der Ergebnisse |
| Filter | ✅ | Level, Verschlüsselung, Compliance-Status |
| Live-Statistik | ✅ | Counts in Sidebar |
| Feature | Status | Beschreibung |
|---|---|---|
| Report-Generierung | ✅ | GET /reports/compliance?type=... |
| Formate | ✅ | JSON (Server), Export in den Tools (CSV/PDF/Excel) |
| Vorlagen | ✅ | Standard/Detailliert (Tool-seitig) |
| Zeitraum | ✅ | Parametrierbar (Tool-seitig) |
| Fehlerbehandlung | ✅ | 503 „Reports API not available“ verständlich |
| Feature | Status | Beschreibung |
|---|---|---|
| Datumsfilter | ✅ | Von/Bis-Datum mit DatePicker |
| Benutzerfilter | ✅ | Filter nach Username |
| Aktionsfilter | ✅ | Filter nach Action-Typ |
| Entitätsfilter | ✅ | Filter nach EntityType |
| Erfolgsfilter | ✅ | "Nur erfolgreiche Aktionen" Checkbox |
| Globale Suche | ✅ | Durchsucht alle 9 Spalten gleichzeitig |
| Multi-Column Sort | ✅ | Sortierung nach ID, Timestamp, User, Action, etc. |
| Toggle Sort | ✅ | Klick wechselt aufsteigend/absteigend |
| Paginierung | ✅ | Vor/Zurück Buttons, 100 Einträge/Seite |
| CSV Export | ✅ | Export gefilterte Daten |
| Status-Updates | ✅ | Zeigt gefilterte/gesamt Anzahl |
| Filter löschen | ✅ | Reset aller Filter auf Default |
| ICollectionView | ✅ | Performante Client-Filter |
| MVVM Pattern | ✅ | Clean Architecture |
| Dependency Injection | ✅ | Microsoft.Extensions.DI |
Durchsuchbare Felder:
- User (Benutzername)
- Action (Aktion)
- EntityType (Entitätstyp)
- EntityId (Entitäts-ID)
- OldValue (Alter Wert)
- NewValue (Neuer Wert)
- IpAddress (IP-Adresse)
- SessionId (Sitzungs-ID)
- ErrorMessage (Fehlermeldung)
| Feature | Status | Beschreibung |
|---|---|---|
| Batch-Liste | ✅ | Übersicht aller SAGA-Batches |
| Batch-Suche | ✅ | Suche nach ID, Hash, Signatur, Timestamp |
| Batch-Detail | ✅ | Vollständige Batch-Informationen |
| SAGA-Steps | ✅ | Liste aller Schritte im Batch |
| Step-Suche | ✅ | Suche nach SAGA ID, Step Name, Status, etc. |
| Multi-Column Sort | ✅ | Sortierung für Batches & Steps |
| Signatur-Verifizierung | ✅ | Kryptographische Prüfung |
| Batch Flush | ✅ | Manuelles Flushen des aktuellen Batches |
| CSV Export | ✅ | Export SAGA-Steps |
| Auto-Load Detail | ✅ | Automatisches Laden bei Batch-Auswahl |
| Status-Updates | ✅ | Zeigt gefilterte/gesamt Anzahl |
| Split-View | ✅ | Batch-Liste |
| Visual Feedback | ✅ | ✓/✗ für Verifikations-Status |
| ICollectionView | ✅ | Separate Filter für Batches & Steps |
| MVVM Pattern | ✅ | CommunityToolkit.Mvvm |
Batch-Suchfelder:
- BatchId (Batch-ID)
- Hash (SHA-256 Hash)
- Signature (Kryptographische Signatur)
- Timestamp (Zeitstempel)
Step-Suchfelder:
- SagaId (SAGA-ID)
- StepName (Schrittname)
- Status (Status)
- CorrelationId (Korrelations-ID)
- Metadata (Metadaten JSON)
| Komponente | Technologie | Version |
|---|---|---|
| Framework | .NET | 8.0 |
| UI | WPF | Windows Presentation Foundation |
| MVVM | CommunityToolkit.Mvvm | 8.x |
| DI | Microsoft.Extensions.DI | 8.x |
| HTTP | HttpClient | .NET 8 |
| Config | Microsoft.Extensions.Configuration.Json | 8.x |
| Backend | C++ themis_server | REST API |
✅ MVVM (Model-View-ViewModel)
- Klare Trennung UI ↔ Logik
- Data Binding
- Command Pattern
- ObservableObject/ObservableProperty
✅ Dependency Injection
- Service Container (App.xaml.cs)
- Singleton ThemisServerConfig
- Transient ViewModels & Windows
- Factory Pattern für HttpClient
✅ ICollectionView Pattern
- Client-seitige Filterung
- Keine Änderung der Source-Collection
- Performance-Optimierung
- Kombinierbar mit Sorting
✅ Repository Pattern
- ThemisApiClient als Repository
- ApiResponse Wrapper
- Error Handling
- Asynchrone Operationen
✅ Echtzeit-Suche
- UpdateSourceTrigger=PropertyChanged
- Instant Feedback
- Keine Server-Anfragen bei Texteingabe
✅ Visuelle Indikatoren
- Loading Spinner/Progress Bar
- Status-Leiste mit Meldungen
- Sortier-Pfeile in Spaltenüberschriften
- Platzhalter-Text in Suchfeldern ("🔍 Search...")
✅ Tastatur-Support
- Tab-Navigation
- Enter in Suchfeldern
- ESC für Abbrechen
✅ Responsive Design
- GridSplitter für variable Layouts
- Auto-Sizing Columns
- ScrollViewer für große Daten
- AlternatingRowBackground für Lesbarkeit
✅ Optimierungen
- Server-seitige Paginierung (100/Seite)
- Client-seitige Filterung nur auf geladene Daten
- ICollectionView statt Collection-Manipulation
- Async/Await für non-blocking UI
- Background-Threads für I/O
✅ Memory Management
- ObservableCollection statt List (für Binding)
- Dispose Pattern in App.OnExit
- ServiceProvider Lifecycle Management
✅ Exception Handling
- Try-Catch in allen Commands
- MessageBox für Benutzer-Feedback
- ErrorMessage Property für UI
- StatusMessage für Kontext
✅ Validation
- Null-Checks vor API-Calls
- Config-Validation beim Startup
- Filter-Validation (optional vs. required)
| Endpoint | Method | Beschreibung |
|---|---|---|
/keys |
GET | Liste aller gemanagten Schlüssel |
/keys/rotate |
POST | Rotation; key_id im Body { key_id: "DEK" } oder Query ?key_id=DEK |
/classification/rules |
GET | Liste der Klassifizierungsregeln |
/classification/test |
POST | Test-Classification { text, metadata } |
/reports/compliance |
GET | Compliance-Report `?type=overview |
Hinweis: Einige Tool-Clients verwenden einen /api-Prefix (z. B. /api/keys). Siehe Admin-Guide für Reverse-Proxy-Rewrite auf prefix-freie Server-Endpunkte.
| Endpoint | Method | Beschreibung |
|---|---|---|
/api/audit |
GET | Liste Audit-Logs mit Filtern |
/api/audit/export/csv |
GET | Export als CSV |
Query-Parameter:
start_date(DateTime)end_date(DateTime)user(string)action(string)entity_type(string)success_only(bool)page(int)page_size(int)
| Endpoint | Method | Beschreibung |
|---|---|---|
/api/saga/batches |
GET | Liste aller SAGA-Batches |
/api/saga/batch/{id} |
GET | Batch-Detail mit Steps |
/api/saga/batch/{id}/verify |
POST | Verifiziere Signatur |
/api/saga/flush |
POST | Flush aktuellen Batch |
- PII-Manager Tool
- UUID ↔ Pseudonym Mapping
- DSGVO Art. 17 Löschung
- Export-Funktionen
- Retention-Manager
- Policy-Konfiguration
- Überwachung
- Manuelle Bereinigung
- Erweiterte Admin-Features
- Saved Filter Profiles
- Team-Filter Templates
- Regex-Support in Suche
- Advanced Filter Builder (AND/OR)
- Visualisierung (Charts)
✅ Development Build
- Debug-Build funktionsfähig
- Local Testing erfolgreich
- themis_server Integration getestet
-
Release Build
- Optimierte Binaries
- Code-Signierung
- Installer (MSI/ClickOnce)
-
Auto-Update
- ClickOnce Deployment
- Version-Check
- Automatische Updates
-
Documentation
- Benutzerhandbücher
- Admin-Guide
- API-Dokumentation
- Video-Tutorials
Aktuelle Features:
- ✅ Admin-Tools: AuditLogViewer, SAGAVerifier, KeyRotation, Classification, Compliance Reports
- ✅ Vollständige Such-, Sortier- und Filterlogik
- ✅ REST API Integration (inkl. Keys, Classification, Reports)
- ✅ MVVM + DI Architecture
- ✅ ICollectionView Performance-Optimierung
- ✅ CSV Export
- ✅ Echtzeit-Suche
- ✅ Multi-Column Sorting
- ✅ Responsive UI
Nächste Schritte:
- PII-Manager Tool entwickeln
- Retention-Manager erstellen
- Deployment vorbereiten
- Dokumentation vervollständigen
Code-Qualität:
- ✅ MVVM Pattern konsequent
- ✅ Dependency Injection
- ✅ Error Handling
- ✅ Performance-optimiert
- ✅ Wartbar & erweiterbar