diff --git a/backend/main.py b/backend/main.py index dff2344..0b9a75d 100644 --- a/backend/main.py +++ b/backend/main.py @@ -327,7 +327,7 @@ MEDIA_DIR = os.getenv("MEDIA_DIR", "/data/media") os.makedirs(MEDIA_DIR, exist_ok=True) app.mount("/media", StaticFiles(directory=MEDIA_DIR), name="media") -APP_VER = "727" # muss mit APP_VER in app.js übereinstimmen +APP_VER = "728" # muss mit APP_VER in app.js übereinstimmen @app.get("/api/version") async def app_version(): diff --git a/backend/static/index.html b/backend/static/index.html index 9fb7cef..b9ff82e 100644 --- a/backend/static/index.html +++ b/backend/static/index.html @@ -578,7 +578,7 @@ - + diff --git a/backend/static/js/app.js b/backend/static/js/app.js index f2245de..473e0b1 100644 --- a/backend/static/js/app.js +++ b/backend/static/js/app.js @@ -3,7 +3,7 @@ Router, State-Management, Navigation, Initialisierung. ============================================================ */ -const APP_VER = '727'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen +const APP_VER = '728'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen const APP_VERSION = '1.4.0'; // ← semantische Version, wird bei make release gesetzt const IS_STAGING = location.hostname === 'staging.banyaro.app'; diff --git a/backend/static/js/pages/datenschutz.js b/backend/static/js/pages/datenschutz.js index 73c2ba8..d2a8af8 100644 --- a/backend/static/js/pages/datenschutz.js +++ b/backend/static/js/pages/datenschutz.js @@ -82,6 +82,16 @@ window.Page_datenschutz = (() => { Plattformsicherheit).
`)} + ${sec('Direktnachrichten', ` ++ Nachrichten zwischen Nutzern (z. B. zwischen Hundesitter und Hundeeigentümer oder + zwischen Interessenten und Züchtern) werden auf unserem Server gespeichert, bis du + das Gespräch oder deinen Account löschst. Admins können gemeldete Nachrichten zur + Missbrauchsprüfung einsehen (Art. 6 Abs. 1 lit. f DSGVO — berechtigtes Interesse + an Plattformsicherheit). Nachrichten werden nicht an Dritte weitergegeben. + Du kannst Gespräche jederzeit selbst löschen. +
`)} + ${sec('KI-Funktionen', `Ban Yaro bietet KI-gestützte Funktionen (Trainingsempfehlungen, Terminvorschläge, @@ -99,12 +109,34 @@ window.Page_datenschutz = (() => { anthropic.com/privacy.
++ Der KI-Trainer analysiert deinen bisherigen Trainingsfortschritt + (Übungshistorie, Erfolgsquoten, Streaks) und gibt personalisierte Empfehlungen. + Diese Analyse läuft auf unserem lokalen Server in Deutschland — deine Trainingsdaten + verlassen dabei nicht unsere Infrastruktur. Es findet kein Training oder Fine-Tuning + von KI-Modellen auf Basis deiner Nutzerdaten statt. +
KI-Empfehlungen sind Vorschläge und ersetzen keine tierärztliche Beratung. Eine automatisierte Entscheidungsfindung mit rechtlicher Wirkung (Art. 22 DSGVO) findet nicht statt.
`)} + ${sec('Wetterdaten (Open-Meteo)', ` ++ Die Wetter-Funktion übermittelt auf Wunsch deine GPS-Koordinaten einmalig an + Open-Meteo (Österreich, DSGVO-konform), um die lokale + Wettervorhersage abzurufen. Es werden ausschließlich anonyme Koordinaten übertragen — + keine Account- oder Profildaten. Open-Meteo protokolliert keine personenbezogenen + Daten. Die Funktion wird nur aktiv, wenn du deinen Standort im Browser freigibst. + Rechtsgrundlage: Einwilligung gem. Art. 6 Abs. 1 lit. a DSGVO. +
++ Datenschutzerklärung von Open-Meteo: + open-meteo.com/en/terms +
`)} + ${sec('Routenvorschläge (OpenRouteService)', `Die Funktion „Routenvorschläge" berechnet auf Wunsch einen Rundweg diff --git a/backend/static/sw.js b/backend/static/sw.js index 8d5906a..65a06a7 100644 --- a/backend/static/sw.js +++ b/backend/static/sw.js @@ -3,7 +3,7 @@ Offline-Cache + Push Notifications + Tile-Cache ============================================================ */ -const CACHE_VERSION = 'by-v727'; +const CACHE_VERSION = 'by-v728'; const CACHE_STATIC = `${CACHE_VERSION}-static`; const CACHE_TILES = 'ban-yaro-tiles-v1'; // bleibt über SW-Updates erhalten const CACHE_API = 'ban-yaro-api-v1'; // API-Response-Cache