Datenschutz: Log-Bereinigung vor Server-Upload (Scrubber + Quelle)
Diagnose-Logs werden zentral bereinigt, bevor sie an logs.baka-net.de gehen. Lokaler debugPrint bleibt vollständig. - Freitext-Scrubber (LoggerService.scrubText) für message + stackTrace: maskiert user=/pw=/password=/token=/secret=/url= sowie Datei-Pfade, nackte URLs, Bearer-Token, JWTs und lange Hex-IDs. - stackTrace auf 8 Zeilen gekürzt (capFrames). - deviceModel nur noch grobe Plattform (android/ios) statt Hersteller+Modell; device_info_plus im Logger entfernt. - Quelle entschärft: settings_screen loggte Navidrome-Login mit Klartext user=/url= — jetzt nur neutraler Status inkl. pwLeer-Flag. - Neue Tests: test/logger_service_test.dart (9). 79/79 grün, analyze sauber. Opt-in/Einwilligung bleibt separater Folgeschritt. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Tr2UwurtxyJUpWpBSeVmBm
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
61e28d128f
commit
d83f8c8c54
@@ -5,6 +5,26 @@ Format angelehnt an [Keep a Changelog](https://keepachangelog.com/de/1.0.0/).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### 🔒 Datenschutz: Log-Bereinigung vor Server-Upload (2026-08-20)
|
||||
- ✅ **Was:** Diagnose-Logs werden jetzt zentral bereinigt, bevor sie an
|
||||
`logs.baka-net.de` gehen. Der lokale `debugPrint` bleibt vollständig.
|
||||
- 🔧 **Details:**
|
||||
- Freitext-Scrubber für `message` + `stackTrace`: maskiert sensible
|
||||
`key=value`-Fragmente (`user=`, `pw=`, `password=`, `token=`, `secret=`,
|
||||
`url=`), Datei-Pfade (`<path>`), nackte URLs (`<url>`), `Bearer`-Token,
|
||||
JWTs (`<jwt>`) und lange Hex-IDs (`<hex>`).
|
||||
- `stackTrace` wird auf max. 8 Zeilen gekürzt.
|
||||
- `deviceModel` sendet nur noch die grobe Plattform (`android`/`ios`) statt
|
||||
Hersteller+Modell (war ein Geräte-Fingerprint) — `device_info_plus` im
|
||||
Logger entfernt.
|
||||
- 🐛 **Fix (Quelle):** Der Navidrome-Login in `settings_screen` loggte
|
||||
Benutzername + Server-URL im Klartext (`Login: url=… user=…`). Diese
|
||||
Aufrufe senden jetzt nur noch den neutralen Status inkl. `pwLeer`-Flag.
|
||||
- 🧪 **Tests:** neue Suite `test/logger_service_test.dart` (9 Tests) — 79/79 grün,
|
||||
`flutter analyze` ohne Issues.
|
||||
- ℹ️ **Offen:** Opt-in/Einwilligung für den Diagnose-Versand bleibt ein
|
||||
separater Folgeschritt (braucht UI).
|
||||
|
||||
### 🔧 Log-Upload System - Fixes (2026-08-19)
|
||||
- ✅ **ERROR-Level Logging**: Fehler werden SOFORT zum Server hochgeladen (async/await Fixed)
|
||||
- ✅ **Navidrome-Service Error Logging**: Alle API-Fehler (ping, getAlben, getSongs, getFavorites, getArtists, getArtistSongs, getLyrics, scrobble, getBookmarks, getPlaylists, getPlaylistSongs) werden jetzt mit `logger.error()` zum Server geloggt (statt nur debugPrint)
|
||||
|
||||
Reference in New Issue
Block a user