Datenschutz: Bild-Metadaten, private Vorschläge, fremde Bilder, API-Doku
- Uploads: Server entfernt EXIF/XMP/Text (GPS-Standort, Kamera, Uhrzeit) per Pillow; Drehung von Hochkant-Fotos wird vorher angewendet, Farbprofil bleibt; GIFs unverändert (neue Abhängigkeit pillow) - Produktvorschläge pro Liste (Tabelle list_products): Einträge privater Listen tauchen bei anderen weder in Vorschlägen noch beim Rezeptabgleich auf; "Vorschläge verwalten" löscht nur aus eigenen sichtbaren Listen - Artikel: Bilder nur noch aus den eigenen Uploads (kein Tracking-Pixel fremder Server); Bereinigung in htmlclean.py - /api/docs und /api/openapi.json nur noch im Entwicklungsmodus (RELOAD=1 oder P42_API_DOCS=1) - Migration Schritt 2: bestehende Vorschläge den Listen zuordnen, Artikel neu bereinigen, gespeicherte Bilder mit Metadaten säubern - Tests in test_datenschutz.py (u. a. Rezept-Zuordnung, Umstellung) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
419d200bf9
commit
bb20135876
11 files changed
+367
-61
No files matched your search
@@ -57,7 +57,8 @@ python3 -m pip --python .venv/bin/python install -r requirements-dev.txt # ein
|
||||
|
||||
Jeder Test bekommt eine frische, leere Datenbank. `tests/test_migrationen.py` baut ältere
|
||||
Datenbank-Stände nach und prüft, dass der Start sie verlustfrei umstellt.
|
||||
Die API-Dokumentation gibt es unter http://localhost:3000/api/docs.
|
||||
Die API-Dokumentation gibt es nur im Entwicklungsmodus (`RELOAD=1` oder `P42_API_DOCS=1`) unter
|
||||
http://localhost:3000/api/docs – im Betrieb ist sie abgeschaltet.
|
||||
|
||||
## Konfiguration (`config.json`)
|
||||
|
||||
@@ -137,7 +138,11 @@ wird der Artikel direkt auf der Seite geändert. Bilder lassen sich per Button,
|
||||
Einfügen (Strg+V) oder Drag & Drop in den Text setzen.
|
||||
|
||||
Nicht mehr verwendete Bilder werden automatisch gelöscht. Der Artikeltext wird beim
|
||||
Speichern serverseitig bereinigt.
|
||||
Speichern serverseitig bereinigt; Bilder sind nur aus den eigenen Uploads erlaubt (fremde Bilder
|
||||
würden beim Lesen IP-Adresse und Zeitpunkt an deren Server verraten).
|
||||
|
||||
Beim Hochladen entfernt der Server alle Metadaten aus Fotos (EXIF/XMP: GPS-Standort, Kamera,
|
||||
Uhrzeit); die Drehung von Hochkant-Fotos bleibt erhalten. GIFs bleiben unverändert.
|
||||
|
||||
### Vorrat & Einkauf
|
||||
|
||||
@@ -151,6 +156,9 @@ und einen eigenen Einkaufszettel.
|
||||
Administratoren aber nur bei Listen, die sie sehen. Löschen entfernt Vorrat und Einkauf der Liste.
|
||||
- Beim Update werden der bisherige Vorrat und die bisherige Einkaufsliste zur Liste „Zuhause“
|
||||
(für alle sichtbar).
|
||||
- **Vorschläge** beim Eintippen und die Zuordnung beim Rezeptabgleich kommen nur aus Listen, die man
|
||||
sehen darf – Einträge privater Listen tauchen bei anderen nicht auf. „Vorschläge verwalten“ löscht
|
||||
nur aus den eigenen sichtbaren Listen.
|
||||
- Welche Liste gewählt ist, merkt sich der Browser. Gekauft, aufgebraucht, Nachkaufen und der
|
||||
Rezeptabgleich wirken immer innerhalb der gewählten Liste.
|
||||
- **Einkaufen:** Abhaken legt ein Produkt „in den Wagen“ – es rutscht nach unten, bleibt aber auf der
|
||||
@@ -237,7 +245,9 @@ backend/
|
||||
app/db.py SQLite-Schema (neuester Stand), Verbindungen, Übernahme alter JSON-Daten
|
||||
app/migrations.py Nummerierte Umstellungen bestehender Datenbanken (Regel steht oben in der Datei)
|
||||
app/auth.py Konten, Anmeldung, Benutzerverwaltung
|
||||
app/projects.py Projekte/Artikel, Bild-Uploads, HTML-Bereinigung
|
||||
app/projects.py Projekte/Artikel, Bild-Uploads
|
||||
app/htmlclean.py Artikel-HTML bereinigen (nur eigene Bilder)
|
||||
app/bilder.py Metadaten (GPS usw.) aus hochgeladenen Bildern entfernen
|
||||
app/links.py Schnellzugriff-Links pro Konto
|
||||
app/monitoring.py Monitoring pro Konto (HTTP/TCP-Prüfung, P42-S.M.-Auslastung + Verlauf)
|
||||
app/haushalt.py Listen (je Vorrat + Einkauf) mit Sichtbarkeit, Produktkatalog, Einheiten
|
||||
|
||||
Reference in new issue
Block a user