# Compliance-Report Einsatztagebuch v1.6.0 (Build 48)

**Erstellt:** 2026-05-02T10:23:21+02:00 (Commit `a68db0c`)
**Plattformen:** iOS, Android
**Datenbank-Schema:** v17
**Schema-Version (checklist.yaml):** 1

## Übersicht

| Status | Anzahl |
|---|---|
| Erfüllt | 20 |
| Teilweise | 0 |
| Offen | 0 |
| Nicht anwendbar | 0 |
| **Gesamt** | **20** |

## Compliance-Matrix

### Zugriffsschutz

| ID | Anforderung | Status | Seit | Quelle |
|---|---|---|---|---|
| ZUG-01 | App-Lock mit PIN | ✅ erfüllt | 1.5.0 | BSI IT-GS APP.1.4 |
| ZUG-02 | Biometrische Entsperrung | ✅ erfüllt | 1.5.0 | BSI IT-GS APP.1.4 |
| ZUG-03 | Auto-Sperre konfigurierbar | ✅ erfüllt | 1.5.0 | BSI IT-GS APP.1.4 |

### Datenintegrität

| ID | Anforderung | Status | Seit | Quelle |
|---|---|---|---|---|
| INT-01 | Hash-Kette über Log-Einträge | ✅ erfüllt | 1.6.0 | GoBD Unveränderbarkeit |
| INT-02 | Einträge sind unveränderlich | ✅ erfüllt | 1.6.0 | GoBD Unveränderbarkeit |
| INT-03 | Master-Hash im PDF-Export | ✅ erfüllt | 1.6.0 | GoBD Unveränderbarkeit |
| INT-04 | Integritäts-Statusbericht im PDF | ✅ erfüllt | 1.6.0 | GoBD Nachvollziehbarkeit |

### Verschlüsselung

| ID | Anforderung | Status | Seit | Quelle |
|---|---|---|---|---|
| VER-01 | Datenbank verschlüsselt | ✅ erfüllt | 1.5.0 | BSI IT-GS APP.1.4 / DSGVO Art. 32 |
| VER-02 | Backup verschlüsselt | ✅ erfüllt | 1.5.0 | DSGVO Art. 32 |

### Datenschutz / DSGVO

| ID | Anforderung | Status | Seit | Quelle |
|---|---|---|---|---|
| DSG-01 | Auskunftsrecht — Personen-Datenexport | ✅ erfüllt | 1.6.0 | DSGVO Art. 15 |
| DSG-02 | Löschrecht — Personen-Soft-Delete | ✅ erfüllt | 1.6.0 | DSGVO Art. 17 |
| DSG-03 | Mission-Anonymisierung | ✅ erfüllt | 1.6.0 | DSGVO Art. 17 |
| DSG-04 | Datenschutz-Übersicht in App | ✅ erfüllt | 1.6.0 | DSGVO Art. 13 |

### Beweissicherung / Audit-Trail

| ID | Anforderung | Status | Seit | Quelle |
|---|---|---|---|---|
| NAW-01 | Audit-Log-Screen | ✅ erfüllt | 1.6.0 | GoBD Nachvollziehbarkeit |
| NAW-02 | Schreiber pro Eintrag | ✅ erfüllt | 1.5.0 | THWiki Einsatztagebuch (Eindeutigkeit Schreiber) |
| NAW-03 | Multi-Profile für Schichtwechsel | ✅ erfüllt | 1.6.0 | THWiki Einsatztagebuch (Eindeutigkeit Schreiber) |
| NAW-04 | Foto-Watermark mit Schreiber + DTG | ✅ erfüllt | 1.6.0 | GoBD Nachvollziehbarkeit |

### Betrieb / Verfahren

| ID | Anforderung | Status | Seit | Quelle |
|---|---|---|---|---|
| BET-01 | Verfahrensdokumentation als PDF | ✅ erfüllt | 1.6.0 | GoBD Verfahrensdokumentation |
| BET-02 | Aufbewahrungsdauer 10 Jahre | ✅ erfüllt | 1.6.0 | THWiki |
| BET-03 | Compliance-Bericht versionskontrolliert | ✅ erfüllt | 1.6.0 | GoBD Verfahrensdokumentation |

## Anforderungs-Details

### ZUG-01 — App-Lock mit PIN

- **Kategorie:** Zugriffsschutz
- **Status:** ✅ erfüllt
- **Seit Version:** 1.5.0
- **Quelle:** BSI IT-GS APP.1.4

Die App ist beim Start und nach Hintergrundwechsel mit einer mindestens 6-stelligen PIN gesichert.

**Nachweis:**
- `lib/core/auth/app_lock_service.dart`
- `lib/ui/widgets/app_lock_gate.dart`
- `lib/ui/screens/lock_screen.dart`

### ZUG-02 — Biometrische Entsperrung

- **Kategorie:** Zugriffsschutz
- **Status:** ✅ erfüllt
- **Seit Version:** 1.5.0
- **Quelle:** BSI IT-GS APP.1.4

FaceID/TouchID/Fingerabdruck als Alternative zur PIN.

**Nachweis:**
- `lib/core/auth/app_lock_service.dart`

**Notizen:** Nur verfügbar wenn Gerät Biometrie unterstützt.

### ZUG-03 — Auto-Sperre konfigurierbar

- **Kategorie:** Zugriffsschutz
- **Status:** ✅ erfüllt
- **Seit Version:** 1.5.0
- **Quelle:** BSI IT-GS APP.1.4

Sofort, 30 s, 1 min, 5 min oder Nie — UI in Sicherheits-Einstellungen.

**Nachweis:**
- `lib/ui/screens/security_settings_screen.dart`

### INT-01 — Hash-Kette über Log-Einträge

- **Kategorie:** Datenintegrität
- **Status:** ✅ erfüllt
- **Seit Version:** 1.6.0
- **Quelle:** GoBD Unveränderbarkeit

Jeder Log-Eintrag enthält SHA-256-Hash über kanonisierten Inhalt und Verweis auf Vorgänger (prev_hash).

**Nachweis:**
- `lib/services/hash_chain_service.dart`
- `test/hash_chain_test.dart`

### INT-02 — Einträge sind unveränderlich

- **Kategorie:** Datenintegrität
- **Status:** ✅ erfüllt
- **Seit Version:** 1.6.0
- **Quelle:** GoBD Unveränderbarkeit

Bestehende Einträge werden niemals überschrieben; Korrekturen erfolgen ausschließlich als neue Einträge mit Verweis.

**Nachweis:**
- `lib/data/repositories/log_entry_repository.dart`
- `test/log_entry_repository_test.dart`

### INT-03 — Master-Hash im PDF-Export

- **Kategorie:** Datenintegrität
- **Status:** ✅ erfüllt
- **Seit Version:** 1.6.0
- **Quelle:** GoBD Unveränderbarkeit

PDF-Export enthält Master-Hash der Mission (SHA-256 über die Konkatenation aller entry_hash) — Manipulation eines Eintrags ändert zwingend den Master-Hash.

**Nachweis:**
- `lib/services/pdf_export_service.dart`

### INT-04 — Integritäts-Statusbericht im PDF

- **Kategorie:** Datenintegrität
- **Status:** ✅ erfüllt
- **Seit Version:** 1.6.0
- **Quelle:** GoBD Nachvollziehbarkeit

Menschenlesbare PDF-Seite zwischen Inhalt und Master-Hash mit Mission-Status, Schreiber-Übersicht, Hash-Ketten-Prüfergebnis und Soft-Delete-Liste.

**Nachweis:**
- `lib/services/pdf_export_service.dart`

**Notizen:** Stufe 4, gebündelt in 1.6.x.

### VER-01 — Datenbank verschlüsselt

- **Kategorie:** Verschlüsselung
- **Status:** ✅ erfüllt
- **Seit Version:** 1.5.0
- **Quelle:** BSI IT-GS APP.1.4 / DSGVO Art. 32

SQLite via SQLCipher mit 256-Bit-Schlüssel; Schlüssel im Plattform-Keychain/Keystore.

**Nachweis:**
- `pubspec.yaml [sqflite_sqlcipher]`
- `lib/core/auth/db_key_service.dart`

### VER-02 — Backup verschlüsselt

- **Kategorie:** Verschlüsselung
- **Status:** ✅ erfüllt
- **Seit Version:** 1.5.0
- **Quelle:** DSGVO Art. 32

.etb-Backups optional AES-256-GCM-verschlüsselt mit passwort-abgeleitetem Schlüssel (PBKDF2, 200k Iterationen).

**Nachweis:**
- `lib/services/backup_service.dart`
- `lib/services/backup_encryption.dart`
- `test/backup_encryption_test.dart`

**Notizen:** Klartext-Backups bleiben rückwärts-kompatibel.

### DSG-01 — Auskunftsrecht — Personen-Datenexport

- **Kategorie:** Datenschutz / DSGVO
- **Status:** ✅ erfüllt
- **Seit Version:** 1.6.0
- **Quelle:** DSGVO Art. 15

Datenkopie zu einer betroffenen Person als PDF erzeugbar (DSGVO Art. 15).

**Nachweis:**
- `lib/services/personal_data_export_service.dart`
- `lib/ui/screens/personal_data_export_screen.dart`

**Notizen:** Stufe 3, gebündelt in 1.6.x.

### DSG-02 — Löschrecht — Personen-Soft-Delete

- **Kategorie:** Datenschutz / DSGVO
- **Status:** ✅ erfüllt
- **Seit Version:** 1.6.0
- **Quelle:** DSGVO Art. 17

Einzelne Personen aus Erfassungsbögen entfernbar mit Audit-Eintrag und Begründung.

**Nachweis:**
- `lib/services/privacy_service.dart`
- `lib/ui/screens/unit_persons_list_screen.dart`

**Notizen:** Soft-Delete; Hash-Kette bleibt intakt.

### DSG-03 — Mission-Anonymisierung

- **Kategorie:** Datenschutz / DSGVO
- **Status:** ✅ erfüllt
- **Seit Version:** 1.6.0
- **Quelle:** DSGVO Art. 17

Personenbezogene Felder einer abgeschlossenen Mission werden mit Platzhaltern überschrieben; Hash-Kette bleibt intakt.

**Nachweis:**
- `lib/services/privacy_service.dart`
- `test/privacy_service_invariants_test.dart`

**Notizen:** Stufe 3, gebündelt in 1.6.x.

### DSG-04 — Datenschutz-Übersicht in App

- **Kategorie:** Datenschutz / DSGVO
- **Status:** ✅ erfüllt
- **Seit Version:** 1.6.0
- **Quelle:** DSGVO Art. 13

Sektion in den Einstellungen erklärt, welche Daten wo, wie lange und mit welchen Rechten gespeichert werden.

**Nachweis:**
- `lib/ui/screens/privacy_info_screen.dart`

### NAW-01 — Audit-Log-Screen

- **Kategorie:** Beweissicherung / Audit-Trail
- **Status:** ✅ erfüllt
- **Seit Version:** 1.6.0
- **Quelle:** GoBD Nachvollziehbarkeit

In-App-Ansicht aller Korrekturen, Schließungen, Übergaben, Erfassungsbogen-Änderungen und Mission-Anonymisierungen.

**Nachweis:**
- `lib/services/audit_log_service.dart`
- `lib/ui/screens/audit_log_screen.dart`
- `test/audit_log_service_test.dart`

### NAW-02 — Schreiber pro Eintrag

- **Kategorie:** Beweissicherung / Audit-Trail
- **Status:** ✅ erfüllt
- **Seit Version:** 1.5.0
- **Quelle:** THWiki Einsatztagebuch (Eindeutigkeit Schreiber)

Jeder Eintrag, jede Übergabe und jede Lagemeldung enthält Name + Funktion des erfassenden Helfers.

**Nachweis:**
- `lib/data/models/log_entry.dart`
- `lib/data/models/handover_protocol.dart`
- `lib/data/models/situation_report.dart`

### NAW-03 — Multi-Profile für Schichtwechsel

- **Kategorie:** Beweissicherung / Audit-Trail
- **Status:** ✅ erfüllt
- **Seit Version:** 1.6.0
- **Quelle:** THWiki Einsatztagebuch (Eindeutigkeit Schreiber)

Mehrere Schreiber-Profile auf einem Gerät; aktives Profil wird sichtbar im ActiveUserChip; neue Einträge tragen den aktiven Schreiber.

**Nachweis:**
- `lib/providers/user_provider.dart`
- `lib/ui/screens/profiles_screen.dart`
- `lib/ui/widgets/active_user_chip.dart`

**Notizen:** Stufe 3, gebündelt in 1.6.x.

### NAW-04 — Foto-Watermark mit Schreiber + DTG

- **Kategorie:** Beweissicherung / Audit-Trail
- **Status:** ✅ erfüllt
- **Seit Version:** 1.6.0
- **Quelle:** GoBD Nachvollziehbarkeit

Foto-Anlagen werden beim Speichern mit Schreiber-Name und Aufnahmezeit (DTG) im Bild versehen; Original auf Wunsch archivierbar.

**Nachweis:**
- `lib/services/photo_service.dart`
- `lib/core/photo_watermark_service.dart`
- `test/photo_watermark_test.dart`

**Notizen:** Stufe 4, gebündelt in 1.6.x. Watermarking läuft im Isolate.

### BET-01 — Verfahrensdokumentation als PDF

- **Kategorie:** Betrieb / Verfahren
- **Status:** ✅ erfüllt
- **Seit Version:** 1.6.0
- **Quelle:** GoBD Verfahrensdokumentation

In-App generierbares PDF-Dokument zur GoBD-konformen Verfahrensbeschreibung (Schema, Hash-Verfahren, Workflows, Backup-Format, Sicherheitsmechanismen).

**Nachweis:**
- `lib/services/procedure_doc_service.dart`
- `lib/ui/screens/procedure_doc_screen.dart`
- `test/procedure_doc_test.dart`

**Notizen:** Stufe 4, gebündelt in 1.6.x. Test prüft Tabellen-Vollständigkeit.

### BET-02 — Aufbewahrungsdauer 10 Jahre

- **Kategorie:** Betrieb / Verfahren
- **Status:** ✅ erfüllt
- **Seit Version:** 1.6.0
- **Quelle:** THWiki

Hinweis auf Aufbewahrungspflicht in Datenschutz-Sektion; App löscht nicht automatisch — Verantwortung beim Anwender.

**Nachweis:**
- `lib/ui/screens/privacy_info_screen.dart`

### BET-03 — Compliance-Bericht versionskontrolliert

- **Kategorie:** Betrieb / Verfahren
- **Status:** ✅ erfüllt
- **Seit Version:** 1.6.0
- **Quelle:** GoBD Verfahrensdokumentation

Pro Release wird unter compliance/reports/v{version}+{build}.md ein Snapshot eingefroren; in der App über Einstellungen abrufbar und teilbar.

**Nachweis:**
- `compliance/checklist.yaml`
- `tool/generate_compliance_report.dart`
- `lib/core/compliance_data.dart`
- `lib/ui/screens/compliance_screen.dart`

**Notizen:** Selbstbezüglich — dieser Eintrag dokumentiert das Werkzeug, das ihn ausspielt.

## Hinweis

Dieser Bericht ist eine Selbstauskunft. Höhere Beweiskraft erreichst du durch (a) externe Hashing-/Notarisierungs-Dienste bei Auslieferung oder (b) Veröffentlichung der Reports auf einer öffentlichen Quelle (z.B. GitHub Releases). Der Master-Hash am Ende dieses Dokuments erlaubt jedem Empfänger die Konsistenzprüfung gegen die in der App eingebettete Version (`lib/core/compliance_data.dart`).
## Master-Hash

`d45a236e9efc282011536e21935cad228d0e4f52f6aca3119503a97fdade234d`
