Datenschutzerklärung — BodyComp

Stand: 25. Oktober 2026

Verantwortlich für die Datenverarbeitung: Sebastian Sanftleben, Kontakt für alle Anfragen zu dieser Erklärung: bodycomp@sebastian-sanftleben.de

1. Gesundheitsdaten aus Health Connect

BodyComp liest über Android Health Connect — abhängig von deiner Berechtigung — folgende Datenarten: Gewicht, Schritte, aktive/gesamte Kalorien, Herzfrequenz, Schlaf, Training, Distanz, Ernährung, Körperfett, fettfreie Körpermasse, Größe, Körperwasser.

  • Zweck: Anzeige von Trends und Berechnung von Trainings-/Ernährungsempfehlungen in der App.
  • Speicherort: ausschließlich lokal auf deinem Gerät (SQLite-Datenbank). Diese Werte werden nicht an unsere Server übertragen.
  • Tägliche Benachrichtigungen (optional): Schaltest du im Profil die täglichen Benachrichtigungen ein und erteilst zusätzlich die Health-Connect-Berechtigung für den Hintergrundzugriff, liest die App Schritte, Kalorien, Training, Schlaf sowie Gewicht und Körperfett auch im Hintergrund — ausschließlich, um den Inhalt der Benachrichtigung auf deinem Gerät zu berechnen. Dabei wird nichts übertragen, weder an unseren Server noch an Dritte; der Inhalt wird regelbasiert und ohne KI erstellt. Ohne Hintergrundberechtigung verwendet die Benachrichtigung nur die bereits lokal gespeicherten Werte. Der Benachrichtigungstext enthält Gesundheitswerte (z. B. Schritte, Kalorien, Protein); auf dem Sperrbildschirm wird er standardmäßig ausgeblendet — diese Option kannst du im Profil ändern. Für die Anzeige fragt die App die Android-Berechtigung für Benachrichtigungen an. Ausschalten jederzeit im Profil; die Hintergrundberechtigung lässt sich in Health Connect widerrufen.
  • Rechtsgrundlage: deine Einwilligung über den Android-Berechtigungsdialog von Health Connect (Art. 9 Abs. 2 lit. a DSGVO).
  • Widerruf: jederzeit über Health Connect bzw. die Android-Einstellungen möglich. Eine Deinstallation der App löscht die lokale Datenbank.

2. Fortschrittsfotos (Kamera)

Über den Kamera-Button im Heute-Tab kannst du freiwillig Fotos zur Dokumentation deines körperlichen Fortschritts aufnehmen.

  • Speicherort: ausschließlich lokal auf deinem Gerät — im App-eigenen Speicherbereich sowie, sofern du das über den Systemdialog erlaubst, zusätzlich in der normalen Fotos-App deines Geräts. Keine Übermittlung an unseren Server, keine Übermittlung an Anthropic (siehe Abschnitt 5 zur Abgrenzung von der Mahlzeitenfoto-Erkennung). Hinweis: Ist auf deinem Gerät ein allgemeines Geräte-Backup aktiviert (z. B. Google-Konto-Backup unter Android, iCloud-Backup unter iOS), kann dieses Backup auch diese Fotos einschließen — das liegt außerhalb unserer Kontrolle und lässt sich in den Backup-Einstellungen deines Geräts deaktivieren.
  • Rechtsgrundlage: deine Einwilligung durch aktive Nutzung der Kamera-Funktion (Art. 9 Abs. 2 lit. a DSGVO).
  • Löschung: jederzeit in der App per Long-Press auf ein Foto, oder durch Deinstallation. Eine zusätzlich in der Fotos-App gespeicherte Kopie bleibt davon unberührt und muss dort separat gelöscht werden.

3. Profil- und Ernährungstagebuch-Daten (optionaler Cloud-Sync)

Meldest du dich freiwillig über "Cloud-Sync" mit einem Google-Konto an, sichern wir folgende Daten auf einem von uns selbst betriebenen Server, damit du sie geräteübergreifend nutzen kannst: Körpergröße, Geburtsdatum, Geschlecht, Zielwerte, Einträge im Ernährungstagebuch, selbst angelegte Lebensmittel, abgeschlossene Übungen, Benachrichtigungs-Einstellungen (an/aus, Anzahl pro Tag, Zeitfenster, Ausblenden auf dem Sperrbildschirm — keine Benachrichtigungsinhalte), Art und Zeitpunkt jeder KI-Generierung (Trainings-/Essensplan, Mahlzeitenfoto-Analyse). Der Inhalt der generierten Pläne oder Fotos selbst wird dabei nicht übertragen — nur die Zählung dient dazu, dein tägliches Nutzungskontingent geräteübergreifend und über eine Neuinstallation hinweg korrekt durchzusetzen. Von dir selbst angelegte Lebensmittel können wir in anonymisierter Form (ohne Konto-Zuordnung und ohne E-Mail-Adresse) prüfen — dazu werden ihre Namen, Nährwerte und die Zahl der betroffenen Nutzer (aggregiert, ohne Konto-Zuordnung oder E-Mail-Adresse) in einer eigenen, von uns auf demselben Server betriebenen Instanz angezeigt — und in den allgemeinen Lebensmittelkatalog übernehmen.

  • Homescreen-Widget (optional): Die App hält immer eine Kopie der heutigen Kalorien- und Makrowerte samt Zielwerten (aus deinem Ernährungstagebuch und deinen Zielen) im App-eigenen Speicher (SharedPreferences) auf deinem Gerät vor, damit ein optionales Homescreen-Widget sie anzeigen kann. Die Kopie besteht unabhängig davon, ob ein Widget installiert ist. Diese Funktion überträgt nichts an unsere Server oder an Dritte. Die Kopie gehört zu den App-Daten und kann wie die übrigen lokalen App-Daten in der Android-Geräte-Sicherung (Auto Backup bzw. Geräteübertragung) enthalten sein. Ist das Widget platziert, sieht jeder die Werte, der deinen entsperrten Homescreen sehen kann.
  • Pseudonymisierung: Wir speichern weder deine E-Mail-Adresse noch deinen Namen. Beim Google-Login wird ausschließlich die stabile Google-Nutzer-ID ("sub") verarbeitet, direkt auf dem Gerät mit Salt zu einem SHA-256-Hash umgewandelt, und nur dieser Hash als Nutzerkennung in unserer Datenbank verwendet. Die Google-Sitzung wird sofort nach dem Login wieder beendet.
  • Rechtsgrundlage: deine Einwilligung (Art. 6 Abs. 1 lit. a i. V. m. Art. 9 Abs. 2 lit. a DSGVO, da Ernährungs- und Körperdaten gesundheitsbezogen sein können).
  • Löschung: jederzeit selbst über bodycomp.sebastian-sanftleben.de/account/delete möglich, alternativ über die oben genannte Kontaktadresse.

4. Google Sign-In

Google Sign-In wird ausschließlich zur Erzeugung der anonymen Nutzerkennung verwendet (siehe Punkt 3) — nicht zu Tracking- oder Werbezwecken. Wir fordern nur die Berechtigung openid an, keine E-Mail-Adresse, keinen Namen. Der Google-Kontoauswahl-Dialog liefert unabhängig von der angeforderten Berechtigung dein Profilbild als Teil der Kontoinformationen zurück — wir speichern nur dessen URL lokal auf deinem Gerät, um in der App anzuzeigen, mit welchem Konto du verbunden bist. Sie verlässt das Gerät nie und wird beim Abmelden oder Löschen deines Kontos wieder entfernt. Der Google-Anmelde-Button auf der Konto-Löschseite (siehe Abschnitt 3) liefert zusätzlich E-Mail-Adresse und Name im Anmelde-Token; die E-Mail wird nur im Browser angezeigt, damit du siehst, welches Konto du löschst, und das Token wird einmalig zur Prüfung an unseren Server übertragen — dort weder gespeichert noch protokolliert. Anbieter: Google Ireland Limited; es gelten ergänzend die Datenschutzbestimmungen von Google.

5. KI-Funktionen (Anthropic Claude API)

Für KI-gestützte Funktionen — Mahlzeitenfoto-Erkennung sowie Trainings- und Essensplan-Erstellung — werden die dafür nötigen Angaben direkt von deinem Gerät an die Anthropic Claude API (api.anthropic.com, Anthropic PBC, USA) übermittelt, ohne Umweg über unseren Server.

  • Mahlzeitenfoto-Erkennung: Das von dir aufgenommene Foto wird zur Analyse an Anthropic übertragen, zusammen mit einem optionalen, von dir eingegebenen Freitext-Hinweis (z. B. zu Zutaten oder Zubereitung), sofern du einen eingibst. Wir speichern das Foto nicht — lokal auf deinem Gerät landen nur die daraus erkannten Nährwertangaben. Das ist etwas anderes als die Fortschrittsfotos aus Abschnitt 2, die nie an Anthropic übermittelt werden.
  • Trainings-/Essensplan-Erstellung: übermittelt werden dein Ernährungstagebuch, Profildaten (Alter, Geschlecht, Größe, Zielwerte, Aktivitätsniveau, Ernährungs- und Gesundheitshinweise) sowie ausgewählte tagesaktuelle Health-Connect-Werte (Gewicht, Körperfett, Schritte, Kalorienverbrauch, Schlafdauer) als Kontext. Nicht übermittelt werden z. B. Herzfrequenz, Trainingshistorie oder sonstige Health-Connect-Rohdaten.
  • Drittlandtransfer: USA. Anthropic verarbeitet die Daten gemäß der Datenschutzerklärung von Anthropic.
  • Rechtsgrundlage: deine Einwilligung durch aktive Nutzung der jeweiligen KI-Funktion.

6. Kein Tracking, keine Werbung

BodyComp enthält keine Werbe-, Tracking- oder Analyse-Software Dritter, mit Ausnahme der in Abschnitt 11 beschriebenen technischen Daten von Google ML Kit.

7. Speicherdauer

Lokale Daten bleiben bis zur Löschung durch dich bzw. bis zur Deinstallation der App erhalten. Cloud-Sync-Daten bleiben gespeichert, bis du sie über bodycomp.sebastian-sanftleben.de/account/delete löschst. Nach einer Löschung bleibt lediglich der anonyme Hash deines Google-Kontos zusammen mit einem Löschvermerk (kein Name, keine E-Mail-Adresse, keine sonstigen personenbezogenen Daten) gespeichert, damit ein gelöschtes Konto nicht unbemerkt unter derselben user_id neu angelegt wird.

Geteilte Trainings folgen stattdessen den Aufbewahrungsregeln in Abschnitt 10, Server-Protokolle den Angaben in Abschnitt 12 (spätestens 15 Tage).

8. Deine Rechte

Du hast das Recht auf Auskunft, Berichtigung, Löschung, Einschränkung der Verarbeitung, Datenübertragbarkeit und Widerspruch (Art. 15–21 DSGVO) sowie ein Beschwerderecht bei einer Datenschutz-Aufsichtsbehörde. Wende dich für alle Anfragen an bodycomp@sebastian-sanftleben.de.

9. Abonnements (Google Play)

Premium-Funktionen werden über ein Abonnement bei Google Play freigeschaltet. Beim Kauf oder bei jeder erneuten Prüfung deines Abo-Status speichern wir auf unserem Server ausschließlich das von Google Play ausgestellte Kauf-Token, das daraus abgeleitete Ablaufdatum sowie den gewählten Abo-Typ (monatlich, halbjährlich oder jährlich) deines Abonnements. Dieses Kauf-Token wird verwendet, um deinen Premium-Status regelmäßig automatisiert bei Google zu verifizieren; es enthält keine Zahlungs- oder Kartendaten — diese verbleiben vollständig bei Google Play. Löschst du dein Konto, werden das gespeicherte Kauf-Token und der Abo-Typ entfernt.

10. Training teilen

Teilst du ein Training per QR-Code, speichern wir den Trainingsplan auf unserem Server: Titel, Beschreibung, Hinweise zu den einzelnen Übungen, Sätze, Wiederholungen, Pausenzeiten sowie die geschätzte Dauer und den geschätzten Kalorienverbrauch. Titel, Beschreibung und Hinweise stammen vom KI-Coach und können Angaben enthalten, die du dem Coach mitgeteilt hast (zum Beispiel Verletzungen oder gesundheitliche Einschränkungen). Alles, was gespeichert ist, kann jeder lesen, der den Link hat.

Der Plan wird ohne deinen Namen und ohne deine Nutzer-ID gespeichert. Der Eintrag wird über einen Einweg-Hash aus Nutzer-ID und Plan-ID zugeordnet, der nur dazu dient, dass ein Training genau einen Link bekommt. Deine Nutzer-ID wird beim Teilen an unseren Server übermittelt, ausschließlich um zu prüfen, ob dein Premium-Abonnement aktiv ist; sie wird nicht neben dem Plan gespeichert.

Der Link ist 3 Stunden gültig. Den gespeicherten Plan löschen wir automatisch 7 Tage nach Ablauf des Links, also spätestens 3 Stunden und 7 Tage nach dem Teilen. Geteilte Pläne werden bei der Kontolöschung nicht entfernt, weil sie keinem Konto zugeordnet werden können; sie löschen sich wie beschrieben selbst. Wer einen Link öffnet, braucht dafür kein Konto.

11. Barcode-Scanner (Kamera, Open Food Facts)

Beim Loggen einer Mahlzeit kannst du den Barcode einer Verpackung scannen. Die Kamera wird dafür nur auf dem Scan-Bildschirm verwendet; die Android-Berechtigung dafür wird beim ersten Scan abgefragt. Die Kamerabilder werden ausschließlich auf deinem Gerät vom Scanner ausgewertet und weder gespeichert noch an uns oder Dritte übertragen. Die Erkennung erfolgt auf dem Gerät mit Google ML Kit. Die Bibliothek kann dabei technische Nutzungs- und Diagnosedaten an Google senden; laut Google gehören dazu Leistungskennzahlen (z. B. die Verarbeitungsdauer), Gerätemodell und -hersteller, die Version des Betriebssystems, Name und Version unserer App sowie eine Kennung, die pro App-Installation vergeben wird und nicht dazu gedacht ist, dich oder dein Gerät eindeutig zu identifizieren (siehe Datenschutzerklärung von Google).

An unseren Server wird nur die gescannte Barcode-Nummer übertragen, ohne Nutzerkennung; wie jede Anfrage erscheint sie dort im Server-Protokoll (siehe Abschnitt 12). Ein „nicht gefunden"-Ergebnis merkt sich der Server 10 Minuten im Arbeitsspeicher. Ist das Produkt noch nicht in unserem Lebensmittelkatalog, leitet unser Server die Nummer an Open Food Facts (openfoodfacts.org) weiter und übernimmt die dort gefundenen Produktdaten (Name, gegebenenfalls mit Marke, Kategorie, Barcode-Nummer und Nährwerte pro 100 g bzw. 100 ml) in den allgemeinen Lebensmittelkatalog, den alle Nutzer erhalten. Der Aufruf bei Open Food Facts erfolgt durch unseren Server, nicht durch dein Gerät; deine IP-Adresse und andere Angaben zu dir oder deinem Gerät werden dorthin nicht weitergegeben.

Rechtsgrundlage: Kamera und Scan-Funktion beruhen auf deiner Einwilligung durch die Kamera-Berechtigung und die aktive Nutzung (Art. 6 Abs. 1 lit. a DSGVO). Das Server-Protokoll beruht auf unserem berechtigten Interesse (Abschnitt 12).

Produktdaten von Open Food Facts, lizenziert unter der Open Database License (ODbL).

12. Server-Protokolle

Bei jeder Anfrage an unseren API-Server (zum Beispiel Konfigurationsabruf beim App-Start, Prüfung des Abo-Status, Training teilen und öffnen, Konto-Löschung, Barcode-Suche) schreibt der Server ein Protokoll mit: Zeitpunkt, Anfragemethode, aufgerufene Adresse (bei geteilten Trainings einschließlich der Link-Kennung, bei der Barcode-Suche einschließlich der Barcode-Nummer), Antwortstatus, Antwortdauer und deine IP-Adresse. Nicht protokolliert werden Anfrageinhalte, Header, Zugangsdaten oder eine Nutzerkennung. Zusätzlich protokolliert der vorgeschaltete Webserver (nginx) Zeitpunkt, IP-Adresse, Anfragezeile, Antwortstatus, Datenmenge und die Kennung deiner App bzw. deines Browsers (User-Agent). Die Protokolle liegen auf unserem eigenen Server und werden mit einem von uns selbst betriebenen Log-Dienst (Grafana Loki) ausgewertet; sie werden nicht an Dritte weitergegeben. Sowohl die Protokolldateien als auch die Einträge im Log-Dienst werden spätestens nach 15 Tagen gelöscht.

Zweck: Betrieb, Fehleranalyse, Sicherheit und Schutz vor Missbrauch (einschließlich der Begrenzung der Anfragehäufigkeit). Rechtsgrundlage: berechtigtes Interesse an einem sicheren und stabilen Betrieb (Art. 6 Abs. 1 lit. f DSGVO). Du kannst dieser Verarbeitung aus Gründen, die sich aus deiner besonderen Situation ergeben, nach Art. 21 DSGVO widersprechen (Kontakt siehe oben).