Selbstauskunft · nachprüfbar Self-disclosure · verifiable

Vertrauen ist gut, Nachweis ist besser. Trust is good, evidence is better.

Einsatztagebuch erfüllt die Anforderungen aus GoBD (Unveränderbarkeit, Nachvollziehbarkeit, Verfahrensdokumentation), DSGVO (Art. 13/15/17/32) und BSI IT-Grundschutz APP.1.4 und arbeitet an EN 301 549 (Barrierefreiheit). Pro Release wird ein Compliance-Bericht eingefroren, in der App eingebettet und hier veröffentlicht — mit Master-Hash zum Verifizieren. Einsatztagebuch fulfills the requirements of GoBD (immutability, traceability, procedure docs), GDPR (Art. 13/15/17/32) and BSI IT baseline protection APP.1.4, and is working towards EN 301 549 (accessibility). A compliance report is frozen per release, embedded in the app, and published here — with a master hash for verification.

26 / 30
Anforderungen erfüllt, 4 teilweiseRequirements met, 4 partial
v2.2.2
Aktuelle Version (Build 67)Current version (build 67)
v19
Datenbank-SchemaDatabase schema

Compliance-MatrixCompliance matrix

Jede Anforderung verweist auf den Standard, aus dem sie abgeleitet ist, und nennt die Version, seit der sie nachweislich erfüllt wird. Detaillierte Code-Nachweise stehen im vollständigen Bericht. Each requirement references the standard it is derived from and the version since which it is demonstrably fulfilled. Detailed code references are in the full report.

🔐 Zugriffsschutz🔐 Access protection

ID AnforderungRequirement StatusStatus SeitSince QuelleSource
ZUG-01App-Lock mit PINApp lock with PINerfülltfulfilled1.5.0BSI IT-GS APP.1.4
ZUG-02Biometrische EntsperrungBiometric unlockerfülltfulfilled1.5.0BSI IT-GS APP.1.4
ZUG-03Auto-Sperre konfigurierbarConfigurable auto-lockerfülltfulfilled1.5.0BSI IT-GS APP.1.4
ZUG-04Brute-Force-Schutz der PINPIN brute-force protectionerfülltfulfilled2.0.0BSI IT-GS APP.1.4

🔗 Datenintegrität🔗 Data integrity

ID AnforderungRequirement StatusStatus SeitSince QuelleSource
INT-01Hash-Kette über Log-EinträgeHash chain over log entrieserfülltfulfilled1.6.0GoBD UnveränderbarkeitGoBD immutability
INT-02Einträge sind unveränderlichEntries are immutableerfülltfulfilled1.6.0GoBD UnveränderbarkeitGoBD immutability
INT-03Master-Hash im PDF-ExportMaster hash in PDF exporterfülltfulfilled1.6.0GoBD UnveränderbarkeitGoBD immutability
INT-04Integritäts-Statusbericht im PDFIntegrity status report in PDFerfülltfulfilled1.6.0GoBD NachvollziehbarkeitGoBD traceability
INT-05Abbruchsichere Datenbank-MigrationCrash-safe database migrationerfülltfulfilled2.0.0GoBD DatenintegritätGoBD data integrity
INT-06Integritätsprüfung bei Backup-WiederherstellungIntegrity check on backup restoreerfülltfulfilled2.0.0GoBD DatenintegritätGoBD data integrity

🔒 Verschlüsselung🔒 Encryption

ID AnforderungRequirement StatusStatus SeitSince QuelleSource
VER-01Datenbank verschlüsseltDatabase encryptederfülltfulfilled1.5.0BSI IT-GS APP.1.4 / DSGVO Art. 32
VER-02Backup verschlüsseltBackup encryptederfülltfulfilled1.5.0DSGVO Art. 32
VER-03Schlüssel gerätegebunden & Keystore-gestütztDevice-bound, Keystore-backed keyserfülltfulfilled2.0.0BSI IT-GS SYS.4.5 / APP.4.3
VER-04Ablageort ohne Cloud-SpiegelungStorage location without cloud mirroringerfülltfulfilled2.0.2DSGVO Art. 32 / Art. 28

🛡️ Datenschutz / DSGVO🛡️ Data protection / GDPR

ID AnforderungRequirement StatusStatus SeitSince QuelleSource
DSG-01Auskunftsrecht — Personen-DatenexportRight of access — personal data exporterfülltfulfilled1.6.0DSGVO Art. 15
DSG-02Löschrecht — Personen-Soft-DeleteRight to erasure — personal soft-deleteerfülltfulfilled1.6.0DSGVO Art. 17
DSG-03Mission-AnonymisierungMission anonymizationerfülltfulfilled1.6.0DSGVO Art. 17
DSG-04Datenschutz-Übersicht in AppPrivacy overview in apperfülltfulfilled1.6.0DSGVO Art. 13

📜 Beweissicherung / Audit-Trail📜 Evidence / Audit trail

ID AnforderungRequirement StatusStatus SeitSince QuelleSource
NAW-01Audit-Log-ScreenAudit log screenerfülltfulfilled1.6.0GoBD NachvollziehbarkeitGoBD traceability
NAW-02Schreiber pro EintragWriter per entryerfülltfulfilled1.5.0THWiki (Eindeutigkeit Schreiber)THWiki (writer uniqueness)
NAW-03Multi-Profile für SchichtwechselMulti-profile for shift changeerfülltfulfilled1.6.0THWiki (Eindeutigkeit Schreiber)THWiki (writer uniqueness)
NAW-04Foto-Watermark mit Schreiber + DTGPhoto watermark with writer + DTGerfülltfulfilled1.6.0GoBD NachvollziehbarkeitGoBD traceability
NAW-05Audit-Trail für Lösch-/AnonymisierungsaktionenAudit trail for erasure/anonymizationerfülltfulfilled2.0.0DSGVO Art. 5 Abs. 2GDPR Art. 5(2)

📋 Betrieb / Verfahren📋 Operations / Procedure

ID AnforderungRequirement StatusStatus SeitSince QuelleSource
BET-01Verfahrensdokumentation als PDFProcedure documentation as PDFerfülltfulfilled1.6.0GoBD VerfahrensdokuGoBD procedure docs
BET-02Aufbewahrungsdauer 10 Jahre10-year retention perioderfülltfulfilled1.6.0THWiki
BET-03Compliance-Bericht versionskontrolliertCompliance report version-controllederfülltfulfilled1.6.0GoBD VerfahrensdokuGoBD procedure docs

♿ Barrierefreiheit♿ Accessibility

Diese Kategorie ist seit 2.0.3 neu und bewusst noch nicht auf Grün. Was automatisiert nachgewiesen ist, steht unten; was fehlt, steht in den Notizen des vollständigen Berichts — insbesondere ein Durchgang mit TalkBack und VoiceOver auf echten Geräten. This category is new in 2.0.3 and deliberately not green yet. What is verified automatically is listed below; what is missing is stated in the notes of the full report — in particular a pass with TalkBack and VoiceOver on real devices.

ID AnforderungRequirement StatusStatus SeitSince QuelleSource
BAR-01FarbkontrasteColour contrastteilweise erfülltpartially fulfilled2.0.3EN 301 549 / WCAG 2.1 AA
BAR-02Mindestgrößen von BedienelementenMinimum control sizesteilweise erfülltpartially fulfilled2.0.3EN 301 549 / WCAG 2.1 AAA
BAR-03Skalierbare SchriftScalable textteilweise erfülltpartially fulfilled2.0.3EN 301 549 / WCAG 2.1 AA
BAR-04Screenreader-UnterstützungScreen reader supportteilweise erfülltpartially fulfilled2.0.3EN 301 549 / WCAG 2.1 A

Sicherheits-Architektur in KlartextSecurity architecture in plain language

Wo liegen die Daten?Where is the data?

Ausschließlich auf deinem Gerät. Kein Server, keine Cloud, keine Telemetrie. Auch der Entwickler hat keinen Zugriff. Backups gehen nur dorthin, wohin du sie selbst exportierst.Exclusively on your device. No server, no cloud, no telemetry. Not even the developer has access. Backups only go where you export them.

Was ist verschlüsselt?What is encrypted?

Die SQLite-Datenbank via SQLCipher mit AES-256. Backups optional AES-256-GCM mit PBKDF2 (200 000 Iterationen). Schlüssel liegen im Plattform-Keychain bzw. Keystore — niemals im Klartext im Dateisystem.The SQLite database via SQLCipher with AES-256. Backups optionally AES-256-GCM with PBKDF2 (200 000 iterations). Keys live in the platform keychain or keystore — never in plain text on the filesystem.

Was passiert bei Geräteverlust?What if the device is lost?

App-Lock mit PIN und Biometrie greift beim Start und nach Hintergrundwechsel. Auto-Sperre konfigurierbar von „sofort" bis „nie". Ohne Schlüssel ist die DB unbrauchbar.App lock with PIN and biometrics triggers on launch and after backgrounding. Auto-lock configurable from "immediately" to "never". Without the key, the DB is unusable.

Wer kann Einträge ändern?Who can change entries?

Niemand. Bestehende ETB-Einträge werden nicht überschrieben. Korrekturen werden ausschließlich als neue Einträge mit Verweis auf das Original angelegt — beide bleiben sichtbar. Garantiert durch die Hash-Kette.No one. Existing diary entries are not overwritten. Corrections are only ever new entries that reference the original — both stay visible. Guaranteed by the hash chain.

Wie funktioniert die Hash-Kette?How does the hash chain work?

Jeder Eintrag erhält einen SHA-256-Hash über seine kanonisierten Inhaltsfelder plus den Hash des Vorgängers. Manipulation eines Eintrags bricht die Kette zwingend. Der Master-Hash am Ende des PDF fasst die gesamte Kette zusammen.Every entry gets a SHA-256 hash over its canonicalized content plus the predecessor's hash. Tampering with any entry necessarily breaks the chain. The master hash at the end of the PDF summarizes the entire chain.

Was protokolliert die App?What does the app log?

Korrekturen, Mission-Schließungen, Übergaben, Erfassungsbogen-Änderungen, Anonymisierungen und Personen-Soft-Deletes — chronologisch im Audit-Log-Screen einsehbar und im PDF dokumentiert.Corrections, mission closures, handovers, registration changes, anonymizations and personal soft-deletes — chronologically viewable in the audit log screen and documented in the PDF.

So funktioniert die BeweisführungHow evidence works

Die Beweiskraft entsteht aus drei ineinandergreifenden Mechanismen — keiner allein reicht, gemeinsam machen sie eine Manipulation rechnerisch nachweisbar. Evidential strength comes from three interlocking mechanisms — none suffices alone, but together they make tampering mathematically detectable.

  1. Hash je Eintrag.Per-entry hash. Beim Anlegen eines Eintrags wird in derselben Datenbank-Transaktion ein SHA-256 über die kanonisierten Inhaltsfelder berechnet (Lfd-Nr, Zeit, Text, Schreiber, Korrektur-Verweise — bewusst ohne Foto-Pfad, damit DSGVO-Foto-Entfernung die Kette nicht bricht) und mit dem Hash des Vorgängereintrags verkettet. When an entry is created, a SHA-256 over the canonicalized content fields (sequence number, time, text, writer, correction references — deliberately without the photo path, so GDPR photo removal does not break the chain) is computed in the same DB transaction and chained with the predecessor's hash.
  2. Master-Hash je Mission.Per-mission master hash. Beim PDF-Export wird ein Master-Hash über die Konkatenation aller Eintrags-Hashes der Mission gebildet und auf einer eigenen letzten Seite ausgewiesen — zusammen mit Lfd-Nr, Zeit und Hash-Kurzwert pro Eintrag. On PDF export, a master hash is computed over the concatenation of all entry hashes for that mission and printed on its own final page — alongside sequence number, time, and a hash short-value per entry.
  3. Verifikation jederzeit nachholbar.Verification possible at any time. Aus jeder Backup- oder Live-DB lässt sich die Kette neu berechnen. Stimmt der so erzeugte Master-Hash mit dem im historischen PDF überein, ist nichts manipuliert worden — und falls doch, sieht man genau, an welchem Eintrag die Kette bricht. The chain can be recomputed from any backup or live DB. If the recomputed master hash matches the one in the historical PDF, nothing has been tampered with — and if not, you can see exactly which entry breaks the chain.

Der Compliance-BerichtThe compliance report

Die Source of Truth ist compliance/checklist.yaml im Repo. Pro Release rendert ein Generator daraus einen unveränderlichen Markdown-Snapshot, hängt einen Master-Hash über den Bericht-Body an und bettet eine Kopie in die App ein. Beide Werte müssen übereinstimmen — die App-interne und die hier öffentlich verfügbare Version. The source of truth is compliance/checklist.yaml in the repo. For every release, a generator renders an immutable Markdown snapshot, appends a master hash over the report body, and embeds a copy in the app. Both values must match — the in-app version and the publicly available one here.

📄
Aktueller BerichtCurrent report v2.2.2 (Build 67) · Markdown
🏛️
GoBD BMF-Schreiben (Quelle)BMF letter (source)
🛡️
BSI APP.1.4 Mobile Anwendungen (Quelle)Mobile applications (source)
⚖️
DSGVO EU-Verordnung 2016/679 (Quelle)EU regulation 2016/679 (source)

Bericht-Archiv (alle Releases)Report archive (all releases)

Master-Hash dieses BerichtsMaster hash of this report

SHA-256 über den Markdown-Body von v2.2.2+67.md, ohne den ## Master-Hash-Block — identisch mit dem Wert in der App unter Einstellungen → Rechtliches → Compliance. SHA-256 over the Markdown body of v2.2.2+67.md, excluding the ## Master-Hash block — identical to the value in the app under Settings → Legal → Compliance.

30d692a64edd3bdd46d23a1d6ef3d30fb8e33c3a14ccfa1557c251977bac5938

Grenzen dieser SelbstauskunftLimits of this self-disclosure

Dies ist keine Zertifizierung durch eine externe Prüfstelle. Höhere Beweiskraft entsteht durch (a) Notarisierungs-Dienste bei Auslieferung jeder PDF oder (b) Veröffentlichung der Reports auf einer öffentlichen, indexierten Quelle (Github Release, Webseite — diese Seite hier). Der Master-Hash erlaubt jedem Empfänger einen Konsistenz-Vergleich mit der in der App eingebetteten Version. Die Verantwortung für die ordnungsgemäße Führung des Einsatztagebuchs und die Einhaltung dienstlicher Vorgaben (z.B. VS-NfD) verbleibt bei der einsatzführenden Stelle. This is not a certification by an external auditor. Higher evidential strength comes from (a) notarization services on every PDF release or (b) publishing reports on a public, indexed source (GitHub release, website — like this page). The master hash lets any recipient verify consistency against the version embedded in the app. Responsibility for proper diary keeping and compliance with service-internal rules (e.g. classified information) remains with the operating unit.

Zurück zur StartseiteBack to home