docs: README, Datenschutztexte, Dockerfile und Sicherungsskripte

Damit ist Etappe 1 abgeschlossen und betriebsfertig dokumentiert.

README mit beiden Betriebswegen. Docker Compose auf eigenem Server ist
der Hauptweg; Vercel und Neon sind vollstaendig beschrieben, aber mit
einer klaren Begruendung, warum ich davon abrate: beide Anbieter sind
US-Unternehmen und unterliegen auch bei EU-Region potenziell dem
CLOUD-Act. Bei Gesundheitsdaten einer nicht entscheidungsfaehigen Person
ist das eine Abwaegung, die man bewusst treffen muss.

Reverse-Proxy-Beispiele fuer Caddy, nginx und Traefik - der Proxy selbst
ist nicht Teil des Compose-Setups, weil er auf dem Zielserver schon
steht. Die Datenbank hat keine Portfreigabe.

Sicherung: pg_dump schreibt direkt in die Verschluesselung, der Klartext
landet nie auf der Platte. Danach eine Selbstpruefung - laesst sich die
Datei nicht wieder entschluesseln, endet der Lauf mit Fehler statt mit
einem stillen Scheinerfolg. Der jeweils erste Stand eines Monats bleibt
dauerhaft stehen.

Die README sagt ausdruecklich, was das Backup NICHT enthaelt: den
Schluessel ENC_KEY_V1 und die Dateien im Objektspeicher. Dazu eine
Anleitung, die Wiederherstellung einmal im Jahr zu ueben - mit dem
letzten Schritt, in der Anwendung nachzusehen, ob die Diagnosen im
Klartext erscheinen. Erst dann stimmt nicht nur die Datenbank, sondern
auch der Schluessel.

Verarbeitungsverzeichnis und Datenschutzhinweise als ausfuellbare
Textbausteine. Die Hinweise sind in einfacher Sprache geschrieben - sie
sollen der betreuten Person vorgelesen werden koennen. Die Seite
/datenschutz liest denselben Text aus docs/, damit es nicht zwei
Fassungen gibt, die auseinanderlaufen.

Dockerfile in drei Stufen mit Tesseract, deutschen Sprachdaten und
poppler-utils. Zeitzone Europe/Berlin ist gesetzt - ohne sie rechnet der
Server in UTC und verschiebt Fristen um einen Tag.

Etappe: 1
Phase: Fundament
This commit is contained in:
Florian Wilde
2026-08-22 02:35:08 +02:00
parent 6b4df4c9cb
commit 3833a9dd8f
141 changed files with 30302 additions and 66 deletions
+193
View File
@@ -0,0 +1,193 @@
# Verzeichnis von Verarbeitungstätigkeiten
nach Art. 30 DSGVO
> **Textbaustein.** Die eckigen Klammern musst du ausfüllen. Der Rest
> beschreibt, was die Anwendung tatsächlich tut, und stimmt mit dem Code
> überein. Stand: siehe Änderungsdatum dieser Datei.
---
## 1. Verantwortlicher
| Feld | Angabe |
|---|---|
| Name | [Vorname Nachname] |
| Anschrift | [Straße, PLZ Ort] |
| E-Mail | [E-Mail] |
| Telefon | [Telefon] |
| Funktion | Ehrenamtlich bestellter rechtlicher Betreuer nach §§ 1814 ff. BGB |
| Bestellung durch | [Amtsgericht], Az. [Aktenzeichen], vom [Datum] |
**Datenschutzbeauftragter:** nicht erforderlich. Die Verarbeitung erfolgt
durch eine einzelne natürliche Person im Rahmen einer ehrenamtlichen
Betreuung; die Voraussetzungen des Art. 37 DSGVO bzw. § 38 BDSG liegen
nicht vor.
---
## 2. Zwecke der Verarbeitung
Wahrnehmung der durch das Betreuungsgericht übertragenen Aufgabenkreise,
insbesondere:
- Vermögenssorge einschließlich der Rechnungslegung gegenüber dem
Betreuungsgericht (§§ 1835, 1859, 1865 BGB)
- Gesundheitssorge einschließlich der Dokumentation von Behandlungen,
Krankenhausaufenthalten und des ermittelten Willens (§ 1821 BGB)
- Erfüllung der Berichtspflichten (§ 1863 BGB)
- Antragstellung und Verfahrensführung gegenüber Sozialleistungsträgern
(SGB XI, SGB XII, SGB V, SGB IX)
- Fristenüberwachung und Nachweisführung
---
## 3. Rechtsgrundlagen
| Datenkategorie | Rechtsgrundlage |
|---|---|
| Allgemeine Personen-, Vermögens- und Vertragsdaten | Art. 6 Abs. 1 lit. c DSGVO — rechtliche Verpflichtung aus §§ 1814 ff. BGB |
| | Art. 6 Abs. 1 lit. e DSGVO — Wahrnehmung einer im öffentlichen Interesse liegenden Aufgabe |
| Gesundheitsdaten (Art. 9 Abs. 1 DSGVO) | Art. 9 Abs. 2 lit. c DSGVO — Schutz lebenswichtiger Interessen einer Person, die außerstande ist, ihre Einwilligung zu geben |
| | Art. 9 Abs. 2 lit. f DSGVO — Geltendmachung von Rechtsansprüchen |
| | soweit einwilligungsfähig: Art. 9 Abs. 2 lit. a DSGVO |
| Protokollierung (Audit-Log) | Art. 6 Abs. 1 lit. c DSGVO i.V.m. Art. 5 Abs. 2 DSGVO (Rechenschaftspflicht) und der Nachweispflicht gegenüber dem Betreuungsgericht |
---
## 4. Kategorien betroffener Personen
- Die betreute Person
- Kontaktpersonen: Rechtspfleger, Sachbearbeiter der Sozialleistungsträger,
Heim- und Pflegedienstleitung, behandelnde Ärzte, Notare, Makler,
Versicherungsvertreter, Steuerberater, Handwerker
- Angehörige, soweit sie in Kontaktprotokollen erwähnt werden
- Nutzer der Anwendung (Betreuer, Mitleser)
---
## 5. Kategorien personenbezogener Daten
**Zur betreuten Person**
| Kategorie | Beispiele | Verschlüsselt? |
|---|---|---|
| Stammdaten | Name, Geburtsdatum, Geburtsort, Anschrift | nein |
| Aufenthalt | Einrichtung, Zimmer, Einzugsdatum | nein |
| Gerichtsdaten | Aktenzeichen, Bestellungsdatum, Aufgabenkreise | nein |
| **Gesundheitsdaten** | Diagnosen, Pflegegrad, Behandlungsverlauf, Krankenhausaufenthalte, Hilfsmittel, Impfungen | **ja** |
| **Ermittelter Wille** | Wünsche, Behandlungsvorstellungen | **ja** |
| **Versichertennummern** | Kranken-, Renten-, Steuernummer | **ja** |
| Finanzdaten | Buchungen, Salden, Vermögenswerte | nein (Beträge) |
| **Kontoverbindungen** | IBAN, Vertragsnummern | **ja** |
| **Freitexte** | Notizen, Gesprächsinhalte, Begründungen | **ja** |
| Dokumente | Behördenschreiben, Bescheide, Verträge, Fotos | Datei im Objektspeicher |
**Zu Nutzern der Anwendung**
Name, E-Mail-Adresse, Passwort-Hash (Argon2id), TOTP-Geheimnis
(verschlüsselt), Rolle, Zeitpunkt der letzten Anmeldung, pseudonymisierte
IP-Adresse (HMAC), User-Agent.
---
## 6. Empfänger
| Empfänger | Anlass | Grundlage |
|---|---|---|
| Betreuungsgericht [Amtsgericht] | Jahresbericht, Vermögensverzeichnis, Rechnungslegung, Genehmigungsanträge | §§ 1835, 1859, 1863, 1865 BGB |
| [Bezirk Oberfranken] | Antrag auf Hilfe zur Pflege, Nachweise | SGB XII |
| Kranken- und Pflegekasse | Anträge, Widersprüche | SGB V, SGB XI |
| [Hosting-Anbieter] | technischer Betrieb | Auftragsverarbeitung, Art. 28 DSGVO |
| [Objektspeicher-Anbieter] | Dateiablage | Auftragsverarbeitung, Art. 28 DSGVO |
| Mitleser mit modulweiser Freigabe | Einsicht in freigegebene Bereiche | Entscheidung des Betreuers, dokumentiert im Audit-Log |
**Auftragsverarbeitungsverträge liegen vor:** ☐ Hosting ☐ Objektspeicher
---
## 7. Drittlandübermittlung
**Keine.** Alle Verarbeitungen finden auf Servern in der Bundesrepublik
Deutschland statt. Die Anwendung lädt keine externen Schriften, Skripte,
Bilder oder Analysedienste nach; die Content-Security-Policy unterbindet
Verbindungen zu fremden Hosts technisch.
Aktueller Standort: [Rechenzentrum, Ort]
---
## 8. Löschfristen
| Daten | Frist | Begründung |
|---|---|---|
| Fachdaten der Betreuung | 10 Jahre nach Ende der Betreuung | Aufbewahrung der Rechnungslegungsunterlagen, analog § 147 AO und zur Abwehr von Ansprüchen |
| Audit-Log | 10 Jahre | Nachweis gegenüber Gericht und möglichen Miterben |
| Papierkorb | 30 Tage, danach endgültige Löschung | technische Umsetzung |
| Anmeldeversuche | 30 Tage | nur für die Sperrlogik erforderlich |
| Sicherungen | 30 Tage rollierend, Monatsstände dauerhaft | Wiederherstellbarkeit |
Nach Ende der Betreuung werden die Unterlagen an den Nachfolger oder an die
Erben herausgegeben; anschließend erfolgt die Löschung.
---
## 9. Technische und organisatorische Maßnahmen (Art. 32 DSGVO)
**Vertraulichkeit**
- Zugangskontrolle: E-Mail und Passwort (Argon2id, 19 MiB, t=2, p=1) **plus
verpflichtender zweiter Faktor** (TOTP, RFC 6238). Der zweite Faktor lässt
sich nicht abschalten.
- Rate-Limiting am Login nach Kennung und Anschluss; Sperre nach 5
Fehlversuchen in 15 Minuten.
- Sitzungsablauf nach 30 Minuten Leerlauf; erneute Anmeldung vor Export,
endgültigem Löschen und Rollenänderungen.
- Rollen- und modulbezogene Zugriffskontrolle, serverseitig gegen die
Betreuten-ID geprüft.
- Transportverschlüsselung (TLS 1.2+) durch den vorgeschalteten Proxy.
- **Verschlüsselung im Ruhezustand auf Feldebene** mit AES-256-GCM für
Gesundheitsdaten, Kontoverbindungen und Freitexte. Der Schlüssel liegt in
der Serverumgebung, nicht in der Datenbank.
**Integrität**
- Unveränderliches Audit-Log; UPDATE und DELETE werden auf Datenbankebene
durch Trigger abgewiesen.
- SHA-256-Prüfsummen über hochgeladene Dokumente.
- Historisierung von Vermögens- und Kontoständen; Werte werden nie
überschrieben.
- Eingabeprüfung serverseitig mit Zod; Prüfung von Uploads an den Magic
Bytes statt an Dateiendung oder gemeldetem MIME-Typ.
**Verfügbarkeit**
- Tägliche verschlüsselte Sicherung mit Selbstprüfung, Aufbewahrung 30 Tage,
Monatsstände dauerhaft.
- Dokumentierte Wiederherstellungsanleitung; jährliche Wiederherstellungsübung.
- Ein-Klick-Vollexport (ZIP mit Dateien, Daten und Berichten), damit kein
Datensilo entsteht.
**Belastbarkeit und Überprüfung**
- Automatisierte Tests der Fachlogik und der kritischen Abläufe.
- Strenge Content-Security-Policy mit Nonce je Anfrage.
- Keine externen Ressourcen, keine Analysedienste, keine Tracker.
---
## 10. Datenschutz-Folgenabschätzung
Eine Folgenabschätzung nach Art. 35 DSGVO wurde geprüft. Es werden
umfangreich besondere Kategorien personenbezogener Daten nach Art. 9 DSGVO
verarbeitet (Gesundheitsdaten). Die Verarbeitung erfolgt jedoch durch eine
einzelne Person für **eine** betreute Person, ohne Profilbildung, ohne
automatisierte Entscheidungen im Sinne des Art. 22 DSGVO und ohne
systematische Überwachung.
Ergebnis: [Eine Folgenabschätzung wird als nicht erforderlich angesehen. /
Eine Folgenabschätzung wurde durchgeführt, siehe Anlage.]
---
*Erstellt am: [Datum] · Zuletzt geprüft am: [Datum]*