# Änderungen Alle nennenswerten Änderungen an dieser Anwendung, in umgekehrter Reihenfolge. Aufbau nach [Keep a Changelog](https://keepachangelog.com/de/1.1.0/), Versionsnummern nach [Semantic Versioning](https://semver.org/lang/de/). **Was hier steht:** was sich für dich beim Arbeiten ändert — nicht, welche Datei angefasst wurde. Wer den technischen Verlauf braucht, findet ihn im Git-Log; jeder Commit trägt seine Etappe. **Was die Zahlen bedeuten:** | Stelle | Wann sie steigt | Was du tun musst | |---|---|---| | **Major** (1.x.x → 2.0.0) | Etwas verhält sich anders als vorher, oder eine Migration lässt sich nicht zurücknehmen | Changelog lesen, **vorher sichern**, Zeit einplanen | | **Minor** (1.0.x → 1.1.0) | Neue Funktionen, alles Bisherige bleibt wie es war | Changelog überfliegen, normal aktualisieren | | **Patch** (1.0.0 → 1.0.1) | Fehler behoben, sonst nichts | Einfach aktualisieren | Eine Datenbank-Migration lässt sich **nicht** zurückrollen. Vor jedem Update ein Backup anstoßen — siehe README, Abschnitt *Sicherung und Wiederherstellung*. --- ## [Unveröffentlicht] _Noch nichts._ ## [1.0.0] – 2026-08-22 Erste vollständige Fassung. Alle acht Etappen umgesetzt, alle Abnahmekriterien als Test hinterlegt. ### Hinzugefügt **Der Alltag** - **Dashboard „Heute"** — beantwortet morgens, was ansteht: Fristen-Ampel (überfällig / diese Woche / diesen Monat), wer gerade am Zug ist, offene Nachforderungen des Bezirks, ungeprüfter Posteingang, unverbuchte Belege, Kennzahlen zu Vermögen und Heimkosten. - **Fristen** — die gesetzlichen Pflichtfristen entstehen von selbst aus dem Bestellungsdatum: Vermögensverzeichnis und Anfangsbericht nach drei Monaten, Jahresbericht und Vermögensübersicht zum Ende jedes Betreuungsjahres, Aufwandspauschale, Landespflegegeld, Zuzahlungsbefreiung, Rückkaufswerte. Liste, Monatskalender und ein ICS-Feed zum Abonnieren im eigenen Kalender. - **Vorgänge** als Fallakte mit Zeitstrahl über Dokumente, Protokolle, Fristen und Buchungen. Neun Vorlagen mit vorbefüllter Aufgabenliste, darunter Heimeinzug, Antrag Hilfe zur Pflege, Wohnungsauflösung, Hausverkauf, Darlehen nach § 91 SGB XII und Widerspruch gegen einen Bescheid. - **Kontakte und Kontaktprotokoll** — Verzeichnis aller Stellen mit Aktenzeichen, dazu eine Schnellerfassung, die am Handy in unter zwanzig Sekunden zu bedienen ist. **Papier** - **Dokumentenablage** mit Drag & Drop, Sammel-Upload und Handy-Foto. Texterkennung auf Deutsch, Volltextsuche über alle Schreiben, Posteingangsbuch mit den Stufen neu → gesichtet → zugeordnet → beantwortet, Feld für den Ablageort des Papieroriginals. - Beim Import werden **Absender, Datum, Aktenzeichen, Dokumentart und eine im Text genannte Frist vorgeschlagen** — mit der Textstelle daneben, damit man prüfen kann. Übernommen wird nur auf Klick. - **Belegmappe**: alle Dokumente eines Vorgangs oder Zeitraums als eine chronologisch sortierte, paginierte PDF mit Deckblatt und Inhaltsverzeichnis. **Geld** - **Kassenbuch** mit Belegzwang, Kategorien, CSV- und CAMT.053-Import. Harte Trennung zwischen dem Vermögen der betreuten Person und eigenen Auslagen, mit Warnung bei Buchungen auf ein als privat markiertes Konto. - **Konten** mit verschlüsselter IBAN und Saldoständen je Stichtag, **Vermögensposten** mit vollständiger Wert-Historie und Pflichtangabe zur Wertquelle. Werte werden nie überschrieben. - **Vermögensverzeichnis (§ 1835 BGB)** und **Vermögensübersicht bzw. Rechnungslegung (§§ 1859, 1865 BGB)** als druckfertige PDF, in zwei Ausgabevarianten für befreite und nicht befreite Betreuer. **Behörde** - **Sozialhilfe-Modul** für das Verfahren beim Bezirk: Antragsakte, Nachforderungs-Tracker mit Fortschrittsbalken, vorbefüllte Checkliste der Standardunterlagen mit Begründung, warum der Träger sie will. - **Bescheid-Prüfung** mit Berechnung der Rechtsbehelfsfrist ab dem Zugangsdatum, einschließlich Wochenende, bayerischer Feiertage und dem Sonderfall fehlender Rechtsbehelfsbelehrung. Der Rechenweg wird ausgegeben. - **Heimkosten-Gegenüberstellung** Monat für Monat: Kosten gegen Pflegekasse, Leistungszuschlag nach § 43c SGB XI, Rente und Sozialhilfeanteil — die Deckungslücke wird sichtbar. - **Schonvermögens-Bewertung** je Posten (verwertbar / geschützt / strittig) mit Begründungsfeld und Textbausteinen zu § 90 SGB XII. - **Katalog weiterer Leistungen**: Landespflegegeld, Zuzahlungsbefreiung, Rundfunkbeitragsbefreiung, Schwerbehindertenausweis, Grundsicherung. **Substanz** - **Immobilie** mit Grundbuchdaten, Belastungen nach Abteilung II und III, Wert-Historie, Status im Sozialhilfeverfahren und einer Pflichten-Checkliste bei Leerstand — zehn Punkte, jeder mit Begründung. - **Versicherungen und Verträge** mit Kündigungsfristen-Rechner, der den spätesten Absendetag nennt, Anschreiben zur Rückkaufswert-Anfrage mit automatischer Wiedervorlage und einem Kündigungs-Assistenten. - **Heim und Pflege** mit Heimvertrag, Leistungszuschlag-Staffel, Pflegegrad-Historie, Abwesenheitstagen und einem Gesundheitsverlauf mit COPD-Bezug: Exazerbationen, Sauerstoff, Stürze, Krankenhaus, Hilfsmittel, Impfungen nach STIKO-Plan. **Ausgabe** - **Jahresbericht (§ 1863 BGB)** als Entwurf zum Überarbeiten, gespeist aus Kontaktprotokollen, Gesundheitsereignissen und Vorgangsstatus. Ausgabe als PDF und als DOCX. - **Unterlagenpaket für den Bezirk**: die im Tracker markierten Dokumente als eine PDF mit Anschreiben und Inhaltsverzeichnis. - **Vollexport** als ZIP mit allen Originaldateien, allen Daten als entschlüsseltes JSON, den erzeugten Berichten, einer LIESMICH und SHA-256-Prüfsummen. - **Wissensbasis** mit 37 Hinweiskarten, pflegbar als JSON-Datei ohne Neustart. Jede mit Rechtsgrundlage, Link und dem stehenden Vermerk, dass sie keine Rechtsberatung ersetzt. **Verwaltung** - **Mitleser-Rolle** mit modulweiser Freigabe und ausdrücklicher Warnung bei Gesundheit, Finanzen und Sozialhilfe. - **Papierkorb** mit 30 Tagen Aufbewahrung. - **Wartungslauf** über `/api/wartung`: Fristerinnerungen per E-Mail, Papierkorb leeren, alte Anmeldeversuche entfernen. ### Sicherheit - **Pflicht-Zweitfaktor** (TOTP nach RFC 6238). Lässt sich nicht abschalten. Acht Wiederherstellungscodes, einzeln Argon2id-gehasht. - **Anwendungsseitige Feldverschlüsselung** mit AES-256-GCM für Diagnosen, den ermittelten Willen, IBANs, Versicherungs-, Renten- und Steuernummern sowie alle Freitext-Notizen. Der Feldname wird mitauthentifiziert — ein Geheimtext lässt sich nicht von einem Feld in ein anderes umhängen. Schlüsselrotation ohne Datenverlust vorgesehen. - **Argon2id** nach OWASP-Empfehlung, mit automatischem Nachziehen bei späterer Parametererhöhung. - **Rate-Limiting** am Login nach E-Mail und Anschluss. Die Sperre wird geprüft, bevor überhaupt gerechnet wird, und die Antwortzeit ist gestreckt — sie verrät nicht, welche Adressen existieren. - **Unveränderliches Audit-Log**: ein Datenbank-Trigger weist UPDATE und DELETE ab, auch bei direktem Zugriff mit `psql`. - **Strenge Content-Security-Policy** mit Nonce pro Anfrage. Keine externen Schriften, kein CDN, keine Tracker — nachgewiesen durch einen Test, der jede Anfrage an einen fremden Host als Fehler wertet. - **Uploads** werden an den Magic Bytes geprüft, nicht an Endung oder gemeldetem MIME-Typ. Ausgeliefert wird nur über kurzlebige signierte URLs, immer als Anhang mit `nosniff`. - **Erneute Anmeldung** vor Export, endgültigem Löschen und Rollenänderungen. Ein Passwortwechsel beendet alle offenen Sitzungen. ### Betrieb - Docker Compose mit Anwendung, PostgreSQL, MinIO und Sicherungsdienst. **Ohne Reverse Proxy** — der ist auf dem Zielserver vorhanden. Die Datenbank hat keine Portfreigabe. - **Tägliche verschlüsselte Sicherung** um 03:15 Uhr mit Selbstprüfung: lässt sich die Datei nicht wieder entschlüsseln, endet der Lauf mit Fehler statt mit einem stillen Scheinerfolg. - Verarbeitungsverzeichnis und Datenschutzhinweise als ausfüllbare Textbausteine. - Bauprotokoll aus den Commit-Trailern. ### Bekannte Einschränkungen - Die Texterkennung ist gegen ein echtes Tesseract **nicht** end-to-end geprüft. Der Weg „nicht verfügbar, Upload funktioniert trotzdem" ist getestet. - Der CAMT.053-Import ist nur gegen selbst gebaute Beispiele geprüft, nicht gegen einen echten Bankauszug. - Das Kostenkonto der Immobilie wertet über Buchungskategorien aus und wäre bei einem **zweiten** Grundstück falsch. Die Oberfläche sagt das an der Auswertung dazu. - Eine Aufgabe aus einer Vorgangs-Vorlage lässt sich nicht entfernen — passt sie im Einzelfall nicht, bleibt sie offen stehen. - `@react-pdf/renderer` braucht in diesem Abhängigkeitsbaum eine Krücke (`src/lib/pdf/standardschrift.ts`), weil seine Unterabhängigkeiten für Standardschriften kein Schriftobjekt mehr liefern. Was davon wann angegangen wird, steht in [`docs/ROADMAP.md`](docs/ROADMAP.md). --- [Unveröffentlicht]: https://git.wilde-server.de/florian.wilde/betreuungs-cockpit/compare/v1.0.0...HEAD [1.0.0]: https://git.wilde-server.de/florian.wilde/betreuungs-cockpit/releases/tag/v1.0.0