diff --git a/CHANGELOG.md b/CHANGELOG.md index a03c0ad..f4b5713 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,17 @@ All notable changes to this project are documented in this file. +## [1.117.3] - 2026-09-06 + +### Security +- `.env.production.save` und `.env.local` aus dem Arbeitsverzeichnis gelöscht — mit `shred` + überschrieben, damit die Werte nicht aus freiem Speicher rekonstruierbar bleiben. Beide + waren identische Kopien derselben Zugangsdaten. +- Klartext-Werte in `deployment-notes.md` und `INFRASTRUCTURE_REQUIREMENTS.md` durch + Platzhalter ersetzt (je drei Vorkommen: DB-Passwort, `NEXTAUTH_SECRET`, SMTP-Passwort). + Die Dateien bleiben als Dokumentation lesbar. +- Damit liegt außerhalb der Git-Historie kein Zugangsdatum mehr im Projekt. + ## [1.117.2] - 2026-09-06 ### Security diff --git a/TODO.md b/TODO.md index a0957bb..42f476a 100644 --- a/TODO.md +++ b/TODO.md @@ -71,11 +71,12 @@ Verification-Mails sind unbegrenzt aufrufbar — Einladung zum Missbrauch deines Der Token selbst kommt aus `crypto.randomUUID()` — das ist in Ordnung, nur die Ablage nicht. ### B3. Secrets aus dem Git entfernen und rotieren (Audit 2) -- [x] `.env.production.save` aus dem Git-Index entfernt (Datei bleibt lokal) +- [x] `.env.production.save` und `.env.local` gelöscht (mit `shred` überschrieben) - [x] `.gitignore` auf `.env*` erweitert (Ausnahme `.env.example`) - [x] `NEXTAUTH_SECRET` neu erzeugt — 44 Zeichen, geprüft - [x] `SMTP_PASSWORD` neu gesetzt - [x] `deployment-notes.md` und `INFRASTRUCTURE_REQUIREMENTS.md` aus dem Index entfernt +- [x] Klartext-Werte in beiden Dateien durch Platzhalter ersetzt - [x] Passwort aus `tests/debug/db-connection-test.spec.ts` entfernt - [x] Nach dem Wechsel neu eingeloggt - [ ] Entscheiden: Historie umschreiben oder belassen (Empfehlung: belassen) @@ -207,10 +208,14 @@ Datenbank und damit die App lahm. Das gehört an einen ruhigen Abend, nicht nebe **Zwei verschiedene Passwörter liegen im Git** (Fingerabdrücke, keine Klartexte): -| Fingerabdruck | Wo | Vermutung | +| Fingerabdruck | Wo | Stand | |---|---|---| -| `59fb583eaae9` | `deployment-notes.md`, `INFRASTRUCTURE_REQUIREMENTS.md` | altes Docker-Compose-Setup (`@db:5432`), vermutlich tot | -| `9dbb40b14c4d` | `.env.production.save` | Supabase-Zugang, **möglicherweise noch aktiv** | +| `59fb583eaae9` | ehem. `deployment-notes.md`, `INFRASTRUCTURE_REQUIREMENTS.md` | altes Docker-Compose-Setup (`@db:5432`); Dateien bereinigt | +| `9dbb40b14c4d` | ehem. `.env.production.save` | Supabase-Zugang, **Status offen** — Datei gelöscht, Wert steht noch in der Historie | + +Vom Nutzer bestätigt: das alte `NEXTAUTH_SECRET` (20 Zeichen) und das alte `SMTP_PASSWORD` +sind **nicht mehr in Verwendung**, beide wurden rotiert. Offen ist allein das +Datenbank-Passwort. Prüfen lässt sich das auf dem Container, ohne einen Wert auszugeben: diff --git a/package-lock.json b/package-lock.json index fd1bc92..543f97b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "my-weekly-todo-list", - "version": "1.117.2", + "version": "1.117.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "my-weekly-todo-list", - "version": "1.117.2", + "version": "1.117.3", "license": "MIT", "dependencies": { "@auth/prisma-adapter": "^2.11.1", diff --git a/package.json b/package.json index 87a8fb0..52a5f11 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "my-weekly-todo-list", - "version": "1.117.2", + "version": "1.117.3", "description": "A web-based weekly task management application that organizes to-dos and calendar events in a single, intuitive weekly view", "main": "index.js", "scripts": {