Datenschutz
Verantwortliche Person
Verantwortlich für die Datenbearbeitung ist die im Impressum genannte Person: Ivo Bättig, Sängeliweg 6, 4922 Thunstetten, Schweiz, ivo.baettig@gmail.com. Balance wird als privates, nicht-kommerzielles Projekt betrieben. Die Registrierung ist nur mit einem persönlichen Einladungscode möglich, den du über die Startseite anfragen kannst.
Welche Rechtsordnung gilt?
Es gilt in erster Linie das Schweizer Datenschutzgesetz (revDSG). Nutzt du Balance mit Wohnsitz in der EU (z.B. Deutschland), gilt für dich zusätzlich die Datenschutz-Grundverordnung (DSGVO). Die folgenden Angaben sollen beide Regelwerke abdecken.
Welche Daten werden gespeichert?
Zu deinem Konto: Benutzername, E-Mail-Adresse (für Bestätigung & Passwort-Reset), Passwort (nur als Hash gespeichert, nie im Klartext).
Aktivierst du die Zwei-Faktor-Anmeldung, kommen ein verschlüsseltes Geheimnis für deine
Authenticator-App und die Prüfwerte deiner Wiederherstellungscodes dazu. Fehlgeschlagene
Anmeldeversuche werden gezählt, um Rateversuche zu bremsen.
Dazu deine eigenen Ernährungs- und Fitnessdaten: Mahlzeiten, Sport, Gewicht, Flüssigkeitsmenge, Schritte, Fastenzeiten, Gewohnheiten,
eigene Lebensmittel/Sportarten sowie optionale Angaben wie TCM-Konstitution oder Körperprofil. Reichst du ein
Feedback ein, speichern wir zusätzlich, auf welcher Seite der App du es abgeschickt hast (nur der Pfad, z.B.
/tag/2026-08-20), damit sich ein Fehler nachvollziehen lässt. Lädst du dabei Bilder hoch
(mehrere je Meldung, eines je Antwort), werden diese verkleinert und in der Datenbank gespeichert — Metadaten
des Bildes (z.B. Angaben zum Gerät) werden dabei entfernt. Sie sind ausschliesslich für dich und
die Administration abrufbar und werden gelöscht, sobald die Meldung als erledigt oder
«nicht umsetzen» abgeschlossen ist — die Bilder an den Antworten eingeschlossen. Zusätzlich fallen beim Hosting
übliche technische Server-Logdaten an (z.B. IP-Adresse, Zeitpunkt des Zugriffs).
In der Datenbank protokollieren wir ausserdem: Zugriffe von Agenten/Automatisierungen über
die MCP-Schnittstelle und die Agenten-API, privilegierte Eingriffe der Administration
(z.B. Konto löschen, Rechte ändern) sowie erreichte Nutzungslimits — jeweils mit
IP-Adresse, damit Missbrauch nachvollziehbar bleibt. Beim Agentenzugriff hält der
Protokolleintrag auch fest, was geschrieben wurde, also etwa «Banane · 150 g ·
134 kcal» oder «78.5 kg» — es sind damit dieselben Gesundheitsdaten wie in deinen
Einträgen. Diese Protokolle werden nach 90 Tagen automatisch gelöscht und sind im
Datenexport enthalten: deine eigenen Zugriffe unter mcp_audit_log, die
Eingriffe der Administration, die dein Konto betreffen, unter
mcp_audit_log_betroffen. Nicht enthalten ist dort, wer den
Eingriff vorgenommen hat — das ist eine Angabe über diese Person und nicht über dich.
Ausserdem zählen wir mit, welche Funktionen der App du benutzt: je Konto,
Funktion und Kalendertag eine Zahl — also etwa «Wochenübersicht, 21.08.2026, 3 Aufrufe».
Nicht gespeichert wird der Zeitpunkt einzelner Aufrufe, und nicht gespeichert wird, was
du dabei eingetragen oder angesehen hast; die Zahl allein sagt, dass die Funktion benutzt
wurde. Zweck ist die Weiterentwicklung: ohne diese Zählung ist nicht erkennbar, ob eine
Seite wie die Wochenübersicht oder die Rangliste überhaupt jemand aufruft — Funktionen,
die nichts speichern, hinterlassen sonst keine Spur. Rechtsgrundlage ist das berechtigte
Interesse an einer Anwendung, die sich an der tatsächlichen Nutzung ausrichtet. Diese
Zahlen werden nach 90 Tagen automatisch gelöscht, sind im Datenexport unter
feature_usage enthalten und verschwinden mit deinem Konto.
Zu Ankündigungen — den gelegentlichen Hinweisen auf Neuerungen, die als
Einblendung erscheinen — speichern wir zwei Dinge mit Kontobezug: ob eine Ankündigung
gezielt an dich gerichtet war und wann du sie weggeklickt hast. Ohne diesen Vermerk
erschiene dieselbe Mitteilung bei jedem Seitenaufruf erneut. Der Text der Ankündigung
selbst gehört zu keinem Konto. Beides steht im Datenexport unter
announcement_recipients und announcement_views und verschwindet
mit deinem Konto.
Verbindest du dein Strava-Konto (Einstellungen → Konto), speichern wir die Zugangsdaten dafür verschlüsselt, dazu deine Strava-Kennnummer und den dort hinterlegten Namen. Übernimmst du eine Einheit in einen Tag, entsteht daraus ein gewöhnlicher Sporteintrag (Name, Dauer, Kalorien) mit der Kennnummer der Strava-Aktivität — damit dieselbe Einheit nicht zweimal übernommen werden kann. Nicht gespeichert werden Streckenverlauf, Ortsangaben, Herzfrequenz oder Leistungswerte; Balance fragt diese Daten gar nicht erst ab und schreibt nichts zu Strava zurück. Trennst du die Verbindung oder löschst du dein Konto, ziehen wir den Zugriff auch bei Strava zurück und löschen die gespeicherten Zugangsdaten; bereits übernommene Sporteinträge bleiben als deine eigenen Einträge bestehen.
Fragst du über die Startseite einen Einladungscode an, speichern wir Name, E-Mail-Adresse und deine optionale Nachricht. Ist die Anfrage bearbeitet, wird sie 90 Tage später gelöscht; bleibt sie unbearbeitet, spätestens nach 180 Tagen. Auch ohne Konto kannst du jederzeit die Löschung dieser Anfrage verlangen.
Zu welchem Zweck und auf welcher Grundlage?
Konto- und Trackingdaten verarbeiten wir, um dir die App-Funktionen (Tracking, Auswertungen, Erinnerungen) bereitzustellen – Rechtsgrundlage ist die Erfüllung des Nutzungsverhältnisses, das mit der Registrierung entsteht. Ernährungs-, Gewichts- und Fitnessdaten gelten datenschutzrechtlich als Gesundheitsdaten (besonders schützenswerte Personendaten). Für deren Verarbeitung holen wir bei der Registrierung deine ausdrückliche Einwilligung ein; du kannst diese jederzeit für die Zukunft widerrufen, z.B. per E-Mail oder durch Löschen deines Kontos. Festgehalten wird dabei der Zeitpunkt und die Fassung dieser Erklärung, die damals galt — beides steht in deinem Datenexport, damit nachvollziehbar bleibt, wozu du zugestimmt hast. Server-Logdaten verarbeiten wir kurzzeitig aus Sicherheits- und Stabilitätsgründen (berechtigtes Interesse).
Wer sieht meine Daten?
Deine Ernährungs- und Trainingsdaten sind ausschliesslich für dein eigenes Konto sichtbar und von den Daten anderer Nutzer:innen getrennt. Zwei Ausnahmen, die du selbst steuerst bzw. kennen solltest:
- Rangliste: Standardmässig ausgeschaltet. Schaltest du sie ein, sehen andere angemeldete Nutzer:innen deinen Benutzernamen, deine Punktzahl und die Anzahl freigeschalteter Erfolge — keine Einträge, Gewichte oder Mahlzeiten. Die Punktzahl lässt allerdings Rückschlüsse darauf zu, wie konsequent du trackst; deshalb ist das eine bewusste Entscheidung und keine Voreinstellung. Die Ranglisten-Seite sagt dir oben, ob du gerade sichtbar bist, und du kannst es dort mit einem Klick ändern — jederzeit und in beide Richtungen. Wer nicht sichtbar ist, sieht die Liste auch nicht.
- Feedback: Was du über das Feedback-Formular einreichst (inkl. hochgeladener Bilder), sieht die Administration.
Administrator:innen haben aus technischen Gründen Zugriff auf die Datenbank (z.B. für Support oder Fehlerbehebung) und sehen im Admin-Bereich Nutzungskennzahlen pro Konto (Anzahl Einträge, letzte Aktivität, KI-Kosten, benutzte Funktionen) — nicht aber deine Mahlzeiten, Gewichte oder Notizen im Klartext der Oberfläche. Im Admin-Bereich gibt es keine Funktion, um ein Passwort zu setzen oder sich als du anzumelden; möglich ist dort nur der Versand einer Zurücksetzen-Mail an deine eigene Adresse — den Link bekommst also nur du. Wer Zugriff auf den Server selbst hat (das ist die oben genannte verantwortliche Person), kann darüber hinaus technisch auch ein Passwort setzen; das ist mit dem Datenbankzugriff unvermeidlich verbunden.
Externe Dienstleister
Die Anwendung selbst läuft auf der Hosting-Plattform Render (Render Services Inc., USA) – dabei werden zwangsläufig alle App-Daten auf deren Servern verarbeitet.
Die Datenbank liegt bei Supabase (Supabase Inc., USA). Dort sind deine Einträge dauerhaft gespeichert — es ist also der Dienstleister, bei dem am meisten von dir liegt. Die Datenbank selbst wird in einem Rechenzentrum in Frankfurt (EU) betrieben; deine Daten liegen im Ruhezustand damit in der EU, auch wenn der Anbieter ein US-Unternehmen ist.
Für den Versand von E-Mails wird Brevo (Sendinblue SAS, Frankreich/EU) als SMTP-Relay genutzt. Darüber laufen drei Arten von Nachrichten:
- An dich: Bestätigungs- und Passwort-Reset-Mails, die Mitteilung, wenn ein Admin dir den gemeinsamen KI-Key freigeschaltet hat, sowie Benachrichtigungen zu deinen Feedback-Meldungen (neue Antwort, geänderter Status). Übermittelt werden deine E-Mail-Adresse, dein Benutzername und — bei den Feedback-Mails — der Titel deiner Meldung.
- An Einladungs-Interessierte: Wer über die Startseite einen Code anfragt, bekommt ihn per Mail — mit Name und E-Mail-Adresse aus der Anfrage.
- An den Betreiber: Löst ein Konto ein Nutzungslimit einer kostenpflichtigen KI-Funktion aus, geht eine Warnmeldung an die Betreiber-Adresse. Sie enthält die Konto-Nummer (nicht den Benutzernamen) und die IP-Adresse des Zugriffs, damit Missbrauch und unerwartete Kosten auffallen. Diese Adresse liegt bei einem externen Mail-Anbieter (Google, USA).
Antwortest du auf eine dieser Mails oder schreibst du an die Adresse im Impressum, läuft deine Nachricht nicht durch Balance, sondern geht direkt an die verantwortliche Person. Post an eine Adresse dieser Domain nimmt der Weiterleitungsdienst ImprovMX (Frankreich/EU) entgegen und reicht sie an ein Postfach bei Google (Google LLC, USA) weiter; die Adresse im Impressum liegt direkt bei Google. Was du dorthin schreibst, verarbeiten also diese Anbieter — unabhängig davon, was diese Erklärung über die App selbst sagt. Für vertrauliche Anliegen ist eine E-Mail deshalb nicht der geeignete Weg.
Darstellung: Schriftsymbole und die Bibliotheken Bootstrap und Chart.js werden vom Content-Delivery-Netzwerk jsDelivr geladen. Die Bibliothek für den Barcode-Scanner (html5-qrcode) kommt vom Netzwerk unpkg; sie wird auf der Tagesansicht und auf der Lebensmittelseite geladen. Beide Anbieter erfahren dabei deine IP-Adresse und den aufgerufenen Dateinamen. Alle Dateien sind mit Integritätsprüfung (SRI) eingebunden, sodass nur exakt der erwartete Inhalt ausgeführt wird.
OpenAI (OpenAI, L.L.C., USA) kommt in zwei Fällen zum Einsatz:
- Deine Ernährungsdaten (Foto-Analyse, KI-Import, Tages-Ernährungsanalyse, Rezept-Import) werden nur übermittelt, wenn du die jeweilige Funktion auslöst und ein API-Key vorhanden ist — entweder dein eigener oder ein von einem Admin für dich freigegebener gemeinsamer Key. Ohne das verlassen keine Ernährungsdaten die App.
- Der abendliche KI-Loop ist die einzige KI-Funktion, die ohne dein Zutun läuft: schaltest du ihn in den Einstellungen ein, werden ab dann jede Nacht automatisch die Mahlzeiten des abgeschlossenen Tages zur Auswertung übermittelt — bis du ihn dort wieder abschaltest.
- Der Hilfe-Assistent (Chat-Fenster unten rechts) läuft über einen von der App bereitgestellten Key und ist für alle angemeldeten Nutzer:innen verfügbar. Übermittelt wird dabei nur der Text, den du in dieses Chat-Fenster eintippst, samt der letzten Nachrichten des Gesprächs — der Assistent hat keinen Zugriff auf deine Einträge, Ziele oder Gewichte. Frage und Antwort speichern wir zusätzlich dauerhaft in unserer Datenbank, damit die Administration erkennen kann, wonach real gefragt wird, und die Hilfetexte danach ausrichten kann. Diese Einträge stehen in deinem Datenexport und werden beim Löschen deines Kontos mitgelöscht.
Suchst du ein Lebensmittel online oder scannst einen Barcode, fragt unser Server die offene Datenbank OpenFoodFacts ab. Übermittelt wird dabei nur dein Suchbegriff bzw. die Barcode-Nummer — nicht deine IP-Adresse und kein Bezug zu deinem Konto. Das Kamerabild beim Barcode-Scannen wird ausschliesslich im Browser ausgewertet und verlässt dein Gerät nicht; an den Server geht nur die erkannte Zahlenfolge.
Hast du Strava (Strava Inc., USA) verbunden und holst die Einheiten eines Tages, fragt unser Server dort in deinem Namen die Aktivitätsliste dieses Tages ab. Übermittelt wird dabei nur der Zugangs-Token deiner Verbindung und das Datum — keine Ernährungs-, Gewichts- oder sonstigen Daten aus Balance. Die Verbindung entsteht nur, wenn du sie selbst herstellst, und die Freigabe lässt sich jederzeit hier in den Einstellungen oder direkt bei Strava zurückziehen. Rechtsgrundlage ist deine Einwilligung, die du mit dem Herstellen der Verbindung erteilst.
Nutzt du die Spracherfassung (Mikrofon-Symbol), verwendet Balance die Spracherkennung deines Browsers. Bei Google Chrome und einigen anderen Browsern wird die Sprachaufnahme dafür an die Server des Browser-Herstellers übermittelt — das passiert ausserhalb unseres Einflussbereichs. Wenn du das nicht möchtest, tippe deine Einträge einfach ein; der Sprach-Tab lässt sich in den Einstellungen auch ganz ausblenden.
Übermittlungen in die USA (Render, Supabase, jsDelivr, unpkg, Google für das Postfach der verantwortlichen Person, ggf. OpenAI, ggf. Strava) stützen sich auf die vertraglichen Garantien dieser Anbieter (u.a. Standardvertragsklauseln). Bei Supabase betrifft das nicht den Speicherort — der liegt in der EU —, sondern den Umstand, dass ein US-Unternehmen die Datenbank betreibt und im Supportfall darauf zugreifen kann. Auf Anfrage informieren wir dich gerne über weitere Details.
Cookies
Balance setzt ausschliesslich technisch notwendige Cookies ein: das Session-Cookie zur Anmeldung und das optionale «Angemeldet bleiben»-Cookie (nur wenn du es beim Login ankreuzt). Der Schutz vor gefälschten Formularanfragen (CSRF) braucht kein eigenes Cookie — das Prüfmerkmal liegt in der Session. Es werden keine Tracking-, Marketing- oder Analyse-Cookies verwendet.
Keine Werbung, kein Tracking
Balance verwendet keine Werbe- oder Analyse-Tracker von Dritten und gibt deine Daten nicht weiter (ausser an die oben genannten, für den Betrieb notwendigen Dienste). Es gibt keine Profilbildung, keinen Verkauf von Daten und keine Weitergabe an Werbenetzwerke. Zwei Zählungen finden im eigenen Haus statt, und wir nennen sie hier ausdrücklich: Ein Aufruf der öffentlichen Startseite zählt anonym mit — ohne Cookie und ohne gespeicherte IP-Adresse, nur über einen SHA-256-Hash aus IP-Adresse, Browser-Kennung und Kalendertag, der sich täglich ändert und sich daher nicht über mehrere Tage hinweg derselben Person zuordnen lässt. Und innerhalb der App zählt mit, welche Funktionen benutzt werden (siehe oben, «Welche Daten werden gespeichert?») — je Konto, Funktion und Tag eine Zahl, ohne den Zeitpunkt einzelner Aufrufe und ohne Inhalte. Beides dient ausschliesslich dem Betreiber dieser App zur Einschätzung, was benutzt wird und was nicht.
Speicherdauer, Export & Löschung
Deine Daten bleiben gespeichert, solange dein Konto besteht. Unter Einstellungen kannst du sie jederzeit als JSON herunterladen oder dein Konto samt aller zugehörigen Daten unwiderruflich löschen — inklusive hochgeladener Screenshots und Protokolleinträge. Der Download enthält alles, was zu deinem Konto gespeichert ist; ausgenommen sind nur Geheimnisse, die in einer Datei nichts verloren haben (Passwort-Hash, verschlüsselter API-Key, Zwei-Faktor-Geheimnis) — dass sie gesetzt sind, steht als Ja/Nein darin. Unabhängig davon werden Protokolle mit IP-Bezug (Automatisierungs-Zugriffe, erreichte Nutzungslimits), die Zählung der benutzten Funktionen und erledigte Einladungsanfragen nach 90 Tagen gelöscht, unbearbeitete Einladungsanfragen nach 180 Tagen; der Aufräumlauf läuft täglich — er hängt am laufenden Betrieb der App und nicht an einem Neustart oder einem externen Zeitplan —, die Löschung erfolgt also spätestens kurz nach Ablauf der Frist.
Sicherungskopien: Damit ein technischer Defekt nicht alle Daten vernichtet, wird in unregelmässigen Abständen eine verschlüsselte Kopie der Datenbank angelegt und ausserhalb der Anwendung aufbewahrt. Diese Kopien werden nach 30 Tagen gelöscht. Das schränkt die Löschung oben in einem Punkt ein, den wir nicht verschweigen wollen: in der Anwendung ist dein Konto sofort und endgültig weg, in einer bereits bestehenden Sicherungskopie kann es noch bis zu 30 Tage vorkommen. Zurückgespielt wird eine solche Kopie nur im Notfall — also wenn die Datenbank selbst verloren ist —, und danach fehlt in ihr genau das, was seit ihrer Erstellung passiert ist.
Deine Rechte
Du hast jederzeit das Recht auf Auskunft über deine gespeicherten Daten, auf Berichtigung, Löschung, Einschränkung der Bearbeitung sowie auf Datenübertragbarkeit. Erteilte Einwilligungen kannst du jederzeit mit Wirkung für die Zukunft widerrufen. Wende dich dazu einfach per E-Mail an ivo.baettig@gmail.com oder nutze die Export-/Löschfunktion unter Einstellungen. Ausserdem kannst du dich bei einer Datenschutz-Aufsichtsbehörde beschweren – in der Schweiz beim Eidgenössischen Datenschutz- und Öffentlichkeitsbeauftragten (EDÖB), mit Wohnsitz in der EU/Deutschland zusätzlich bei der für dich zuständigen Datenschutzbehörde.
Freiwilligkeit
Die Angabe der E-Mail-Adresse und deine Einwilligung zur Verarbeitung von Gesundheitsdaten sind für die Registrierung notwendig – ohne sie ist die Nutzung von Balance nicht möglich.
Fassung dieser Erklärung
Diese Erklärung hat die Fassung 2026-08-31. Welche Fassung
bei deiner Registrierung galt, steht in deinem Datenexport
unter privacy_consent_version.
Automatisierte Entscheidungen
Balance trifft keine automatisierten Entscheidungen mit rechtlicher oder ähnlich erheblicher Wirkung für dich. KI-gestützte Auswertungen (z.B. Foto- oder Ernährungsanalyse) sind Hilfsmittel, die dir lediglich Vorschläge liefern; du löst sie selbst aus — mit Ausnahme des abendlichen Loops, den du einmalig einschaltest und der danach nächtlich läuft (siehe oben).