Datenschutz­erklärung — BULKR App

Stand: 22. September 2026 · Ergänzung zur Haupt-Datenschutzerklärung mit allen technischen Details, Berechtigungen und Drittanbietern der BULKR App.

§1 Verantwortlicher

Verantwortlicher im Sinne des Art. 4 Nr. 7 DSGVO ist:

Malte Heppke
Wuhlestraße 7a
12683 Berlin
Deutschland

E-Mail: support@bulkr.fitness
Webseite: https://bulkr.fitness

Bei datenschutzrechtlichen Anliegen wende dich direkt an die oben genannte E-Mail. Anfragen werden innerhalb eines Monats nach Eingang beantwortet (Art. 12 Abs. 3 DSGVO).

§2 App-Berechtigungen im Detail

Damit einzelne Funktionen arbeiten können, fragt die App über das Berechtigungssystem von iOS bzw. Android folgende Zugriffe an. Du kannst jede Berechtigung jederzeit in den Geräteeinstellungen widerrufen — die App funktioniert weiter, nur die jeweils abhängige Funktion ist dann nicht nutzbar.

Kamera

Wird benötigt für den Barcode-Scanner (Lebensmittel scannen), für das Aufnehmen von Fortschrittsfotos sowie für das Foto-Tracking von Mahlzeiten. Es findet keine permanente Hintergrund-Aktivierung statt — die Kamera läuft nur, wenn du sie aktiv aufrufst.

Foto-Bibliothek

Wird benötigt, wenn du ein bereits vorhandenes Bild aus deiner Bibliothek auswählst (z. B. für ein Fortschritts- oder Food-Foto). iOS unterscheidet zwischen „voller" und „eingeschränkter" Foto-Auswahl — die App funktioniert mit beiden Modi.

Mikrofon

Wird benötigt für die Funktion „Mahlzeit per Sprache hinzufügen". Die Aufnahme wird sofort nach Beendigung an die KI-Edge-Function geschickt und auf dem Gerät verworfen. Sie wird nicht persistiert.

Apple HealthKit (iOS) / Google Health Connect (Android)

Wird benötigt für den optionalen Health-Sync. Mit dieser Berechtigung kann die App Schritte, Gewicht und Ernährungsdaten lesen und eingegebene Ernährungsdaten zurück in Apple Health bzw. Health Connect schreiben.

Wichtig, damit hier kein falscher Eindruck entsteht: Wir lesen aus Apple Health bzw. Health Connect keine Verlaufsdaten im Rohformat aus. Die übernommenen Werte — deine Schritte des Tages, dein Gewicht und bereits erfasste Nährwerte — werden aber in deinen Tageseintrag geschrieben, und dieser Tageseintrag wird wie alle anderen Daten deines Kontos mit unserem Server abgeglichen (siehe Nr. 1, Supabase). Sie bleiben also nicht ausschließlich auf deinem Gerät. Solange du nicht angemeldet bist, findet kein Abgleich statt.

Nutzt du auf einem iPhone zusätzlich die Verbindung zu Google Fit, läuft der Abruf deiner Schritte technisch anders: Wir speichern in diesem Fall den Zugangs- und Erneuerungsschlüssel deines Google-Kontos in unserer Datenbank und rufen die Schrittzahlen serverseitig bei Google ab. Diese Verbindung kannst du in den Einstellungen jederzeit trennen.

Benachrichtigungen

Wird benötigt für Reminder ans Tracken, Trial-Erinnerungen und Streak-Hinweise. Diese Benachrichtigungen werden ausschließlich lokal auf deinem Gerät geplant (über expo-notifications). Es werden keine Push-Token an Dritte übertragen und keine Remote-Pushes von unseren oder fremden Servern versendet.

Standort (optional)

Wird ausschließlich abgefragt, wenn du an öffentlichen Challenges mit Geo-Bezug teilnimmst. Wenn du diese Funktion nicht nutzt, fragen wir die Berechtigung nicht ab.

§3 Datenkategorien und Speicherorte

Wir verarbeiten die folgenden Kategorien personenbezogener Daten:

§4 Drittanbieter im Detail

Wir setzen die folgenden Drittanbieter ein. Mit den Auftragsverarbeitern bestehen Verträge nach Art. 28 DSGVO. Einzelne Anbieter (Apple, Google Sign-In, Discord) handeln bei ihren eigenen Diensten als eigenständige Verantwortliche und nicht als Auftragsverarbeiter — sie sind unten entsprechend gekennzeichnet.

1. Supabase (Backend, Datenbank, Auth, Storage)

Anbieter
Supabase Inc., 970 Toa Payoh North #07-04, Singapore 318992 — Hosting für BULKR in der Schweiz (Region Central Europe, Zürich)
Daten
Auth-E-Mail, Apple-/Google-Sub, Profil (Name, Geburtsdatum, Geschlecht), Daily-Data (Kalorien, Makros, Gewicht), Body-Measurements, Fortschrittsfotos, Friendships
Zweck
Backend-API, PostgreSQL-Datenbank, Auth-System, Object-Storage, Edge Functions
Rechtsgrundlage
Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung); für Gesundheitsdaten zusätzlich Art. 9 Abs. 2 lit. a DSGVO (Einwilligung)
Drittland
Hosting für BULKR in der Schweiz (Region Zürich). Die EU-Kommission hat mit Beschluss 2000/518/EG (aktualisiert 2024) für die Schweiz ein angemessenes Datenschutzniveau festgestellt (Art. 45 DSGVO) — ein Datentransfer ist damit ohne zusätzliche Schutzmaßnahmen zulässig. Supabase Inc. ist ein US-Unternehmen; die Übermittlung erfolgt über Standardvertragsklauseln (SCC) nach Art. 46 Abs. 2 lit. c DSGVO (EU-/Schweiz-Region gewählt). Supabase selbst ist nicht DPF-zertifiziert; die eingesetzten Sub-Prozessoren (AWS, Google Cloud) sind DPF-zertifiziert.
Speicherdauer
Bis zur Account-Löschung (siehe §6)
Pflicht/Optional
Pflicht — ohne Backend keine App-Nutzung mit Account.

2. Sentry (Absturzberichte)

Anbieter
Functional Software, Inc. d/b/a Sentry, 132 Hawthorne St, San Francisco, CA 94107, USA. Verarbeitung auf Servern in der EU (Region Frankfurt, de.sentry.io).
Daten
Nur bei einem Absturz oder Programmfehler: Stacktrace (technischer Ablauf des Fehlers), App-Version, OS-Version, Gerätetyp. Keine Nutzer-ID, keine E-Mail, keine IP-Adresse (die IP-Speicherung ist im Sentry-Projekt deaktiviert), kein Session- und kein Performance-Tracking. Sensible Felder (Gewicht, E-Mail, Tokens) werden vor Übermittlung im SDK über beforeSend entfernt.
Zweck
Fehlerdiagnose und Stabilität der App. Ohne Absturzberichte können wir Fehler, die nur auf bestimmten Geräten auftreten, nicht erkennen und beheben.
Rechtsgrundlage
§ 25 Abs. 2 Nr. 2 TDDDG (technisch erforderlich für die Bereitstellung einer funktionierenden App) sowie Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse an einer stabilen, fehlerfreien App). Es werden keine personenbezogenen Kennungen übermittelt.
Drittland
Speicherung in der EU. Anbieter mit Sitz in den USA; für einen etwaigen Zugriff gelten SCC nach Art. 46 Abs. 2 lit. c DSGVO und das DPF.
Speicherdauer
90 Tage
Pflicht/Optional
Standardmäßig aktiv, jederzeit abschaltbar in den Einstellungen unter Datenschutz → Absturzberichte (Widerspruch nach Art. 21 DSGVO).

3. PostHog (anonyme Nutzungsstatistik)

Anbieter
PostHog Inc., 2261 Market Street #4008, San Francisco, CA 94114, USA — Datenverarbeitung über EU-Endpoint eu.i.posthog.com (Frankfurt)
Daten
Zufällige Geräte-ID (keine Konto-ID), Screen-Events, App-Lifecycle-Events, Funktions-Events (z. B. „Mahlzeit eingetragen"), App-Version, OS-Version, Gerätetyp. Keine E-Mail, kein Klarname, keine Konto-ID, keine Inhalte deiner Einträge.
Zweck
Aggregierte Produktanalyse — welche Funktionen werden genutzt, wo brechen Nutzer ab.
Rechtsgrundlage
Deine Einwilligung nach § 25 Abs. 1 TDDDG und Art. 6 Abs. 1 lit. a DSGVO. Wir fragen beim ersten Start der App danach. Ohne dein Ja wird nichts erhoben und keine Geräte ID gespeichert. Die Statistik ist anonym und wird nicht mit deinem Konto verknüpft. Du kannst die Einwilligung jederzeit über den Schalter „Anonyme Nutzungsdaten teilen" in den App Einstellungen widerrufen (Art. 7 Abs. 3 DSGVO).
Drittland
EU-Endpoint eu.i.posthog.com (Frankfurt). PostHog ist nicht DPF-zertifiziert; soweit die US-Mutter Sub-Processor-Zugriff hat, ist dies ausschließlich über Standardvertragsklauseln (SCC) nach Art. 46 Abs. 2 lit. c DSGVO abgesichert.
Speicherdauer
12 Monate
Pflicht/Optional
Freiwillig. Standardmäßig aus, aktiv nur nach deiner Einwilligung, jederzeit widerrufbar unter Datenschutz → Anonyme Nutzungsdaten teilen.

4. RevenueCat (Subscription-Verwaltung)

Anbieter
RevenueCat, Inc., 875 Howard St, Suite 410, San Francisco, CA 94103, USA
Daten
Anonyme App-User-UUID, Subscription-Status (aktiv/Trial/abgelaufen), Apple-/Google-Receipt, Entitlements, Geräte-Locale, Trial-Eligibility
Zweck
Verwaltung des BULKR-Premium-Abos, Receipt-Validierung, Trial-Logik
Rechtsgrundlage
Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung)
Drittland
USA — ausschließlich Standardvertragsklauseln (SCC) nach Art. 46 Abs. 2 lit. c DSGVO. RevenueCat ist nicht DPF-zertifiziert.
Speicherdauer
Vertragsdauer + bis zu 10 Jahre für Belege (§ 147 AO, § 257 HGB)
Pflicht/Optional
Pflicht beim Abschluss einer Subscription.

Keine Zahlungsmitteldaten: Kreditkarte, PayPal o. Ä. sehen wir nie — die Zahlung läuft ausschließlich über Apple bzw. Google.

Keine Gesundheitsdaten: RevenueCat untersagt vertraglich die Übermittlung von Daten nach Art. 9 DSGVO. An RevenueCat werden ausdrücklich keine Gesundheits- oder Ernährungsdaten übermittelt, sondern ausschließlich Kauf-, Abo- und Geräte-Informationen.

5. Apple App Store / Sign in with Apple

Anbieter
Apple Distribution International Ltd., Hollyhill Industrial Estate, Hollyhill, Cork, Irland (EU)
Daten
Apple-ID-Sub, E-Mail (oder Hide-My-Email-Alias), Name (optional, nur wenn du beim Login zustimmst), Apple-Identity-Token, IAP-Receipts
Zweck
OAuth-Login, In-App-Käufe und Abonnements
Rechtsgrundlage
Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung)
Drittland
EU-Vertragspartner (Irland); Apple ist im EU-US Data Privacy Framework gelistet. Soweit Sub-Processing in den USA stattfindet: SCC.
Speicherdauer
Bis zur Account-Löschung; Receipts gemäß gesetzlicher Aufbewahrungsfristen
Pflicht/Optional
Pflicht nur, wenn du dich per Apple ID anmeldest.

Eigenständiger Verantwortlicher (kein Auftragsverarbeiter): Apple verarbeitet die Login- und Kauf-Daten in eigener Verantwortung. Es besteht hierfür kein Auftragsverarbeitungsvertrag nach Art. 28 DSGVO; es gilt die Datenschutzerklärung von Apple.

6. Google Sign-In / Google Play Billing

Anbieter
Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Irland (EU); Mutter: Google LLC, USA
Daten
Google-Sub, E-Mail, Name (öffentliches Google-Profil), OAuth-Tokens, Play-Receipts
Zweck
OAuth-Login, In-App-Käufe und Abonnements (Play Billing)
Rechtsgrundlage
Art. 6 Abs. 1 lit. b DSGVO
Drittland
EU-Vertragspartner (Irland), Backend teilweise in den USA; Google LLC ist DPF-zertifiziert, ergänzend SCC
Speicherdauer
Bis zur Account-Löschung; Receipts gemäß gesetzlicher Fristen
Pflicht/Optional
Pflicht nur, wenn du dich per Google Account anmeldest.

Eigenständiger Verantwortlicher (kein Auftragsverarbeiter): Google verarbeitet die Login-Daten des Google-Kontos in eigener Verantwortung. Es besteht hierfür kein Auftragsverarbeitungsvertrag nach Art. 28 DSGVO; es gilt die Datenschutzerklärung von Google.

7. Google Gemini API (KI-Lebensmittelerkennung)

Anbieter
Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA
Daten
Foto-Bytes (Base64), Audio-Bytes (Base64), Freitext-Eingabe einer Mahlzeit. Keine User-ID wird mitgesendet.
Zweck
KI-Analyse über die Edge-Functions analyze-food, analyze-food-text, analyze-food-voice sowie Plausibilitätsprüfung von Community-Submissions
Rechtsgrundlage
Art. 6 Abs. 1 lit. b DSGVO + Art. 9 Abs. 2 lit. a DSGVO (ausdrückliche Einwilligung beim Erstaufruf, da Inhalte gesundheitsbezogen sind)
Drittland
USA — SCC + DPF. Google nutzt Gemini-API-Inhalte im Paid Tier nicht zum Modelltraining; eine kurze Speicherung zur Missbrauchsprävention ist nach Google-API-Terms zulässig.
Speicherdauer
Bei uns: keine — die Bytes werden nach Antwort verworfen. Bei Google: kurz zur Missbrauchsprävention, siehe ai.google.dev/gemini-api/terms
Pflicht/Optional
Optional — du kannst Lebensmittel auch manuell oder per Barcode-Scan eintragen.

8. Open Food Facts (Lebensmittel-Datenbank)

Anbieter
Open Food Facts — gemeinnütziger Verein, Frankreich
Daten
Suchquery, Barcode
Zweck
Lebensmittel-Datenbank-Suche
Rechtsgrundlage
Art. 6 Abs. 1 lit. b DSGVO
Drittland
EU — kein Drittlandtransfer
Speicherdauer
Wir cachen Ergebnisse nicht.
Pflicht/Optional
Pflicht für die Lebensmittelsuche.

9. Resend (Transaktions-E-Mails)

Anbieter
Resend, Inc., 2261 Market Street, Suite 5039, San Francisco, CA 94114, USA
Daten
E-Mail-Adresse, Name (falls vorhanden), Inhalt der jeweiligen Transaktions-E-Mail (Welcome, Trial-Reminder, Pro-Welcome)
Zweck
Versand von App-bezogenen E-Mails (Onboarding, Trial-Erinnerung, Welcome nach Abo-Abschluss)
Rechtsgrundlage
Art. 6 Abs. 1 lit. b DSGVO (transaktionale Mails zur Vertragsausführung)
Drittland
USA — SCC + DPF
Speicherdauer
Mail-Logs bei Resend: bis zu 12 Monate. Bei uns: kein gesonderter Speicher.
Pflicht/Optional
Pflicht für transaktionale Mails. Marketing-Mails versenden wir nur mit separater Einwilligung.

10. Discord (optionales Foto-Sharing)

Anbieter
Discord Inc., 444 De Haro Street, Suite 200, San Francisco, CA 94107, USA; EU-Stelle: Discord Netherlands B.V., Amsterdam, Niederlande
Daten
Wenn du in der App aktiv „Teilen" tippst: Fortschrittsfoto, dein Display-Name, optionale Beschreibung, ggf. Body-Measurements (nur wenn du allowMarketing=true gesetzt hast), Trainings-Phase
Zweck
Community-Foto-Feature im BULKR-Discord-Server
Rechtsgrundlage
Art. 6 Abs. 1 lit. a DSGVO (Einwilligung — separate Bestätigung pro Share); für gesundheitsbezogene Inhalte zusätzlich Art. 9 Abs. 2 lit. a DSGVO
Drittland
USA + NL — SCC + DPF (Discord ist DPF-zertifiziert)
Speicherdauer
Auf Discord: dauerhaft, bis du oder wir den Beitrag entfernen lassen. Bereits öffentlich geteilte Inhalte können wir bei Discord nicht selbst löschen — wende dich an Discord direkt oder an uns für Admin-Entfernung.
Pflicht/Optional
Optional — Default ist „nicht teilen".

Eigenständiger Verantwortlicher (kein Auftragsverarbeiter): Für auf Discord veröffentlichte Inhalte ist Discord datenschutzrechtlich eigenständig verantwortlich. Es besteht hierfür kein Auftragsverarbeitungsvertrag nach Art. 28 DSGVO; es gilt die Datenschutzerklärung von Discord.

11. Expo / EAS (App-Build-Dienst)

Anbieter
650 Industries, Inc. d/b/a Expo, San Francisco, CA, USA
Daten
Keine personenbezogenen Endnutzerdaten. Expo/EAS kompiliert lediglich die App-Binärdatei in der Cloud. Es werden keine OTA-Updates ausgeliefert, keine Push-Token verarbeitet und keine Laufzeit-Telemetrie an Expo übertragen.
Zweck
Cloud-basierter Build der App (Kompilierung der Store-Version).
Rechtsgrundlage
Reines Entwickler-Werkzeug ohne Verarbeitung personenbezogener Endnutzerdaten.
Drittland
USA — keine Übermittlung personenbezogener Endnutzerdaten.
Speicherdauer
—
Pflicht/Optional
Entwickler-Werkzeug, kein Nutzerbezug.

12. Apple HealthKit (iOS, lokal)

Anbieter
Apple Inc. — Verarbeitung ausschließlich auf deinem Gerät
Daten
Lesen und Schreiben: Schritte, Gewicht, Kalorien, Protein, Kohlenhydrate, Fett
Zweck
Health-Sync iOS
Rechtsgrundlage
Art. 6 Abs. 1 lit. a + Art. 9 Abs. 2 lit. a DSGVO (Einwilligung über HealthKit-Dialog)
Drittland
Kein Drittland — Daten bleiben lokal.
Speicherdauer
Nicht persistiert auf unseren Servern. Im HealthKit-System solange du es dort behältst.
Pflicht/Optional
Optional.

13. Google Health Connect (Android, lokal)

Anbieter
Google Ireland Limited — Verarbeitung ausschließlich auf deinem Gerät
Daten
Lesen und Schreiben: Steps, Weight, Nutrition (READ + WRITE)
Zweck
Health-Sync Android
Rechtsgrundlage
Art. 6 Abs. 1 lit. a + Art. 9 Abs. 2 lit. a DSGVO (Einwilligung über Health-Connect-Dialog)
Drittland
Kein Drittland — lokal.
Speicherdauer
Nicht persistiert auf unseren Servern.
Pflicht/Optional
Optional.

14. Lokal gebundelte Schriftarten (@expo-google-fonts/*)

Anbieter
Schriftarten ursprünglich von Google Fonts. Sie werden über die Pakete @expo-google-fonts/* statisch in das App-Bundle integriert.
Daten
Keine — es findet kein Netzwerk-Call zu Google statt.
Zweck
Typografie der App
Rechtsgrundlage
Keine personenbezogene Verarbeitung.
Drittland
Kein Transfer.
Speicherdauer
—
Pflicht/Optional
Technisch im App-Bundle enthalten.

15. AppsFlyer (Attribution, Deep-Links, Referral-Zuordnung)

Anbieter
AppsFlyer Ltd., 14 Maskit St., Herzliya 4673314, Israel; Verarbeitung teils über die US-Tochter AppsFlyer Inc., San Francisco, USA
Daten
Geräte-Identifikatoren (IDFV, auf Android App-Set-ID bzw. GAID; die iOS-Werbe-ID IDFA wird nicht erhoben), IP-Adresse (grobe Geo-Verortung), Gerätetyp, OS-Version, App-Version, User-Agent, App-/Install-Events, Attributions- und Kampagnen-Parameter (Install-Referrer), Referral-/Einladungs-Code. Nach Login zusätzlich die pseudonyme Supabase-User-ID als Customer User ID.
Zweck
Install-Attribution („welcher Kanal / welche Einladung führte zur Installation"), Deep-Link-Auflösung und die Zuordnung „wer hat wen geworben" für das Programm „Freund einladen" (§13)
Rechtsgrundlage
Deine Einwilligung nach § 25 Abs. 1 TDDDG und Art. 6 Abs. 1 lit. a DSGVO, die wir beim ersten Start zusammen mit der Nutzungsstatistik abfragen („über welchen Link du zu uns kamst"). Ohne dein Ja startet das SDK nicht. Soweit du eine Einladung angenommen hast, zusätzlich Art. 6 Abs. 1 lit. b DSGVO (Durchführung des Belohnungsverhältnisses, §13). Widerruf jederzeit über den Schalter „Anonyme Nutzungsdaten teilen" in den App Einstellungen (Art. 7 Abs. 3 DSGVO); danach wird das SDK gestoppt und es werden keine Kennungen oder Ereignisse mehr erhoben.
Drittland
Israel — Angemessenheitsbeschluss der EU-Kommission (Entscheidung 2011/61/EU, im Januar 2024 bestätigt), Art. 45 DSGVO. US-Tochter / US-Server: SCC nach Art. 46 Abs. 2 lit. c DSGVO.
Speicherdauer
Für die Dauer der vertraglichen Nutzung; danach anonymisierte Aggregate. Abschaltbar über den Schalter „Anonyme Nutzungsdaten teilen" in den App-Einstellungen, zusätzlich über das Zurücksetzen der Werbe-ID (Android) oder appsflyer.com/optout.
Pflicht/Optional
Für die Referral-Zuordnung erforderlich; die App ist auch ohne Attribution nutzbar.

16. Unsplash (Bilder in den Rezeptvorschlägen)

Anbieter
Unsplash Inc., 100 Broadview Ave, Toronto, ON M4M 3H3, Kanada; Auslieferung über das Bildnetz images.unsplash.com
Daten
IP-Adresse, Browser- bzw. Gerätekennung (User-Agent), Zeitpunkt des Abrufs und das jeweils angeforderte Bild
Zweck
Anzeige der Beispielbilder zu unseren Rezeptvorschlägen. Die Bilder liegen nicht in der App, sondern werden beim Öffnen eines Rezepts direkt von Unsplash geladen.
Rechtsgrundlage
Art. 6 Abs. 1 lit. f DSGVO — berechtigtes Interesse an einer ansprechenden Darstellung der Rezepte ohne die App unnötig groß zu machen. Ein Zugriff auf Informationen in deinem Endgerät findet dabei nicht statt.
Drittland
Kanada — Angemessenheitsbeschluss der EU-Kommission nach Art. 45 DSGVO (Entscheidung 2002/2/EG für dem PIPEDA unterliegende Empfänger). Das Bildnetz wird technisch auch über Server außerhalb Kanadas ausgeliefert.
Speicherdauer
Serverseitig bei Unsplash nach deren Vorgaben; wir selbst speichern nichts. Die Bilder werden vom Betriebssystem lokal zwischengespeichert.
Pflicht/Optional
Fällt nur an, wenn du Rezeptvorschläge öffnest. Alle übrigen Funktionen der App laufen ohne diesen Abruf.

Wir verkaufen keine personenbezogenen Daten und geben keine Gesundheits- oder Ernährungsdaten zu Werbezwecken an Dritte weiter. Auf iOS zeigen wir keinen App-Tracking-Transparency-Dialog an und greifen deshalb nicht auf die Werbe-ID IDFA zu. Ein Wiedererkennen über die Apps und Websites anderer Anbieter hinweg findet nicht statt. Auf Android meldet die App die Berechtigung für die Werbe-ID (AD_ID) an, weil das AppsFlyer SDK sie voraussetzt; ausgelesen wird sie ausschließlich nach deiner Einwilligung und nur zur Zuordnung, über welchen Kanal eine Installation zustande kam.

§5 Gesundheitsdaten (Art. 9 DSGVO)

Die folgenden Daten sind „Gesundheitsdaten" im Sinne von Art. 4 Nr. 15 DSGVO und unterliegen dem besonderen Schutz nach Art. 9 Abs. 1 DSGVO:

Rechtsgrundlage: Art. 9 Abs. 2 lit. a DSGVO — deine ausdrückliche Einwilligung. Diese holen wir

  1. im Onboarding über einen separaten, klar gekennzeichneten Toggle (nicht versteckt in einer Sammeleinwilligung), und
  2. für KI-Verarbeitung (Gemini), Voice-Tracking und Health-Sync erneut beim ersten Aufruf der jeweiligen Funktion.

Widerruf (Art. 7 Abs. 3 DSGVO): Du kannst jede dieser Einwilligungen jederzeit mit Wirkung für die Zukunft widerrufen — über die App-Einstellungen, durch Account-Löschung oder per E-Mail an support@bulkr.fitness.

§6 Voice- und Foto-Eingaben — was technisch passiert

Foto-Tracking (analyze-food)

  1. Du nimmst ein Foto deiner Mahlzeit auf oder wählst eines aus.
  2. Die App kodiert das Bild als Base64 und schickt es an die Edge-Function analyze-food.
  3. Diese ruft die Google Gemini API auf, ohne deine User-ID mitzusenden.
  4. Die erkannten Lebensmittel + geschätzte Mengen kommen zurück. Du kannst sie prüfen, anpassen oder verwerfen.
  5. Verwirfst du das Ergebnis, wird das Bild nicht gespeichert.
  6. Übernimmst du die Mahlzeit in dein Tagebuch, speichern wir das Bild, damit du es später beim Eintrag wiedersehen kannst. Es liegt in einem privaten Speicherbereich, auf den ausschließlich dein Konto Zugriff hat, wird nur über kurzlebige Adressen angezeigt (gültig eine Stunde) und spätestens 30 Tage nach dem Hochladen automatisch gelöscht. Ein täglich laufender Aufräumjob erledigt das.

Voice-Tracking (analyze-food-voice)

  1. Du sprichst eine Mahlzeit ein.
  2. Die Audio-Bytes werden an analyze-food-voice geschickt — von dort an Gemini zur Speech-to-Text- und Inhaltsanalyse.
  3. Die Antwort wird strukturiert zurückgegeben. Wir speichern die Aufnahme weder in unserer Datenbank noch in unserem Dateispeicher; sie besteht bei uns nur für die Dauer der Verarbeitung. Für die Verarbeitung bei Google gelten die unter Nr. 7 genannten Bedingungen.

Freitext-Eingabe (analyze-food-text)

Wie oben, nur mit Text statt Foto/Audio. Auch hier wird keine User-ID mitgesendet.

Es findet keine automatisierte Entscheidung mit rechtlicher Wirkung im Sinne von Art. 22 DSGVO statt — du bestätigst jeden Eintrag manuell.

Hinweis zum Einsatz künstlicher Intelligenz (Art. 50 der Verordnung (EU) 2024/1689, KI-Verordnung, anwendbar seit 2. August 2026): Die erkannten Lebensmittel, Mengen und Nährwerte stammen aus einem KI-System und sind automatisiert erzeugte Schätzungen. Sie können falsch oder unvollständig sein und lassen sich vor der Übernahme in dein Tagebuch prüfen und ändern. Eine medizinische Bewertung oder Diagnose ist damit nicht verbunden.

Bebilderung der Lebensmittel: Ein Teil der Bilder, die in der App neben Lebensmitteln angezeigt werden, wurde mit einem KI-System erzeugt. Es handelt sich dabei nicht um Fotografien der jeweiligen Produkte. Die Bilder dienen ausschließlich der schnelleren Orientierung in Listen und treffen keine Aussage über Aussehen, Hersteller oder Zusammensetzung eines konkreten Produkts.

§7 HealthKit / Health Connect

iOS — Apple HealthKit: Wenn du der App diese Berechtigung erteilst, kann sie Schritte, Gewicht und Ernährungsdaten aus HealthKit lesen und (bei Schreibrechten) eintragen. Wir greifen dabei nicht auf deinen HealthKit-Verlauf zu, sondern übernehmen die aktuellen Tageswerte. Widerruf in iOS-Einstellungen → Datenschutz & Sicherheit → Health → BULKR.

Android — Google Health Connect: Analog über die Health-Connect-App. Wir lesen READ_STEPS, READ_WEIGHT, READ_NUTRITION und schreiben WRITE_NUTRITION (z. B. wenn du eine Mahlzeit in BULKR einträgst und sie zurück nach Health Connect spielen willst). Widerruf in der Health-Connect-App.

Was danach mit den Werten passiert: Die übernommenen Werte werden Teil deines BULKR-Profils, also deines Tageseintrags und deiner Gewichtshistorie. Solange du ein Konto hast und angemeldet bist, wird dein Profil laufend mit unserem Server abgeglichen, damit deine Daten auf mehreren Geräten und nach einer Neuinstallation verfügbar sind. Einen gesonderten Schalter, mit dem sich nur dieser Abgleich abschalten ließe, gibt es derzeit nicht. Wer seine Daten ausschließlich auf dem Gerät behalten möchte, kann die App ohne Anmeldung nutzen; dann findet kein Abgleich statt, die Daten sind aber auch bei Geräteverlust weg.

Nutzt du auf einem iPhone zusätzlich Google Fit als Schrittquelle, läuft dieser Abruf serverseitig: Wir speichern dafür den Zugangs- und Erneuerungsschlüssel deines Google-Kontos in unserer Datenbank und fragen deine Schrittzahl bei Google ab. Rechtsgrundlage ist deine ausdrückliche Einwilligung (Art. 6 Abs. 1 lit. a i. V. m. Art. 9 Abs. 2 lit. a DSGVO), die du durch das Verbinden erteilst und durch das Trennen der Verbindung widerrufst.

§8 Benachrichtigungen (lokal)

Die App zeigt Erinnerungen (Tracking, Trial, Streak) als lokale Benachrichtigungen an. Diese werden ausschließlich auf deinem Gerät geplant und ausgelöst (über expo-notifications, scheduleNotificationAsync).

Es findet kein Massen-Versand zu Werbezwecken statt — nur App-funktionale Reminder. Du kannst Benachrichtigungen jederzeit in den Geräteeinstellungen abschalten.

§9 In-App-Käufe und Abonnements (RevenueCat + Apple/Google)

BULKR Premium ist als Abonnement über den Apple App Store und Google Play Store buchbar.

§10 Absturzberichte (Sentry)

Stürzt die App ab oder tritt ein Programmfehler auf, sendet die App einen technischen Bericht an Sentry (Server in Frankfurt). Er enthält den Stacktrace, die App-Version, die OS-Version und den Gerätetyp. Er enthält keine Nutzer-ID, keine E-Mail und keine IP-Adresse; sensible Felder werden bereits im SDK gefiltert (beforeSend). Speicherdauer 90 Tage.

Rechtsgrundlage ist § 25 Abs. 2 Nr. 2 TDDDG in Verbindung mit Art. 6 Abs. 1 lit. f DSGVO: Ohne diese Berichte können wir Abstürze auf einzelnen Geräten nicht erkennen und beheben. Du kannst die Berichte jederzeit in den Einstellungen unter Datenschutz → Absturzberichte abschalten (Widerspruch nach Art. 21 DSGVO).

§11 Anonyme Nutzungsstatistik (PostHog), EU-Server

Zur Verbesserung der App erfassen wir anonyme Nutzungsstatistiken: welche Screens geöffnet und welche Funktionen genutzt werden, und wo Nutzer abbrechen. Die Ereignisse hängen an einer zufälligen Geräte-ID und werden nicht mit deinem Konto verknüpft. Die Daten gehen an den EU-Endpoint eu.i.posthog.com (Frankfurt).

Keine E-Mail, kein Klarname, keine Konto-ID, keine Inhalte deiner Einträge. Speicherdauer 12 Monate. Die Statistik läuft nur, wenn du beim ersten Start der App zugestimmt hast (§ 25 Abs. 1 TDDDG, Art. 6 Abs. 1 lit. a DSGVO). Ohne Zustimmung wird nichts erhoben. Widerruf jederzeit in den Einstellungen unter Datenschutz → Anonyme Nutzungsdaten teilen (Art. 7 Abs. 3 DSGVO).

§12 Discord-Foto-Sharing — nur bei aktiver User-Action

Du kannst Fortschrittsfotos oder Streak-Erfolge optional in den BULKR-Community-Discord-Server posten. Dies geschieht nur, wenn du in der App aktiv „Teilen" tippst und einen Bestätigungsdialog absegnest.

Übermittelte Inhalte: Foto, Display-Name, optionale Beschreibung; falls du Marketing-Sichtbarkeit gesetzt hast, zusätzlich Body-Measurements und Trainings-Phase. Geteilte Inhalte sind für andere Discord-Mitglieder sichtbar — kopierbar, screenshotbar, dauerhaft. Wir haben keinen Einfluss auf den weiteren Verbleib auf Discord.

Widerruf für künftige Shares jederzeit möglich (einfach nicht teilen oder Feature deaktivieren). Bereits geteilte Inhalte können wir auf Anfrage entfernen, soweit wir Admin-Rechte im Server haben.

§13 Freund einladen (Referral-Programm)

Mit „Freund einladen" kannst du über einen persönlichen Einladungs-Link Freunde werben und dafür eine Belohnung erhalten. In unserer Supabase-Datenbank verarbeiten wir dafür:

Die technische Zuordnung „welcher Install kam über welchen Einladungs-Link" läuft über AppsFlyer (§4 Nr. 15). Der eingelöste Code wird nach dem Login aus einem geparkten Wert (pending_referral_code) übernommen.

Datensparsamkeit: Die Zuordnung erfolgt ausschließlich über pseudonyme IDs. Der Werber sieht keine Klarnamen, E-Mail-Adressen oder Profildaten der geworbenen Person — nur, dass bzw. wie viele Einladungen erfolgreich waren.

Rechtsgrundlage: Art. 6 Abs. 1 lit. b DSGVO (Durchführung des auf deine Veranlassung angestoßenen Belohnungsverhältnisses) sowie Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse an einem missbrauchssicheren Empfehlungsprogramm).

Speicherdauer: Bis zur Account-Löschung eines der beteiligten Nutzer bzw. bis zum Wegfall des Belohnungsprogramms; belohnungsrelevante Kaufbelege gemäß steuerlicher Aufbewahrungsfristen (§ 147 AO, § 257 HGB).

§13b Wochenliga (Punkte-Rangliste) — Opt-In

Die Wochenliga ist ein freiwilliger Wettbewerb. Du wirst wöchentlich einer Gruppe von rund 30 Personen zugelost und sammelst Punkte für deine Aktivität in der App. Ohne deine ausdrückliche Zustimmung nimmst du nicht teil und erscheinst in keiner fremden Rangliste. Die Zustimmung erteilst du in der App über die Schaltfläche „Ich bin dabei", nachdem dir dort aufgelistet wurde, was andere sehen und was nicht. Du kannst sie jederzeit mit einem Tipp widerrufen und verschwindest dann sofort aus den Ranglisten der anderen.

Was andere Teilnehmer deiner Gruppe sehen:

Dein Profilbild wird in der Wochenliga standardmäßig nicht angezeigt, sondern nur dein Symbol. Es erscheint dort ausschließlich, wenn du das ausdrücklich erlaubst: über den Schalter „Profilbild in der Wochenliga zeigen" in deinem Profil oder über die einmalige Abfrage in der App, die du mit „Einschalten" bestätigst. Der Schalter ist standardmäßig ausgeschaltet; ohne deine Handlung ändert sich nichts. Mit deiner Einwilligung sehen die Mitglieder deiner Ligagruppe in der laufenden Woche dein Bild, sofern sie selbst an der Wochenliga teilnehmen und keine Blockierung besteht. Den Zeitpunkt deiner Einwilligung speichern wir als Nachweis.

Widerruf: Du kannst diese Einwilligung jederzeit mit demselben Schalter widerrufen. Ab dann ist dein Bild für die Mitglieder deiner Ligagruppe technisch nicht mehr abrufbar. Ladeadressen, die vor dem Widerruf erzeugt wurden, können aus technischen Gründen noch bis zu sieben Tage gültig bleiben. Die Rechtmäßigkeit der bis zum Widerruf erfolgten Anzeige bleibt unberührt (Art. 7 Abs. 3 DSGVO). Rechtsgrundlage für die Anzeige deines Profilbildes in der Wochenliga ist Art. 6 Abs. 1 lit. a DSGVO.

Unabhängig davon gilt: Hast du die Sichtbarkeit deines Profils selbst auf „Öffentlich" gestellt, sehen alle angemeldeten Nutzer dein Bild (§13a), also auch in der Wochenliga.

Was andere Teilnehmer ausdrücklich NICHT sehen: deine Kalorien, Nährwerte, dein Gewicht, deine Körpermaße, deine erfassten Mahlzeiten, deine Serie („Streak") oder deinen bürgerlichen Namen. Diese Daten verlassen den Bereich der Wochenliga nicht.

Wie die Punkte entstehen: Punkte werden für Interaktionen und Beständigkeit vergeben — für das Erfassen einer Mahlzeit, für jeden Tag deiner Serie, für das Eintragen deines Gewichts sowie dafür, dass du dein persönliches Tagesziel triffst. Bewusst gibt es keine Punkte für besonders niedrige Kalorienaufnahme; wer sein Ziel deutlich unterschreitet, erhält dafür nichts. Der Wettbewerb belohnt ausschließlich das Dranbleiben.

Datensparsamkeit und Aggregation: In der Tabelle league_weeks speichern wir ausschließlich deine pseudonyme Nutzer-ID, die Kalenderwoche, eine Punktzahl, deine Liga-Stufe, deine Gruppennummer und den Status deiner Zustimmung. Die Punktzahl ist ein aggregierter Wert; aus ihr lässt sich nicht zurückrechnen, was du gegessen, gewogen oder erfasst hast. Fremde Punktestände sind technisch nur über eine abgesicherte Datenbankfunktion abrufbar, die prüft, ob du selbst teilnimmst und ob eine Blockierung besteht. Blockierte Nutzer sind in beide Richtungen ausgeblendet.

Rechtsgrundlage: Art. 6 Abs. 1 lit. a DSGVO (Einwilligung). Soweit den Punkten mittelbar ein Gesundheitsbezug zukommt, weil sie unter anderem aus dem Erreichen deines Ernährungsziels entstehen, stützen wir die Verarbeitung zusätzlich auf Art. 9 Abs. 2 lit. a DSGVO (ausdrückliche Einwilligung).

Speicherdauer: Die Wochenwerte werden bis zur Account-Löschung gespeichert. Widerrufst du deine Teilnahme, bleibt der Eintrag der laufenden Woche mit deaktiviertem Status bestehen, ist aber für keinen anderen Nutzer mehr sichtbar. Bei Account-Löschung werden alle Einträge über die Datenbankverknüpfung mitgelöscht.

§13a Profilbild

Du kannst deinem Profil ein selbst gewähltes Bild geben. Das ist freiwillig. Wer kein Bild hinterlegt, erscheint für andere weiterhin mit einem Symbol seiner Wahl, so wie bisher.

Was passiert technisch: Das Bild wird auf deinem Gerät auf 256 mal 256 Bildpunkte verkleinert und als JPEG komprimiert (rund 20 bis 30 Kilobyte). Erst danach wird es in unseren Supabase Speicher in Zürich übertragen, in einen Ordner, der nur dir gehört. In deinem Profil steht lediglich der Pfad zu dieser einen Datei, nicht das Bild selbst. Ein neues Bild überschreibt das alte, es entsteht also keine Sammlung früherer Bilder.

Wer dein Bild sehen kann: Der Speicher ist nicht öffentlich. Es gibt keine Adresse, die jemand ohne Anmeldung aufrufen könnte. Der Zugriff ist auf der Ebene der Datenbank auf genau fünf Fälle beschränkt:

Hast du jemanden blockiert oder wurdest du blockiert, entfällt der Zugriff in beide Richtungen, auch bei einer gemeinsamen Challenge. Für alle übrigen Nutzer ist dein Bild technisch nicht abrufbar. Die Adressen, über die das Bild geladen wird, sind zeitlich begrenzt gültig und werden für jeden Abruf neu erzeugt.

Keine Gesichtserkennung: Wir werten das Bild nicht aus. Es findet keine biometrische Verarbeitung statt, es wird nicht an eine KI übergeben und nicht zum Training verwendet. Damit handelt es sich nicht um biometrische Daten im Sinne von Art. 9 Abs. 1 DSGVO.

Rechtsgrundlage: Art. 6 Abs. 1 lit. a DSGVO. Das Hochladen ist eine bewusste eigene Handlung, über deren Reichweite du unmittelbar vorher in der App informiert wirst. Du kannst das Bild jederzeit im selben Fenster wieder entfernen; es wird dann sofort sowohl aus deinem Profil als auch aus dem Speicher gelöscht. Für die Zukunft entfällt die Einwilligung damit vollständig.

Speicherdauer: Bis du das Bild selbst entfernst oder dein Konto löschst.

§14 Datenexport (Art. 20 DSGVO)

Du kannst deine Daten jederzeit als strukturierte JSON-Datei exportieren — über Profil → Konto & Daten → Daten exportieren. Technisch ruft die App die Edge-Function export-user-data auf, die alle deine Profildaten, Tracking-Daten, Body-Measurements und Subscription-Status zusammenstellt.

Cloud-only Inhalte sozialer Funktionen (z. B. Discord-Share-Logs) kannst du zusätzlich per Mail an support@bulkr.fitness anfordern.

§15 Account-Löschung (Art. 17 DSGVO, mit 14-Tage-Karenz)

Du kannst deinen Account jederzeit in der App löschen: Profil → Konto & Daten → Konto löschen.

Ablauf:

  1. Du stößt die Löschung an. Dein Account wird sofort gesperrt und für andere Nutzer unsichtbar.
  2. Es läuft eine 14-tägige Karenzfrist, in der du den Vorgang per Login wieder rückgängig machen kannst (Schutz vor versehentlicher Löschung).
  3. Nach Ablauf der Frist werden alle deine Daten durch unsere Edge-Function delete-expired-accounts (täglicher Cron-Job) endgültig entfernt: Auth-User, Profil, Tracking, Body-Measurements, Foto-Uploads, Friendships, Snapshots.
  4. Pseudonyme Identifier in Sentry / PostHog / RevenueCat werden ebenfalls entfernt.

Ausnahme: Subscription-Belege müssen wir aus steuer-/handelsrechtlichen Gründen bis zu 10 Jahre aufbewahren (§ 147 AO, § 257 HGB). Diese werden für andere Zwecke gesperrt.

Community-Beiträge: Lebensmittel-Submissions in der gemeinsamen Community-Datenbank bleiben — soweit andere Nutzer sich darauf stützen — im Datenbestand erhalten. Auf Anfrage anonymisieren wir den Username durch „[Gelöschter Nutzer]" oder entfernen den Beitrag.

§16 Speicherdauer pro Kategorie

KategorieSpeicherdauer
Account-, Profil- und Tracking-DatenBis zur Account-Löschung (+ 14 Tage Karenz)
FortschrittsfotosBis du sie selbst oder den Account löschst. Ohne aktiviertes Cloud-Backup verlassen sie das Gerät nicht
Profilbild Bis zum eigenen Entfernen oder zur Account-Löschung
Food-Fotos (analyze-food)Verworfenes Ergebnis: gar nicht. Übernommene Mahlzeit: 30 Tage im privaten Speicher, danach automatische Löschung
Sprachaufnahmen (analyze-food-voice)Bei uns nicht gespeichert, nur für die Dauer der Verarbeitung
Crash-Reports (Sentry)90 Tage
Analytics-Events (PostHog)12 Monate
Subscription-Belege (RevenueCat)Vertragsdauer + bis zu 10 Jahre (§ 147 AO, § 257 HGB)
Transaktions-Mail-Logs (Resend)Bis zu 12 Monate
Werte aus HealthKit / Health ConnectAls Teil deines Tageseintrags bis zur Account-Löschung (der Verlauf in Apple Health bzw. Health Connect selbst bleibt davon unberührt)
Discord-SharesAuf Discord dauerhaft, bis Entfernung
AppsFlyer-Attribution / Referral-ZuordnungVertragsdauer, danach anonymisierte Aggregate
Technische Zugriffsprotokolle unserer Schnittstellen (enthalten IP-Adresse und Zeitpunkt, dienen dem Schutz vor Missbrauch und der Begrenzung der Zugriffszahl)30 Tage, danach automatische Löschung

§17 Drittlandtransfers

Soweit Daten an Empfänger außerhalb des EWR übermittelt werden — überwiegend in die USA — sichern wir die Übermittlung durch folgende Garantien nach Art. 44 ff. DSGVO ab:

Sollte das DPF gerichtlich aufgehoben werden, stützen wir die betroffenen Übermittlungen ausschließlich auf SCC + ergänzende Maßnahmen und informieren dich bei wesentlichen Änderungen.

§18 Betroffenenrechte

Widerspruch gegen Datenverarbeitung aus besonderer Situation (Art. 21 DSGVO): Wenn die Verarbeitung deiner Daten auf Art. 6 Abs. 1 lit. f DSGVO beruht, hast du jederzeit das Recht, aus Gründen, die sich aus deiner besonderen Situation ergeben, Widerspruch einzulegen. Wir stellen die Verarbeitung dann ein, sofern nicht zwingende schutzwürdige Gründe überwiegen.

§19 Minderjährige

Das Angebot richtet sich an Personen ab 16 Jahren. Personen unter 16 Jahren dürfen die App nicht nutzen.

Bei Personen zwischen 16 und 17 Jahren ist die Zustimmung der Erziehungsberechtigten zur Datenverarbeitung erforderlich. Beim Abschluss einer kostenpflichtigen Subscription gilt zusätzlich §§ 107 ff. BGB — Minderjährige dürfen ohne Zustimmung des gesetzlichen Vertreters keinen wirksamen Vertrag schließen.

Es existiert ein Feld parental_consent im Profil, in dem du diese Zustimmung dokumentieren kannst. Solltest du dich als Erziehungsberechtigter melden, dass eine Person unter 16 die App nutzt, löschen wir das Profil unverzüglich.

§20 Beschwerderecht bei einer Aufsichtsbehörde (Art. 77 DSGVO)

Du hast das Recht, dich bei einer Datenschutz-Aufsichtsbehörde zu beschweren. Für uns als Verantwortlichen mit Sitz in Berlin zuständig ist:

Berliner Beauftragte für Datenschutz und Informationsfreiheit
Alt-Moabit 59-61
10555 Berlin
Telefon: 030 138890
E-Mail: mailbox@datenschutz-berlin.de
Web: www.datenschutz-berlin.de

Du kannst dich darüber hinaus bei der Aufsichtsbehörde deines eigenen Bundeslandes oder EU-Mitgliedstaats beschweren.

§21 Änderungen dieser Datenschutzerklärung

Wir passen diese Erklärung an, wenn sich Funktionen, Drittanbieter oder die Rechtslage ändern. Über wesentliche Änderungen informieren wir dich rechtzeitig direkt in der App.

Die jeweils aktuelle Fassung findest du in der App unter Einstellungen → Rechtliches → Datenschutz sowie unter bulkr.fitness/app-datenschutz.html.

Stand: 22. September 2026


Kontakt für datenschutzrechtliche Anliegen:

Malte Heppke
Wuhlestraße 7a
12683 Berlin
Deutschland
E-Mail: support@bulkr.fitness