SANDEVISTAN — Datenschutzerklärung
Stand: 29. Oktober 2026
Das Wichtigste in Kürze: Sandevistan ist eine private, kostenlose App zum Selbst-Tracking von Training, Ernährung und Gesundheitswerten. Deine Daten gehören dir: Es gibt keine Werbung, kein Tracking, keine Analyse-Dienste und keinen Verkauf deiner Daten. Verarbeitet wird, was du selbst einträgst oder selbst anbindest — damit die App für dich funktioniert —, und das Wenige, das andere in der App über dich eintragen: Tipps des Coachs und Meldungen über dich (Abschnitt 2). Andere sehen nur etwas, wenn du es in der App ausdrücklich wählst: der Coach, der dir einen Plan geschickt hat — der Betreiber dieser App oder eine Person, die er als Coach freigeschaltet hat —, die Werte, die du ihm freigibst; wer deinen Einladungslink öffnet, den Namen, den du dir dafür gibst; eine Person, mit der du dich verbindest, dazu, was du ihr von deiner Saison zeigst, und die eine Zahl einer Challenge, die ihr beide wollt; wer deinen Gym-Code einlöst, eine Kopie deines Gyms (Abschnitt 5). Meldest du jemanden, geht die Meldung an den Betreiber. Verbindest du intervals.icu, holt die App mit deinem Schlüssel deine Einheiten und Erholungswerte von dort und schreibt nur nach einer Rückfrage deine Zonen dorthin (Abschnitt 5, „intervals.icu“). Verbindest du Garmin Connect mit deinem persönlichen API-Schlüssel, holt der Server der App damit deine Tageswerte und Einheiten von dort und schreibt nichts dorthin (Abschnitt 5, „Garmin Connect“). Sonst geht nichts an andere; die Dienstleister, die die App technisch betreiben, nennt Abschnitt 5. Du kannst dein Konto samt aller Daten jederzeit selbst in der App löschen; was bei intervals.icu oder Garmin liegt, löschst du dort.
1. Verantwortlicher
Verantwortlicher im Sinne der Datenschutz-Grundverordnung (DSGVO):
Johannes Suso Horrer
Itzelberger Str. 23
89551 Königsbronn, Deutschland
E-Mail: johannes.s.horrer@gmail.com
Die App ist ein privates, nicht-kommerzielles Projekt. Es besteht keine Pflicht zur Benennung eines Datenschutzbeauftragten.
2. Welche Daten verarbeitet werden
Sandevistan verarbeitet Daten, die du selbst eingibst oder deren Übertragung du selbst einrichtest, und was andere in der App über dich eintragen — Tipps des Coachs und Meldungen über dich:
- Kontodaten: E-Mail-Adresse und Passwort (das Passwort wird ausschließlich als kryptografischer Hash gespeichert und ist niemandem im Klartext zugänglich).
- Profildaten: Körpergröße, Geburtsdatum, Geschlecht, Sprache, gewählte App-Bereiche und Einstellungen (z. B. Wasserziel, Pausenzeiten, Uhrzeit des Tagesabschlusses, Namen deiner Mahlzeiten); für Training und Ausdauer außerdem Phase, Richtung und Stundenziel der Ausdauer, ein eingetragenes Rennen (Tag und Name), deine Antworten zu deinem bisherigen Ausdauer- und Krafttraining und zu harten Intervallen, deine Wochenstunden und ihre Aufteilung zwischen Kraft und Ausdauer, die Richtzahl harter Sätze, deine Ziele je Muskelgruppe und ausgeblendete Muskelgruppen.
- Trainingsdaten: Einheiten, Übungen, Sätze, Gewichte, Wiederholungen, Wiederholungen in Reserve (RIR), Sätze auf Zeit, Notizen, Routinen mit ihren Vorgaben, Trainingsorte (Gym-Namen), abgeleitete Kennzahlen (z. B. geschätztes Maximalgewicht); Cardio- und Ausdauer-Einheiten mit Sportart, Titel, Dauer, Strecke, Höhenmetern, Kalorien, Leistung (Watt), Zeit je Puls- oder Leistungszone samt Zonengrenzen, deiner Anstrengung (RPE), einem Grund, den du beim Bestätigen wählen kannst (etwa „müde“ oder „krank“), und getragener Last; deine Zonensätze und dein FTP samt dem Tag, ab dem er galt; Merkzeilen zu eingelesenen Einheiten, die du von Hand geändert oder gelöscht hast, damit ein späterer Abruf sie nicht überschreibt oder zurückbringt.
- Ernährungsdaten: Mahlzeiten und Lebensmitteleinträge mit Mengen und Nährwerten, eigene Lebensmittel und Rezepte, Wasserzufuhr, Kalorien- und Proteinziele, Phasen (z. B. Diätphase), Refeed-Einträge.
- Gesundheitsdaten (besondere Kategorie nach Art. 9 DSGVO): Körpergewicht, Körpermaße vom Maßband und eine Körperfettschätzung, Schritte, Aktivkalorien, Ruhepuls, Herzratenvariabilität, Schlafdaten, Erholungswerte (aus intervals.icu auch Schlafwert, Bereitschaft, Fitness und Ermüdung), deine Herzfrequenz während Trainingseinheiten (Durchschnitt, Höchstwert und, aus intervals.icu oder Garmin Connect, der Verlauf je Minute), deine Maximal-HF und dein Schwellenpuls samt dem Tag, ab dem jeder Wert galt, Blutdruckwerte, Blutwerte (Labormarker), Fortschrittsfotos, Kranktage (der Tag, an dem du dich krank meldest, und der Grund, wenn du einen dazuschreibst), der Sonntagsbogen des Wöchentlichen Check-ins (Hunger, Energie, Stress, Schlafqualität, Training und Pump, je 1 bis 5, und eine Notiz).
- Saison und Gewohnheiten (die App behandelt sie wie Gesundheitsdaten nach Art. 9 DSGVO — mit derselben Einwilligung und demselben Schutz): deine Gewohnheiten und je Tag, ob und wie du sie erfüllt hast; deine Saisons (Hard Mode) mit Regeln, Gewichten und Spielregeln, dem Stand jeder Regel je Tag, den Minuten, die du in der Saison fürs Lesen und für Karteikarten erfasst, und den Abendfragen, die du beantwortet hast; Einträge zu Substanzen (welche, wann und, wenn du eine schreibst, eine Notiz) und zu Drang (wann du einem Drang nachgegeben hast) — beides trägst du im Abendcheck einer Verzichtsregel ein; Pausen und Schonung (welche Regel, an welchen Tagen), die Harte Side-Quest (von wann bis wann), Notausgänge, Streichungen und andere Ausnahmen — jeweils mit der Begründung, die du dazuschreibst; Belohnungen, die du dir einträgst, und was du davon einlöst; und, wenn du deine Lernkartei verbindest, deine Lernzeit und Karten je Tag (Abschnitt 5, „Lernkartei“).
- Tagesstruktur: Tagespläne mit Zeitblöcken, Ziele samt Begründungen, Todos, Tagesabschluss-Buchungen.
- Journal: deine Tagebucheinträge (Text), die Stimmung des Tages, wenn du eine angibst (1–5), Fotos (etwa handgeschriebener Seiten) und PDF-Dateien, die du anhängst. Seit dem 24. Oktober 2026 liest die App keine Seite mehr; ein Text, den sie bis dahin aus einer Seite gelesen hat (Transkription), bleibt neben seinem Foto gespeichert.
- Pläne vom Coach: Trainings- und Ernährungspläne, die du übernimmst (Titel, Routinen, Übungen, Ziele, Trainingstage; der Rahmen einer Ernährung, Gerichte mit ihren Zutaten; der Name des Coachs, eine Notiz); ob und seit wann du dem Coach Einblick gibst, unter welchem Namen und welche Werte du freigibst; Hinweise („Tipps“) und Vorschläge für Ziele, die du bekommst, und deine Antworten darauf. Blockierst du einen Coach, steht das in derselben Liste wie bei den Verbindungen (nächster Punkt).
- Verbindungen (nur wenn du dich mit jemandem verbindest): die Namen, die ihr euch dafür gebt; deine Einladungen mit Code und Gültigkeit; wann ihr euch verbunden habt und wann und von wem die Verbindung beendet wurde; was jede Seite der anderen zeigt (nichts, Haken oder Werte), ob sie dazu ihre Verzichtsregeln und „zuletzt in der App“ zeigt und ob und seit welchem Tag sie ihr Gewicht und ihre Ernährung zeigt; Challenges mit Messgröße, Richtung, Zeitraum, wer wen gefordert hat und eurer Antwort (angenommen, abgelehnt, abgebrochen); ob und seit welchem Tag du bei der Rangliste mitmachst; solange dir jemand zusieht, eine Saison-Challenge läuft oder du bei der Rangliste mitmachst, für jeden Tag deiner Saison ein Beleg — der Stand jeder Regel mit Wert und Ziel, Notausgang, Kranktag, beantwortete Abendfragen, ausgesetzte Regeln und deine Sportminuten —, den der Server stündlich aus deinen Einträgen festhält (auch wenn du die App nicht öffnest) und von dem die andere Person nur sieht, was deine Wahl erlaubt; wen du blockiert hast, mit dem Namen der Person und seit wann.
- Meldungen: Meldest du eine Verbindung, eine Challenge, eine Einladung oder einen Plan oder Tipp eines Coachs, werden dein Grund, deine Bemerkung (wenn du eine schreibst), ein Schnappschuss dessen, was du in dem Moment siehst, der Zeitpunkt und die Entscheidung des Betreibers gespeichert (Abschnitt 5, „Melden und Ausschluss“). Meldet dich jemand, wird dasselbe über dich gespeichert — ohne dass du erfährst, von wem. Schließt der Betreiber ein Konto von den Verbindungen aus, wird das mit dem Namen, den sich die Person gegeben hatte, und dem Tag gespeichert. Ob ein Konto als Coach freigeschaltet ist, steht an seinem Profil.
- Kalenderdaten (nur wenn du das selbst einrichtest): Termine aus einem von dir angegebenen privaten Kalender-Feed (z. B. Google Kalender), geplante Fahrten aus deinem TrainerRoad-Kalender sowie der Export deines Tagesplans als Kalender-Abo.
- Angebundene Dienste (nur wenn du sie selbst einrichtest): für intervals.icu dein API-Schlüssel, deine Athleten-ID, wann du verbunden und zuletzt abgerufen hast und die letzte Fehlermeldung; für Garmin Connect dein persönlicher API-Schlüssel, das Token, gegen das der Server ihn tauscht (24 Stunden gültig), das Ablaufdatum des Schlüssels, wenn du es einträgst, wann du verbunden und zuletzt abgerufen hast und die letzte Fehlermeldung; dazu ein Protokoll der Übertragungen (Zeitpunkt, Erfolg, Zahl der Einträge oder Fehler), das dir „Letzte Übertragungen“ zeigt — für den Kurzbefehl, für intervals.icu und für Garmin Connect.
- Technische Daten: Beim Abruf der App fallen bei den unten genannten Hosting-Diensten technisch bedingt Zugriffsdaten an (insbesondere IP-Adresse, Zeitpunkt, abgerufene Ressource). Die App selbst setzt keine Tracking-Mechanismen ein. Diagnosedaten (letzte Fehlermeldung, App-Version, Gerätetyp) werden nur lokal auf deinem Gerät gespeichert und nur dann übermittelt, wenn du sie ausdrücklich selbst kopierst und versendest („Copy diagnostics").
3. Zwecke und Rechtsgrundlagen
- Bereitstellung der App-Funktionen (Speichern, Anzeigen und Auswerten deiner Einträge für dich selbst): Art. 6 Abs. 1 lit. b DSGVO (Erfüllung des Nutzungsverhältnisses).
- Gesundheitsdaten (in Abschnitt 2 die Punkte „Gesundheitsdaten“ und „Saison und Gewohnheiten“): Verarbeitung ausschließlich auf Grundlage deiner ausdrücklichen Einwilligung (Art. 9 Abs. 2 lit. a DSGVO), die du bei der Registrierung erteilst. Du kannst sie jederzeit mit Wirkung für die Zukunft widerrufen: in der App, indem du dein Konto löschst (Abschnitt 7), oder formlos per E-Mail an die Adresse aus Abschnitt 1 — dann werden deine Gesundheitsdaten gelöscht und, wenn du es möchtest, dein ganzes Konto. Einen Bereich in der App abzuschalten blendet ihn nur aus; was schon gespeichert ist, bleibt. Die Rechtmäßigkeit der Verarbeitung bis zum Widerruf bleibt davon unberührt.
- Einblick für den Coach (den Betreiber, Abschnitt 1, oder eine Person, die er als Coach freigeschaltet hat — Abschnitt 5, „Der Coach“): ausschließlich auf Grundlage deiner ausdrücklichen Einwilligung (Art. 6 Abs. 1 lit. a, Art. 9 Abs. 2 lit. a DSGVO), die du in der App je Freigabe einzeln erteilst und dort jederzeit widerrufen kannst (unter „Coach“, zu erreichen über die Reiter Training und Ernährung).
- Verbindungen und Challenges: Dass ihr verbunden seid und unter welchen Namen, gehört zu der Funktion, die du selbst nutzt (Art. 6 Abs. 1 lit. b DSGVO). Was die andere Person von deiner Saison, von deinem Gewicht und deiner Ernährung sieht und welche Zahl eine Challenge zeigt, beruht auf deiner ausdrücklichen Einwilligung (Art. 6 Abs. 1 lit. a und, weil darunter Gesundheitsdaten sind — etwa Kranktage, Schlaf, Schritte, dein Körpergewicht oder was du isst —, Art. 9 Abs. 2 lit. a DSGVO): Für deine Saison erteilst du sie je Verbindung, indem du „Haken“ oder „Werte“ wählst und in der Rückfrage, die ausschreibt, was die Stufe umfasst, mit „Ja, zeigen“ bestätigst; für deine Verzichtsregeln, für „zuletzt in der App“ und für Gewicht und Ernährung je Schalter ebenso, in einer eigenen Rückfrage; für eine Challenge mit dem Stellen bzw. Annehmen, nach dem Satz, der sagt, welche Zahl die andere Seite sieht. Widerrufen kannst du jederzeit in der App, mit sofortiger Wirkung: Stufe auf weniger oder „nichts“, Schalter aus, eine laufende Challenge abbrechen, Verbindung lösen.
- intervals.icu: Das Verbinden und Abrufen gehört zu der Funktion, die du selbst einrichtest (Art. 6 Abs. 1 lit. b DSGVO); Puls, Herzratenvariabilität und Schlaf aus intervals.icu verarbeitet die App wie alle Gesundheitsdaten auf Grundlage deiner ausdrücklichen Einwilligung (Art. 9 Abs. 2 lit. a DSGVO). Deine Zonen samt Schwellenpuls bzw. FTP und Maximal-HF schreibt die App nur dorthin, wenn du es in der Rückfrage jedes Mal bestätigst (Art. 6 Abs. 1 lit. a, Art. 9 Abs. 2 lit. a DSGVO). Beenden kannst du es jederzeit mit „intervals.icu trennen“ unter „Geräte & Übertragungen“.
- Garmin Connect: Das Verbinden und Abrufen gehört zu der Funktion, die du selbst einrichtest (Art. 6 Abs. 1 lit. b DSGVO); Schritte, Aktivkalorien, Ruhepuls und den Puls deiner Einheiten aus Garmin Connect verarbeitet die App wie alle Gesundheitsdaten auf Grundlage deiner ausdrücklichen Einwilligung (Art. 9 Abs. 2 lit. a DSGVO). Nach Garmin schreibt die App nichts. Beenden kannst du es jederzeit mit „Garmin Connect trennen“ unter „Geräte & Übertragungen“.
- Meldungen und Ausschluss: Art. 6 Abs. 1 lit. f DSGVO — das berechtigte Interesse aller Nutzer und des Betreibers, Verbindungen frei von Beleidigung, Belästigung und Missbrauch zu halten und die Regeln für Verbindungen durchzusetzen. Widersprechen kannst du nach Abschnitt 8.
- Früher gelesene Journal-Seiten: Bis zum 24. Oktober 2026 ließ die App Journal-Seiten nur mit deiner ausdrücklichen Einwilligung (Art. 6 Abs. 1 lit. a und Art. 9 Abs. 2 lit. a DSGVO) lesen. Seither geht keine Seite mehr hinaus; der gelesene Text und der Zeitpunkt der Einwilligung bleiben als Teil deines Journals bzw. als Nachweis (Art. 7 Abs. 1 DSGVO) gespeichert.
- Technische Sicherheit und Fehlerbehebung (Server-Logs der Hosting-Dienste): Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse an einem sicheren, funktionsfähigen Betrieb).
Alle Auswertungen in der App (z. B. Kalorienbilanz, Gewichtstrend, Erholungs-Hinweise, der Wochenvorschlag der Ausdauer) dienen deiner eigenen Information; aus dem, was du einer verbundenen Person zeigst, rechnet deren App außerdem Serie, Ladung, Rang und die Tagessieger einer Challenge. Keine dieser Auswertungen entfaltet eine rechtliche oder ähnlich erhebliche Wirkung; eine automatisierte Entscheidungsfindung im Sinne von Art. 22 DSGVO findet nicht statt. Sandevistan ist kein Medizinprodukt und ersetzt keine ärztliche Beratung.
4. Woher Gesundheitsdaten kommen
- Handeingabe: Gewicht, Blutdruck, Blutwerte, Ernährung und Training trägst du selbst ein; Trainingseinheiten können außerdem aus Apple Health bzw. Health Connect (unten), aus intervals.icu und aus Garmin Connect kommen.
- Apple Health (Kurzbefehl): Wenn du es selbst einrichtest, überträgt ein von dir erstellter iOS-Kurzbefehl Tageswerte (z. B. Schritte, Aktivkalorien, Ruhepuls) aus Apple Health an dein Sandevistan-Konto. Die Übertragung nutzt einen persönlichen, jederzeit widerrufbaren Zugangs-Token. Sandevistan erhält dabei keine Zugangsdaten zu deinem Apple- oder Garmin-Konto.
- intervals.icu: Wenn du es selbst verbindest (unter „Geräte & Übertragungen“, mit dem API-Schlüssel deines eigenen intervals.icu-Kontos), holt eine Funktion der App bei Supabase — nicht dein Gerät — von dort deine Aktivitäten (Sportart, Titel, Start, Dauer, Strecke, Höhenmeter, Kalorien, Durchschnitts- und Höchstpuls, Leistung, Zeit je Zone samt Zonengrenzen), zu Aktivitäten mit Puls den Pulsverlauf je Minute und deine Werte je Tag (Ruhepuls, Herzratenvariabilität, Schlafdauer und Schlafwert, Bereitschaft, Fitness und Ermüdung). Standortdaten, Strecken oder Karten holt die App nicht. Abgerufen wird beim Verbinden (die letzten gut fünf Wochen), wenn du „Jetzt abrufen“ tippst und, höchstens alle zehn Minuten, wenn du die Karte Ausdauer öffnest. Die Einheiten stehen danach in deiner Cardio-Liste, die Werte je Tag nur in der Auswertung unter „Ausdauer“, nicht in deinen Tageswerten. Was dabei an intervals.icu geht, steht in Abschnitt 5.
- Garmin Connect (direkt): Wenn du es selbst verbindest (unter „Geräte & Übertragungen“, mit dem persönlichen API-Schlüssel aus deinem eigenen Garmin-Connect-Konto — Garmins „Personal API“), holt eine Funktion der App bei Supabase — nicht dein Gerät — von dort je Tag deine Schritte, Aktivkalorien und deinen Ruhepuls und — nur wenn du es auf der Karte einschaltest, Vorgabe aus — deine Einheiten (Sportart, Start, Dauer, Strecke, Höhenmeter, Kalorien, Durchschnitts- und Höchstpuls, Leistung, Zeit je Zone) samt der FIT-Datei der Einheit, aus der sie nur den Puls je Minute liest. Standortdaten, Strecken oder Karten übernimmt die App nicht; Gewicht holt sie nie. Schlaf, Herzratenvariabilität, Body Battery und Stress der Nacht holt sie nur, wenn du es auf der Karte einschaltest (Vorgabe aus) — sie stehen dann in deinen Tageswerten und füllen den Morgen-Check vor; was du dort einträgst, gilt. Den Schlüssel tauscht der Server gegen ein Token, das 24 Stunden gilt; beide liegen nur auf dem Server, und nur die Funktion, die bei Garmin abruft, liest sie. Abgerufen wird beim Verbinden, wenn du „Jetzt abrufen“ tippst, beim Öffnen der App und stündlich vom Server aus. Die Tageswerte stehen danach in deinen Tageswerten, die Einheiten in deiner Cardio-Liste. Nach Garmin schreibt die App nichts. Was dabei an Garmin geht, steht in Abschnitt 5.
Apple Health / HealthKit (nur App-Store-Version)
Die iPhone-App liest Daten aus Apple Health nur, wenn du es zulässt: Die Einrichtung fragt „Womit zählst du Schritte?“; nach jeder Antwort folgt die iOS-Abfrage, und gelesen wird nur, was du dort freigibst. Gelesen werden Schritte, Aktivkalorien und Ruhepuls, um deine Tageswerte automatisch einzutragen, und — solange „Einheiten aus Apple Health“ eingeschaltet ist (die Einrichtung schaltet es bei jeder Antwort außer „Garmin-Uhr“ ein) — abgeschlossene Trainingseinheiten samt Dauer, Distanz und Kalorien und, seit Oktober 2026 (App-Store-Version ab 1.4), ihrem Puls: Durchschnitt und Höchstwert aus den Herzfrequenzwerten während der Einheit — dafür fragt iOS eigens nach „Herzfrequenz“. Sie stehen in deiner Cardio-Liste und in der Auswertung unter „Ausdauer“. Die App schreibt keine Daten nach Apple Health zurück. HealthKit-Daten werden ausschließlich für die Funktionen der App verwendet, niemals für Werbung oder Marketing genutzt, niemals verkauft und an niemanden weitergegeben, dem du sie nicht in der App selbst zeigst: Gibst du einem Coach — dem Betreiber dieser App oder einer Person, die er als Coach freigeschaltet hat — deine Erholungswerte frei (Abschnitt 5, „Coach“), sieht er auch deinen Ruhepuls; gibst du ihm den Wöchentlichen Check-in frei (über einen Trainings- oder einen Ernährungsplan), sieht er den Wochenschnitt deiner Schritte. Zeigst du einer Person, mit der du dich verbunden hast, deine Saison, sieht sie bei „Haken“, ob du Regeln zu Schritten, Aktivkalorien, Training oder Cardio gehalten hast, bei „Werte“ auch die Zahlen dazu und deine Sportminuten je Tag; nimmst du eine Challenge über Schritte oder Trainingseinheiten an oder stellst du eine, die angenommen wird, sieht sie diese eine Zahl je Tag. Eingelesene Einheiten zählen dabei mit — alles nur, solange du es so wählst (Abschnitt 5, „Verbindungen“). Übernimmst du einen in Apple Health gemessenen Höchstpuls als deine Maximal-HF und schreibst danach deine Pulszonen nach intervals.icu, geht dieser Wert mit dorthin (Abschnitt 5, „intervals.icu“). Den Zugriff kannst du jederzeit in den iOS-Einstellungen (Datenschutz & Sicherheit → Health) widerrufen oder in der App unter „Geräte & Übertragungen“ abschalten („Tageswerte aus Apple Health“, „Einheiten aus Apple Health“).
Health Connect (nur Android-Version)
Die Android-App liest Daten aus Health Connect nur, wenn du es zulässt: Die Einrichtung fragt „Womit zählst du Schritte?“; nach jeder Antwort folgt der Health-Connect-Berechtigungsdialog, und gelesen wird nur, was du dort freigibst. Gelesen werden Schritte, Aktivkalorien und Ruhepuls sowie — solange „Einheiten aus Health Connect“ eingeschaltet ist (die Einrichtung schaltet es bei jeder Antwort außer „Garmin-Uhr“ ein) — abgeschlossene Trainingseinheiten samt Dauer, Distanz und Kalorien, um deine Tageswerte und deine Cardio-Liste automatisch zu füllen. Die App schreibt keine Daten nach Health Connect zurück. Health-Connect-Daten werden ausschließlich für die Funktionen der App verwendet, niemals für Werbung oder Marketing genutzt, niemals verkauft und an niemanden weitergegeben, dem du sie nicht in der App selbst zeigst: Gibst du einem Coach — dem Betreiber dieser App oder einer Person, die er als Coach freigeschaltet hat — deine Erholungswerte frei (Abschnitt 5, „Coach“), sieht er auch deinen Ruhepuls; gibst du ihm den Wöchentlichen Check-in frei (über einen Trainings- oder einen Ernährungsplan), sieht er den Wochenschnitt deiner Schritte. Zeigst du einer Person, mit der du dich verbunden hast, deine Saison, sieht sie bei „Haken“, ob du Regeln zu Schritten, Aktivkalorien, Training oder Cardio gehalten hast, bei „Werte“ auch die Zahlen dazu und deine Sportminuten je Tag; nimmst du eine Challenge über Schritte oder Trainingseinheiten an oder stellst du eine, die angenommen wird, sieht sie diese eine Zahl je Tag. Abgeglichene Einheiten zählen dabei mit — alles nur, solange du es so wählst (Abschnitt 5, „Verbindungen“). Den Zugriff kannst du jederzeit in Health Connect (Berechtigungen → Sandevistan) widerrufen oder in der App unter „Geräte & Übertragungen“ abschalten („Tageswerte aus Health Connect“, „Einheiten aus Health Connect“).
5. Empfänger und Auftragsverarbeiter
Deine Daten werden nicht verkauft, nicht vermietet und nicht zu Werbezwecken weitergegeben. Für den Betrieb setzen wir folgende Dienstleister als Auftragsverarbeiter ein:
- Supabase (Supabase, Inc.): Datenbank, Anmeldedienst und Dateispeicher (Fortschrittsfotos sowie Fotos und PDFs im Journal in privaten, zugriffsgeschützten Speicherbereichen). Datenhaltung in der Region EU (Frankfurt, Deutschland).
- Vercel (Vercel, Inc.): Auslieferung der App-Oberfläche (Hosting). Dabei fallen technisch bedingte Zugriffs-Logs an (IP-Adresse, Zeitpunkt).
- Resend (Plus Five Five, Inc., San Francisco, USA): Versand der E-Mails zu deinem Konto — die Bestätigung deiner Adresse bei der Registrierung und der Link, wenn du „Passwort vergessen?“ wählst. Dafür gehen deine E-Mail-Adresse und die Mail mit dem Link an Resend. Verschickt wird aus Resends Region in der EU (Irland); gespeichert werden die Mail und das Versandprotokoll in den USA, 30 Tage lang. Die Übermittlung stützt sich auf die EU-Standardvertragsklauseln; Resend beruft sich außerdem auf das EU-US Data Privacy Framework. Ob und wann du eine Mail öffnest oder einen Link darin antippst, zählt Resend nicht.
Als Auftragsverarbeiter (Art. 28 DSGVO) dürfen diese Dienste deine Daten nur in unserem Auftrag und nicht zu eigenen Zwecken verarbeiten. Soweit dabei Daten in Länder außerhalb der EU/des EWR gelangen können, erfolgt dies auf Grundlage von EU-Standardvertragsklauseln (Art. 46 DSGVO) bzw. eines Angemessenheitsbeschlusses (z. B. EU-US Data Privacy Framework).
Weitere Dienste
- Open Food Facts (Lebensmittel-Suche und Barcode-Abfrage): Suchbegriff bzw. Barcode gehen an eine Funktion der App bei Supabase (siehe oben), die die Anfrage an die Server von Open Food Facts weiterreicht und Suchbegriff samt Antwort ohne Bezug zu deinem Konto zwischenspeichert. Open Food Facts sieht dabei die Adresse dieses Servers, nicht deine IP-Adresse. Es werden keine Konto- oder Gesundheitsdaten mitgesendet.
- Kalender-Feeds (optional): Richtest du die Kalender-Anbindung ein, ruft Sandevistan die von dir angegebene private Kalenderadresse (z. B. bei Google oder deinen TrainerRoad-Kalender) ab; abonnierst du deinen Tagesplan als Kalender, ruft deine Kalender-App (z. B. Apple Kalender) — oder der Dienst dahinter, etwa iCloud oder Google — eine geheime, nur dir bekannte Adresse ab. Der Tagesplan-Feed enthält deine Blöcke von sieben Tagen zurück bis 60 Tage voraus: Uhrzeit, Titel, ob erledigt, die Kategorie und deine Notiz zum Block. Ernährungs- oder Gesundheitswerte wie Gewicht, Schritte oder Kalorien stehen nicht darin; was du selbst in Titel und Notiz schreibst, aber schon — und das liegt dann auch bei deinem Kalenderdienst.
- Lernkartei (optional, nur mit hinterlegter Adresse): Cyberpsychosis, die Lernkartei, ist eine eigene App des Betreibers. Hinterlegst du die Adresse ihres Kalenders, fragt eine Funktion der App bei Supabase — nicht dein Gerät — mit dem Schlüssel aus dieser Adresse dort deinen Stand ab: je Tag Lernminuten, Lesezeit, gelernte Karten und fällige, die offen blieben, dazu, ob gerade eine Lernsitzung läuft. Gespeichert werden nur die Zahlen je Tag, für die Saisonregel zu den Karteikarten; an die Lernkartei geht nichts außer dem Schlüssel.
- Google (Sicherungen): Die Sicherungen aus Abschnitt 7 liegen im Google-Konto des Betreibers (Google Drive; Anbieter in der EU ist die Google Ireland Limited, Dublin). Verschlüsselt wird, bevor eine Sicherung den Rechner des Betreibers verlässt; den Schlüssel hat nur er — Google sieht keine lesbaren Daten. Google kann die Dateien auch in den USA speichern; Google LLC ist nach dem EU-US Data Privacy Framework zertifiziert und stützt sich, wo nötig, auf EU-Standardvertragsklauseln.
- intervals.icu (optional): ein eigenständiger Dienst, bei dem du ein eigenes Konto hast; was dort mit deinen Daten geschieht, regeln dessen Bedingungen und Datenschutzerklärung. Verbindest du es, stellt eine Funktion der App bei Supabase die Anfragen, nicht dein Gerät. Mit jeder Anfrage gehen dein API-Schlüssel, deine Athleten-ID, der abgefragte Zeitraum und für den Pulsverlauf die Kennung der Aktivität an intervals.icu. Nur wenn du in der Rückfrage „Speichern und nach intervals.icu schreiben“ wählst, schreibt die App deine Zonen in die Sport-Einstellungen deines intervals.icu-Kontos — bei Pulszonen die Grenzen, deinen Schwellenpuls und deine Maximal-HF, bei Leistungszonen die Grenzen und deinen FTP — und überschreibt damit die Zonen dort. Andere Daten aus Sandevistan gehen nicht an intervals.icu.
- Garmin Connect (optional): der Dienst von Garmin, bei dem du ein eigenes Konto hast; was dort mit deinen Daten geschieht, regeln Garmins Bedingungen und Datenschutzerklärung, für den Schlüssel die Bedingungen zur Personal API (der Schlüssel ist persönlich und nur für Werkzeuge gedacht, die du für dich selbst nutzt). Verbindest du es, stellt eine Funktion der App bei Supabase die Anfragen, nicht dein Gerät. Garmin empfängt dabei deinen persönlichen API-Schlüssel (beim Tausch gegen das Token), danach das Token, den abgefragten Zeitraum und für Einzelheiten und FIT-Datei die Kennung der Einheit. Nach Garmin schreibt die App nichts; andere Daten aus Sandevistan gehen nicht an Garmin.
Der Coach: Pläne und Einblick
Trainings- und Ernährungspläne verschicken in Sandevistan nur der Betreiber der App — der Verantwortliche aus Abschnitt 1 — und Personen, die er ausdrücklich als Coach freigeschaltet hat; in der App heißt beides „der Coach“. Freigeschaltet wird nur von Hand durch den Betreiber; selbst kann sich niemand dazu machen. Alle anderen Nutzer können keine Pläne verschicken und einander keine Tipps oder Nachrichten schreiben; was sie über Verbindungen voneinander sehen, steht unten unter „Verbindungen“. Du kannst einen Plan übernehmen, den dir der Coach über einen Link oder Code geschickt hat: bei einem Trainingsplan Titel, Routinen, Übungen und Ziele und, wenn festgelegt, die Wochentage, an denen eine Routine dran ist; bei einem Ernährungsplan den Rahmen (Ziel, feste Zahlen oder Tempo, Eiweiß und Fett je Kilogramm, Mahlzeiten, Wasser) und Gerichte mit ihren Zutaten und Nährwerten; dazu sein Name und eine Notiz. Übernimmst du einen Plan, zeigt die App dem Coach zunächst nur, dass er übernommen wurde, wann zuletzt und ob auf dem neuesten Stand — nicht von wem.
Darüber hinaus sieht der Coach nur, was du ihm ausdrücklich freigibst. Jede Freigabe ist mit „Nein“ vorbelegt:
- Einblick ins Training: von den Einheiten, die du aus diesem Plan trainierst, Datum, Dauer, Übungen und Sätze (Gewicht, Wiederholungen, Wiederholungen in Reserve oder Versagen, Dauer eines Satzes auf Zeit, ob Aufwärmsatz) — ab dem Tag deiner Zusage — sowie der Name, den du dafür angibst. Keine Notizen, keine andere Einheit.
- Morgenwerte (bei einem Trainingsplan), jeder einzeln und nur zusammen mit dem Einblick: Gewicht (dein Morgengewicht), Schlaf (Dauer, Schlafwert), Erholung (Herzratenvariabilität, Ruhepuls, Body Battery, Trainingsbereitschaft) — ab dem Tag der jeweiligen Freigabe oder, wenn du das ausdrücklich wählst, vierzehn Tage zurück. Der Ruhepuls kann dabei aus Apple Health bzw. Health Connect stammen (Abschnitt 4).
- Kranktage (bei einem Trainingsplan), eine eigene Freigabe und nur zusammen mit dem Einblick: an welchen Tagen du dich in der App krank gemeldet hast — ab dem Tag der Freigabe oder, wenn du das ausdrücklich wählst, vierzehn Tage zurück. Nur der Tag: Den Grund, den du beim Krankmelden dazuschreibst, zeigt die App dem Coach nie.
- Wöchentlicher Check-in (bei einem Trainings- oder einem Ernährungsplan), eine eigene Freigabe, nur zusammen mit dem Einblick und erst nach einer Rückfrage: je Kalenderwoche deine Fortschrittsfotos und deine Maße vom Maßband (Bauch, Hals, Hüfte, Brust, Arm, Oberschenkel), sobald du sie aufnimmst, der Wochenschnitt deiner Schritte und an wie vielen Tagen gemessen wurde, sobald die Woche vorbei ist (nie ein einzelner Tag; unter vier Tagen ohne Schnitt), und dein Sonntagsbogen (Hunger, Energie, Stress, Schlafqualität, Training und Pump, je 1 bis 5, und deine Notiz) — ab dem Tag der Freigabe oder, wenn du das ausdrücklich wählst, vierzehn Tage zurück. Gibst du ihn demselben Coach über einen Trainings- und einen Ernährungsplan frei, sieht er ihn ab dem früheren der beiden Tage; aus ist er erst, wenn du ihn an beiden Plänen abschaltest. Über einen Ernährungsplan allein sieht der Coach keine Trainingseinheiten. Nie dein Gewicht: Den Gewichtsschnitt der Woche zeigt die App dem Coach nur mit der Freigabe „Gewicht“, Kalorien und Eiweiß nur über die Freigabe „Ernährung“ eines Ernährungsplans; die Körperfett-Schätzung sieht er nicht. Die Fotos bleiben in deinem privaten Speicher; der Coach bekommt sie über kurzlebige Adressen (zehn Minuten gültig), die nur sein angemeldetes Konto erzeugen kann. Seit dem 21. Oktober 2026 (in der App-Store-Version ab 1.4) lädt die App jedes Foto — Fortschrittsfotos wie Journal-Seiten — ohne Bilddaten wie den Aufnahmeort (EXIF) hoch, sofern das Gerät das Bild lesen kann; ältere Fotos können solche Daten noch tragen.
- Ernährung und Gewicht (bei einem Ernährungsplan), jede Freigabe einzeln und nur zusammen mit dem Einblick: Gewicht (dein Morgengewicht; zusammen mit „Ernährung“ außerdem alles, was dein Gewicht verrät oder woraus es sich ausrechnen ließe: das Zielgewicht deiner Phase, dein Eiweiß- und Fettziel in Gramm, bei einem Plan mit festen Zahlen auch dein Eiweiß je Kilogramm, und — nur wenn die Phase mit einer freigegebenen Wiegung eingestellt wurde — ihr Startgewicht, der hinterlegte Erhalt und die Mindest-Kalorien; der hinterlegte Erhalt ist meist dein gemessener Tagesverbrauch von dem Tag, an dem du die Ziele eingestellt hast, und kann damit auf Tagen vor deiner Freigabe beruhen); Ernährung (Kalorien, Eiweiß, Kohlenhydrate, Fett und Ballaststoffe je Tag, die Zahl der Einträge, ob der Tag abgeschlossen ist, Refeed-Tage und Aufschläge, das Kalorien- und Eiweißziel, das an dem Tag galt; dazu deine laufende Phase: Abnehmen, Halten oder Aufbauen, seit wann sie läuft, Kalorienziel, Eiweiß je Kilogramm (bei einem Plan mit festen Zahlen nur zusammen mit „Gewicht“) und Schrittziel — und, wenn Gewicht und Ernährung beide seit mindestens vierzehn Tagen freigegeben sind, dein daraus gemessener Tagesverbrauch, wie er heute steht); Mahlzeiten (was du gegessen hast: Name, Menge, Kalorien, Eiweiß, Kohlenhydrate und Fett je Eintrag und zu welcher Mahlzeit er gehört, ohne Uhrzeit; nur zusammen mit „Ernährung“) — ab dem Tag der jeweiligen Freigabe oder, wenn du das ausdrücklich wählst, vierzehn Tage zurück.
Der Coach kann dir dazu Hinweise („Tipps“) schreiben und dir Ziele vorschlagen (Kalorien oder Kohlenhydrate, Eiweiß, Fett); eingestellt werden sie erst, wenn du sie selbst in deinem Phasen-Blatt übernimmst. Der Coach sieht, ob du seine Tipps gelesen und einen Vorschlag eingestellt oder mit „Jetzt nicht“ beiseitegelegt hast. Solange du ihm Einblick gibst, kannst du auf einen Hinweis antworten; er sieht deine Antwort, solange der Einblick an ist. Löst du die Verbindung oder löscht einer von euch den Hinweis, ist auch die Antwort gelöscht. In der Ansicht des Coachs nie zu sehen sind deine Schritte eines einzelnen Tages, Gewohnheiten, Notizen, Journal, deine Ziele aus dem Bereich „Ziele“, Blutdruck und Blutwerte; Fotos, Körpermaße und den Wochenschnitt deiner Schritte nur über den Wöchentlichen Check-in, deine Ernährung nur über die eben genannte Freigabe bei einem Ernährungsplan. Es wird nichts kopiert: Schaltest du eine Freigabe oder den Einblick ab (in der App unter „Coach“), zeigt die App dem Coach die Werte von diesem Moment an nicht mehr, auch die früheren nicht; eine Nachricht darüber bekommt er nicht. Löst du die Verbindung, werden auch die Tipps gelöscht. Gerichte und Lebensmittel aus einem übernommenen Plan sind eine Kopie in deinem Konto und bleiben dort. Ist dein Coach der Betreiber, nutzt er, was du ihm freigibst, nur, um dich zu betreuen, und gibt es nicht weiter. Ist er eine andere Person, die der Betreiber als Coach freigeschaltet hat, ist sie ein Dritter: Sie sieht in der App genau das, was du ihr freigibst, und verantwortet selbst, was sie damit tut — dass sie etwas abschreibt oder ein Bildschirmfoto macht, kann die App nicht verhindern. Gib deshalb nur frei, was diese Person sehen soll; wie sie sich nennt, steht in der Vorschau, bevor du einen Plan übernimmst. Willst du einen Plan oder einen Hinweis nicht, übernimm ihn nicht bzw. löse die Verbindung.
Melden und blockieren. Einen Plan — in der Vorschau oder übernommen — und jeden Hinweis eines Coachs kannst du melden; die Meldung geht an den Betreiber (unten, „Melden und Ausschluss“). Einen Coach kannst du blockieren, beim Melden oder für sich: Was du von ihm übernommen hast, löst sich (die Routinen aus seinem Plan ruhen, seine Tipps sind gelöscht), und keiner seiner Pläne öffnet sich danach für dich. Die Blockierung steht in derselben Liste wie bei den Verbindungen und lässt sich dort aufheben; zurück kommt dabei nichts. Der Coach erfährt nicht, dass du ihn gemeldet oder blockiert hast — er sieht nur, dass du seinen Plan nicht mehr hast.
Ein Gym weitergeben. Unabhängig vom Coach kann jeder Nutzer ein eigenes Gym über einen Einladungscode weitergeben. Wer den Code einlöst, bekommt eine Kopie in sein Konto: den Namen des Gyms, seine Geräte mit ihren Einstellungen und die Übungen, die an ihnen hängen — keine Einheiten, keine Gewichte, nichts Persönliches. Wer das Gym weitergegeben hat, erfährt nicht, wer es eingelöst hat.
Verbindungen: Zuschauen, Co-Op, PvP
Seit Oktober 2026 kannst du dich in der App mit einer anderen Person verbinden (Mehr → Verbindungen): Eine Seite erzeugt einen Link oder Code, die andere gibt ihn ein; dabei nennt jede Seite der anderen einen Namen, den sie selbst tippt — den Namen der einladenden Seite sieht schon, wer den Link öffnet. Weder die E-Mail-Adresse noch sonst etwas aus deinem Konto wird dabei weitergegeben. Eine Verbindung ändert zunächst nichts: Was die andere Person von deiner Saison sieht, wählst du allein, jederzeit, und es ist mit „nichts“ vorbelegt. Mehr zu zeigen bestätigst du in einer Rückfrage, die ausschreibt, was die Stufe umfasst; zurück auf weniger oder „nichts“ gilt sofort. Für Verbindungen gelten die Regeln für Verbindungen; mit „Link erstellen“ bzw. „Verbinden“ stimmst du ihnen zu.
- Haken: der Name deiner Saison (deines Hard Mode) — der laufenden oder, wenn keine läuft, der zuletzt beendeten bis 30 Tage nach ihrem Ende —, ihre Dauer, Festlegezeit und Wertung, die Namen deiner Regeln mit ihren Einstellungen und Gewichten (etwa eine Uhrzeit, ein Gehplan) — bei eigenen Regeln sind das die Wörter, die du getippt hast — und je Tag, ob du jede Regel gehalten hast, gerissen hast oder ob sie ruhte; dazu Notausgänge, Kranktage, ausgesetzte und geschonte Regeln und die Einträge deines Saisonrückblicks (etwa Streichungen, Schontage, Schritte von Hand, geänderte Wertung) samt dem Namen des betroffenen Blocks — immer ohne den Grund, den du dazugeschrieben hast. Deine Verzichtsregeln und wann du zuletzt in der App warst nur mit ihren eigenen Schaltern (unten).
- Werte: dazu je Regel und Tag die gemessene Zahl und das Ziel (zum Beispiel Minuten, Schritte, Schlafminuten, Kalorien oder Gramm Eiweiß — je nachdem, was deine Regeln messen) und deine Sportminuten des Tages. Schritte, Aktivkalorien und Einheiten können aus Apple Health bzw. Health Connect stammen, Einheiten auch aus intervals.icu, alle drei auch direkt aus Garmin Connect (Abschnitt 4).
Verzicht und App-Nutzung. Dazu hat jede Seite je Verbindung zwei eigene Schalter, beide mit „aus“ vorbelegt — auch in Verbindungen, die schon bestanden. Sie gelten nur zusammen mit „Haken“ oder „Werte“. Einschalten bestätigst du in einer Rückfrage, die ausschreibt, was der Schalter umfasst; ausschalten gilt sofort.
- Deine Verzichtsregeln: jede Verzichtsregel deiner Saison mit Namen und Einstellungen (welche Substanzen) — Substanzen, Drang und Gewohnheiten, auf die du verzichtest, auch eigene, so wie du sie getippt hast —, je Tag gehalten oder ein Verstoß und ob du die Abendfrage beantwortet hast, ihre Einträge im Saisonrückblick (ohne Grund) und bei „Werte“ auch, wie oft du eine Substanz eingetragen hast. Ohne den Schalter fehlen sie in der Ansicht deiner Saison ganz; die Prozentzahl einer Saison-Challenge und der Rangliste zählt alle Regeln, ohne Namen.
- Wann du zuletzt in der App warst: wann du zuletzt in der App etwas für deine Saison getan hast — die Abendfrage, das Festlegen oder ein Timer — mit Uhrzeit, und je Tag die Uhrzeit, zu der sein Stand zuletzt festgehalten wurde.
Nie zu sehen sind, in beiden Stufen: Gründe, Journal, Notizen, was du gegessen hast (eine Kalorien- oder Eiweißregel zeigt bei „Werte“ nur die Summe des Tages), dein Gewicht (außer mit dem eigenen Schalter unten) und deine Blutdruckwerte (eine Regel zum Wiegen oder Blutdruckmessen zeigt nur, ob du es getan hast), Maße, Fotos, Blutwerte, Gewohnheiten außerhalb der Saison und alles, was du nicht als Regel deiner Saison führst. Deine Serie sieht die andere Person schon bei „Haken“; Ladung, Strafzone, Rang und Punktestand rechnet ihre App nur bei „Werte“ — aus denselben Tageswerten; dein Gold sieht sie nie. Es wird nichts kopiert: Schaltest du auf „nichts“, sieht die andere Person von diesem Moment an nichts mehr von deiner Saison, auch die früheren Tage nicht.
Gewicht und Ernährung. Unabhängig von der Saison hat jede Seite je Verbindung zwei eigene Schalter, beide mit „aus“ vorbelegt. Einschalten bestätigst du in einer Rückfrage, die ausschreibt, was der Schalter umfasst; ausschalten gilt sofort. Die andere Person sieht nur Tage ab dem Tag, an dem du eingeschaltet hast — und höchstens die letzten 90 Tage; schaltest du aus und wieder ein, beginnt es wieder mit dem neuen Tag.
- Dein Gewicht: deine Wiegungen in Kilogramm, ein Wert je Tag; ihre App rechnet daraus den Schnitt über sieben Tage und die Veränderung gegen die Woche davor. Nie: Körperfett, Maße, Fotos, deine Ziele oder dein Erhalt.
- Dein Essen: je Tag deine Summen an Kalorien, Eiweiß, Kohlenhydraten und Fett (heute bis jetzt). Nie: einzelne Mahlzeiten oder Lebensmittel, deine Ziele, dein Gewicht.
Ihr könnt dieselbe Saison laufen lassen (die Regeln der anderen Person werden dir als Vorlage für deinen eigenen Start angeboten — eine Kopie, die dir gehört) oder zwei verschiedene; was ihr voneinander seht, folgt auch dann nur der eigenen Wahl oben.
PvP (Challenges). Eine Seite kann die andere herausfordern: eine Messgröße (Schritte — nur gemessene, von Hand nachgetragene zählen nicht —, gehaltene Regeln der Saison in Prozent, Schlafminuten wie von Hand eingetragen, Kalorien, Eiweiß, die Zahl der Trainingseinheiten oder die Veränderung des Gewichts in Prozent), ein Zeitraum von 3 bis 90 Tagen (beim Gewicht mindestens 14), frühestens ab morgen. Beim Gewicht sieht die andere Seite nur die Prozentzahl seit dem Start — nie dein Gewicht in Kilogramm. Sie gilt erst, wenn die andere Seite sie annimmt. Mit dem Annehmen zeigt ihr einander genau diese eine Zahl je Tag für genau diese Tage — nichts sonst; der Satz steht vor dem Stellen und vor dem Annehmen. Abbrechen kann jede Seite, solange die Challenge läuft (bis zu ihrem letzten Tag); danach sieht die andere Person die Zahlen nicht mehr. Ist eine Challenge vorbei, bleibt ihr Ergebnis mit den Zahlen 30 Tage in der Liste; früher nimmt es nur das Lösen der Verbindung weg. Die Stufe „nichts“ betrifft nur deine Saison, nicht die Zahl einer laufenden Challenge.
Rangliste. Unter Verbindungen kannst du bei der Rangliste mitmachen — vorbelegt ist es aus, und vor dem Beitritt nennt die App, was die anderen sehen. Wer mitmacht, sieht je Woche (Montag bis Sonntag, nur vergangene Tage) sich selbst und jede laufende Verbindung, die ebenfalls mitmacht, mit drei Wochenwerten: dem Schnitt der gemessenen Schritte je Tag (von Hand nachgetragene zählen nicht), der Zahl der Tage mit einer Trainingseinheit und dem Anteil der gehaltenen Regeln der Saison (und damit, ob jemand eine Saison spielt) — dazu Punkte und Platz, die die App daraus rechnet. Das gilt auch gegenüber Verbindungen, denen du von deiner Saison sonst nichts zeigst. Nie der laufende Tag, nie Regelnamen, Gründe, Gewicht oder Essen. Einzelne Tage stehen nirgends — weil der Schnitt der laufenden Woche aber Tag für Tag wächst, kann, wer täglich hinsieht, einen einzelnen Tag zurückrechnen. Gespeichert wird dafür nur, dass und seit wann du mitmachst; die Werte rechnet der Server bei jedem Aufruf aus deinen Tageswerten. Damit die Saison auch ohne Öffnen der App stimmt, hält der Server für alle, die mitmachen, stündlich den Beleg der letzten Tage fest. Austreten geht jederzeit: Du verschwindest sofort, auch aus vergangenen Wochen.
Eine Verbindung lösen kannst du jederzeit mit einem Tipp und ohne Grund; die andere Person sieht dann nur noch, dass sie beendet ist, und alle Challenges enden. Du kannst eine Person auch blockieren: Das löst die Verbindung, und keine Seite kann der anderen eine neue Einladung schicken; die blockierte Person erfährt davon nichts. Die andere Person ist ein Nutzer wie du und nicht der Betreiber: Was du ihr zeigst, zeigst du ihr; die App kann nicht verhindern, dass sie es weitererzählt. Zeig deshalb nur, was du einer Person deiner Wahl auch sonst erzählen würdest.
Melden und Ausschluss. Verstößt jemand gegen die Regeln, kannst du in der App melden: im Blatt einer Verbindung (auch einer beendeten, solange sie in der Liste steht), an jeder Challenge, in der Vorschau einer Einladung und beim Coach an einem Plan (in der Vorschau oder übernommen) und an jedem Tipp. Du wählst einen Grund (beleidigend oder hasserfüllt, sexuell, bedrohlich oder gefährlich, Spam oder falsche Identität, etwas anderes), kannst eine Bemerkung schreiben (bis 500 Zeichen) und die Person auf Wunsch gleich blockieren. Die Meldung geht an den Betreiber der App (Abschnitt 1) und an niemanden sonst. Sie enthält, was du in dem Moment siehst, als Schnappschuss, den der Server selbst zusammenstellt — dein Gerät schickt keinen Inhalt mit: den Namen, den sich die gemeldete Person gegeben hat; bei einer Verbindung, wenn die Person dir gerade ihre Saison zeigt, den Namen dieser Saison, die Namen ihrer Regeln und die Blocknamen, die sie in ihren Ausnahmen selbst getippt hat; bei einer Challenge Messgröße, Richtung, Zeitraum, ihren Stand und wer wen gefordert hat; bei einer Einladung den Namen darin; bei einem Plan, wie sich der Coach darin nennt, Titel, Notiz, die Namen der Routinen und Übungen bzw. der Gerichte mit ihren Notizen und Zutaten und die Notiz eines Zielvorschlags an dich; bei einem Tipp seinen Text und wann er kam. Dazu dein Grund und deine Bemerkung. Gespeichert ist die Meldung mit beiden Konten, damit sie sich zuordnen lässt und mit einem gelöschten Konto verschwindet. In seiner Sicht in der App sieht der Betreiber aber keine E-Mail-Adresse und keine Konto-Kennung — weder deine noch die der gemeldeten Person; nur wenn er ein Konto ganz sperren muss, sieht er dafür in der Verwaltung der Datenbank (Supabase) dessen Konto und E-Mail-Adresse. Die gemeldete Person erfährt nie, wer sie gemeldet hat, und solange der Betreiber nicht handelt, auch nicht, dass es eine Meldung gibt. Du kannst höchstens 20 offene Meldungen haben und denselben Inhalt nur einmal melden, solange die Meldung offen ist.
Der Betreiber sieht jede Meldung binnen 24 Stunden in der App an und entscheidet: kein Verstoß — oder er schließt die Person von den Verbindungen aus. Dann enden alle ihre Verbindungen, ihre Challenges werden abgebrochen und ihre wartenden Einladungen zurückgezogen; in allen ihren Verbindungen, auch den beendeten, und in den Blockierungen anderer steht statt ihres Namens nur noch „…“ (die anderen sehen „… hat die Verbindung beendet“) — denn der Name selbst kann der Verstoß sein. Sie kann niemanden mehr einladen und keine Einladung mehr annehmen; in der App sieht sie, dass Verbindungen für ihr Konto nach einer Meldung abgeschaltet sind — nicht, von wem sie kam. Alles andere in der App bleibt ihr. Den Namen behält der Betreiber nur im Schnappschuss der Meldung und in seiner Liste der Ausschlüsse. Der Ausschluss lässt sich aufheben; zurück kommt dabei nichts. Bei einem Plan oder Tipp kann der Betreiber der Person stattdessen die Rolle Coach entziehen: Ihre Pläne sind dann zurückgezogen, ihre Tipps gelöscht, und sie kann keine Pläne mehr verschicken; was andere von ihr übernommen haben, bleibt ihnen. In schweren Fällen kann der Betreiber das Konto ganz sperren. Bei einer Verbindung, einer Challenge, einem Plan oder Tipp steht der Stand deiner Meldung dort, wo du gemeldet hast, solange sie in deiner Liste steht: Solange die Meldung offen ist, kannst du sie dort zurücknehmen; danach erfährst du grob das Ergebnis — dass gehandelt wurde oder dass kein Verstoß festgestellt wurde. Eine gemeldete Einladung hat danach keine solche Stelle mehr.
6. Cookies und lokale Speicherung
Die App verwendet keine Werbe- oder Tracking-Cookies. Im lokalen Speicher deines Geräts (localStorage) liegen ausschließlich technisch notwendige Daten: deine Anmeldesitzung, Spracheinstellung, die Einstellungen dieses Geräts (etwa Mitteilungen), ein noch nicht eingelöster Einladungscode, zwischengespeicherte Einträge für den Offline-Betrieb (darunter Gesundheitswerte und Saisonstände der letzten Wochen) sowie die lokale Diagnose. Die App selbst schickt diese Daten nirgendwohin. Sicherst du dein Telefon in iCloud bzw. bei Google, kann die Sicherung sie samt deiner Anmeldung enthalten; dafür gelten die Bedingungen von Apple bzw. Google.
Widget & Siri (iPhone). Für die Widgets auf Home- und Sperrbildschirm legt die App eine kleine Kopie auf dem iPhone ab: die Zahlen von heute (Kalorien, Eiweiß, Schritte samt Wochenkonto, Wasser), die Namen deiner Mahlzeiten mit den Kalorien von gestern (für „Mahlzeit wie gestern“), den Stand einer laufenden Saison (Tag, offene Regeln mit Namen — ohne Verzichtsregeln —, Ladung und Serie), dein Training (was als Nächstes dran ist, die Einheiten dieser Woche) und Einträge, die noch nicht verschickt sind. Die Kopie liegt allein auf diesem Gerät, in keiner Sicherung. Im Sperrbildschirm verdeckt das Widget seine Zahlen. Eintragen aus einem Widget, dem Kontrollzentrum, mit Siri oder Kurzbefehlen geht nur, wenn du es unter Mehr → Einstellungen → Geräte & Übertragungen → „Widget & Siri“ einschaltest: Dafür gibst du dort einmal dein Passwort ein, und die App meldet sich damit ein zweites Mal an. Gespeichert wird nicht das Passwort, sondern nur diese zweite Anmeldung — im Schlüsselbund des iPhones, allein auf diesem Gerät, in keiner Sicherung. So trägst du Wasser, Gewicht oder eine Mahlzeit wie gestern ein — nur bei entsperrtem iPhone, gespeichert wie in der App. Was du Siri sagst, verarbeitet Apple nach seinen Bedingungen. „Ausschalten“ in der Karte beendet die zweite Anmeldung; Abmelden löscht dazu die Kopie vom Gerät.
Widgets (Android). Auf Android legt die App für ihre Widgets auf dem Startbildschirm dieselbe kleine Kopie ab (die Zahlen von heute, die Mahlzeiten mit den Kalorien von gestern, den Stand einer laufenden Saison ohne Verzichtsregeln, dein Training, noch nicht verschickte Einträge) — im Speicher der App, allein auf diesem Gerät, in keiner Sicherung. Eintragen aus einem Widget, einer Kachel der Schnelleinstellungen oder einer Verknüpfung am App-Symbol geht nur, wenn du unter Mehr → Einstellungen → Geräte & Übertragungen → „Widgets“ einschaltest — wie auf dem iPhone mit einmal deinem Passwort. Gespeichert wird nur die zweite Anmeldung, verschlüsselt mit einem Schlüssel im Android-Keystore, der das Gerät nie verlässt. Knöpfe und Kacheln tragen nur bei entsperrtem Telefon ein; die Widgets stehen nur auf dem Startbildschirm, nicht auf dem Sperrbildschirm; dein Gewicht trägst du auch von dort in der App ein. „Ausschalten“ in der Karte beendet die zweite Anmeldung; Abmelden löscht dazu die Kopie vom Gerät.
7. Speicherdauer und Löschung
- Deine Daten bleiben gespeichert, solange dein Konto besteht — die App ist ein Langzeit-Tagebuch, historische Einträge sind ihr Zweck.
- Konto löschen: In der App unter Mehr → „Einstellungen“ → „Konto & Hilfe“ → „Konto löschen …“ kannst du dein Konto zweistufig und endgültig löschen; vorher bietet die App an, deine Daten herunterzuladen. Dabei werden alle Einträge, Fotos und das Konto selbst entfernt — auch deine Verbindungen, Challenges, Blockierungen und Meldungen und die Verbindungen zu intervals.icu und Garmin Connect samt Schlüssel und Token. Bei intervals.icu und Garmin selbst löscht die App nichts.
- intervals.icu: „intervals.icu trennen“ löscht deinen Schlüssel und den Verbindungsstand sofort. Eingelesene Einheiten samt Pulsverlauf, die Werte je Tag und deine Zonensätze bleiben in deinem Konto, bis du sie löschst oder dein Konto löschst. Was bei intervals.icu liegt — auch Zonen, die die App dorthin geschrieben hat —, bleibt dort; deinen Schlüssel widerrufst du in den Einstellungen von intervals.icu.
- Garmin Connect: „Garmin Connect trennen“ löscht deinen persönlichen API-Schlüssel, das Token und den Verbindungsstand sofort; mit deinem Konto gehen sie ebenso. Eingelesene Tageswerte und Einheiten samt Pulsverlauf bleiben in deinem Konto, bis du sie löschst oder dein Konto löschst. Was bei Garmin liegt, bleibt dort; deinen Schlüssel löschst du in Garmin Connect (Einstellungen → Personal API), und sonst läuft er zu dem Datum ab, das du dort gewählt hast.
- Merkzeilen und Verläufe: Löschst du eine eingelesene Einheit, merkt sich die App Quelle, Kennung, Start, Tag und Sportart, damit ein späterer Abruf sie nicht zurückbringt. Diese Merkzeilen, der Verlauf deiner Maximal-HF, deines Schwellenpulses und deines FTP und das Protokoll der Übertragungen bleiben bis zur Kontolöschung.
- KI-Lesung (bis 24. Oktober 2026): Die App liest seither keine Seiten mehr. Früher gelesene Texte bleiben neben ihrem Foto, bis du das Foto löschst.
- Sonntagsbogen: Deine Sonntagsbögen kannst du jederzeit einzeln löschen (in der App unter Mehr → Körper → Fotos); ein gelöschter Bogen ist auch für den Coach sofort weg und lässt sich nicht wiederherstellen. Den Coach erreicht ein Bogen nur, solange du den Wöchentlichen Check-in freigibst.
- Verbindungen und Challenges bleiben gespeichert, solange beide Konten bestehen; löscht eine der beiden Seiten ihr Konto, verschwinden sie. Eine Blockierung bleibt, bis du sie aufhebst oder eines der beiden Konten gelöscht wird; die Belege deiner Saisontage, solange dein Konto und die Saison bestehen. Was die andere Person von deiner Saison sehen konnte, sieht sie nach dem Lösen oder mit „nichts“ nicht mehr; die Zahlen einer Challenge nach dem Abbrechen oder dem Lösen — das Ergebnis einer beendeten Challenge bleibt 30 Tage in der Liste.
- Meldungen: Eine offene Meldung bleibt, bis der Betreiber sie abschließt oder die meldende Person sie zurücknimmt. Abgeschlossene Meldungen werden nach 180 Tagen gelöscht. Wird das Konto der meldenden oder der gemeldeten Person gelöscht, verschwindet die Meldung mit.
- Ausschluss von Verbindungen: bleibt, bis der Betreiber ihn aufhebt oder das Konto gelöscht wird.
- Datenexport: Vor einer Löschung kannst du deine Daten in der App als Datei exportieren (Art. 20 DSGVO — Datenübertragbarkeit), unter Mehr → „Einstellungen“ → „Konto & Hilfe“ — ohne deinen intervals.icu-Schlüssel, deinen Garmin-Connect-Schlüssel samt Token und das Protokoll der Übertragungen. Fotos und PDFs stehen nicht in dieser Datei: Fortschrittsfotos lädst du unter Mehr → Körper → Fotos, Fotos und PDFs des Journals im Journal als ZIP herunter.
- Sicherungen: Der Betreiber sichert die Datenbank und die Fotos regelmäßig selbst, verschlüsselt, in seinem Google-Konto (Google Drive; Abschnitt 5, „Google“). Jede Sicherung wird nach vier Wochen gelöscht; die jüngste bleibt, bis eine neue gelungen ist. Nach einer Kontolöschung stecken deine Daten nur noch in diesen Sicherungen und verschwinden mit ihnen. Der Hosting-Dienst selbst hält keine Sicherungen vor.
- Server-Logs: Ihre Protokolle (etwa Zugriffe mit IP-Adresse und Zeitpunkt, Fehlermeldungen) löschen die Hosting-Dienste automatisch, Vercel und Supabase nach höchstens einem Tag. Das Versandprotokoll der E-Mails bewahrt Resend 30 Tage auf (Abschnitt 5).
8. Deine Rechte
Dir stehen nach der DSGVO folgende Rechte zu:
- Auskunft über deine gespeicherten Daten (Art. 15),
- Berichtigung unrichtiger Daten (Art. 16),
- Löschung (Art. 17) — in der App jederzeit selbst möglich,
- Einschränkung der Verarbeitung (Art. 18),
- Datenübertragbarkeit (Art. 20) — per Export in der App,
- Widerspruch gegen Verarbeitungen auf Grundlage berechtigter Interessen (Art. 21),
- Widerruf erteilter Einwilligungen mit Wirkung für die Zukunft (Art. 7 Abs. 3).
Wende dich dafür formlos an die oben genannte E-Mail-Adresse. Außerdem hast du das Recht auf Beschwerde bei einer Datenschutz-Aufsichtsbehörde — zuständig für den Verantwortlichen ist der Landesbeauftragte für den Datenschutz und die Informationsfreiheit Baden-Württemberg (Stuttgart); du kannst dich auch an die Aufsichtsbehörde deines Wohnorts wenden.
9. Datensicherheit
Alle Verbindungen sind transportverschlüsselt (TLS). Der Zugriff auf deine Einträge ist auf Datenbankebene durch Zeilen-Zugriffsregeln (Row Level Security) strikt auf dein eigenes Konto beschränkt. Was der Coach oder eine verbundene Person sieht, geben eigene Funktionen heraus, die genau das Freigegebene liefern — keine Zugriffsregel öffnet fremde Zeilen. Fotos liegen in privaten Speicherbereichen und sind nur über kurzlebige, signierte Adressen abrufbar; nur für den Wöchentlichen Check-in darf das Konto des Coachs die Fortschrittsfotos öffnen, die du ihm freigegeben hast — bei jedem Abruf neu geprüft, nur solange die Freigabe gilt. Deinen intervals.icu-Schlüssel kann die App nach dem Speichern nicht mehr lesen; nur die Funktion, die bei intervals.icu abruft, liest ihn. Ebenso deinen persönlichen Garmin-Connect-Schlüssel und das Token: Die App kann beide nicht lesen; nur die Funktion, die bei Garmin abruft, liest sie. Passwörter werden ausschließlich gehasht gespeichert.
10. Mindestalter
Sandevistan richtet sich an Personen ab 16 Jahren. Für jüngere Personen ist die Nutzung nicht vorgesehen; bei der Registrierung bestätigst du, dass du mindestens 16 Jahre alt bist.
11. Änderungen dieser Erklärung
Diese Erklärung wird angepasst, wenn sich die App oder die eingesetzten Dienste ändern. Die jeweils aktuelle Fassung ist unter dieser Adresse abrufbar; das Datum oben zeigt den Stand.
SANDEVISTAN — Privacy Policy
Last updated: 29 October 2026. In case of doubt, the German version above prevails.
In short: Sandevistan is a private, free app for self-tracking your training, nutrition and health metrics. Your data is yours: there are no ads, no tracking, no analytics services, and your data is never sold. The app processes what you enter or connect yourself — so the app works for you — and the little that others enter about you in the app: the coach’s tips and reports about you (section 2). Others only see something if you explicitly choose it inside the app: the coach who sent you a plan — the operator of this app or a person he has unlocked as a coach —, the values you share with them; whoever opens your invitation link, the name you give yourself for it; a person you connect with, in addition what you show them of your season and the one number of a challenge you both want; whoever redeems your gym code, a copy of your gym (section 5). If you report someone, the report goes to the operator. If you connect intervals.icu, the app uses your key to fetch your sessions and recovery values from there and writes your zones there only after a confirming question (section 5, “intervals.icu”). If you connect Garmin Connect with your personal API key, the app’s server uses it to fetch your daily values and sessions from there and writes nothing there (section 5, “Garmin Connect”). Apart from that, nothing goes to anyone else; the service providers that run the app technically are listed in section 5. You can delete your account and all data yourself, at any time, inside the app; what lies with intervals.icu or Garmin you delete there.
1. Controller
Controller within the meaning of the EU General Data Protection Regulation (GDPR):
Johannes Suso Horrer
Itzelberger Str. 23
89551 Königsbronn, Germany
E-mail: johannes.s.horrer@gmail.com
The app is a private, non-commercial project. No data protection officer is required.
2. What data is processed
Sandevistan processes data you enter yourself or whose transfer you set up yourself, and what others enter about you in the app — the coach’s tips and reports about you:
- Account data: e-mail address and password (stored only as a cryptographic hash, never readable in plain text).
- Profile data: height, date of birth, sex, language, selected app areas and settings (e.g. water target, rest times, day close-out time, meal names); for training and endurance also the phase, direction and target hours of your endurance training, a race you enter (day and name), your answers about your endurance and strength training so far and about hard intervals, your weekly hours and their split between strength and endurance, your target of hard sets, your targets per muscle group and muscle groups you hide.
- Training data: sessions, exercises, sets, weights, reps, reps in reserve (RIR), timed sets, notes, routines with their targets, gym names, derived metrics (e.g. estimated one-rep max); cardio and endurance sessions with sport, title, duration, distance, elevation gain, calories, power (watts), time per heart-rate or power zone with the zone limits, your effort (RPE), a reason you can pick when confirming (such as “tired” or “ill”) and load carried; your zone sets and your FTP with the day from which it applied; markers for imported sessions you changed by hand or deleted, so that a later fetch does not overwrite them or bring them back.
- Nutrition data: meals and food entries with amounts and nutrition facts, your own foods and recipes, water intake, calorie and protein targets, phases, refeed entries.
- Health data (special category under Art. 9 GDPR): body weight, tape measurements and a body-fat estimate, steps, active calories, resting heart rate, heart rate variability, sleep data, recovery metrics (from intervals.icu also sleep score, readiness, fitness and fatigue), your heart rate during workouts (average, maximum and, from intervals.icu or Garmin Connect, the curve per minute), your maximum heart rate and threshold heart rate with the day from which each value applied, blood pressure readings, blood work (lab markers), progress photos, sick days (the day you report sick and the reason, if you add one), the Sunday sheet of the weekly check-in (hunger, energy, stress, sleep quality, training and pump, each 1 to 5, and a note).
- Season and habits (the app treats these as health data under Art. 9 GDPR — with the same consent and the same protection): your habits and, per day, whether and how you kept them; your seasons (Hard Mode) with rules, weights and game rules, the state of every rule per day, the minutes you log in the season for reading and flashcards, and the evening questions you answered; entries on substances (which one, when and, if you write one, a note) and on urges (when you gave in to an urge) — you log both in the evening check of an abstinence rule; paused and spared rules (which rule, on which days), the Hard Side-Quest (from when to when), emergency exits, deletions and other exceptions — each with the reason you add; rewards you enter for yourself and what you redeem; and, if you connect your flashcards, your learning time and cards per day (section 5, “Flashcards”).
- Day structure: day plans with time blocks, goals and their reasons, todos, day close-out bookings.
- Journal: your diary entries (text), the day's mood if you give one (1–5), photos (such as of handwritten pages) and PDF files you attach. Since 24 October 2026 the app reads no page any more; a text it read from a page until then (transcription) stays stored next to its photo.
- Plans from the coach: training and nutrition plans you take over (title, routines, exercises, targets, training days; the frame of a nutrition plan, dishes with their ingredients; the coach’s name, a note); whether and since when you give the coach insight, under which name and which values you share; tips and suggested targets you receive, and your answers to them. If you block a coach, this stands in the same list as for connections (next item).
- Connections (only if you connect with someone): the names you give each other for it; your invitations with code and validity; when you connected, and when and by whom the connection was ended; what each side shows the other (nothing, ticks or values), whether it also shows its abstinence rules and “last in the app”, and whether, and since which day, it shows its weight and its food; challenges with measure, direction, period, who challenged whom and your answers (accepted, declined, called off); whether, and since which day, you take part in the leaderboard; while someone watches you, a season challenge runs or you take part in the leaderboard, a record for each day of your season — the state of every rule with value and target, emergency exit, sick day, answered evening questions, paused rules and your sport minutes —, which the server records hourly from your entries (even if you do not open the app) and of which the other person only sees what your choice allows; whom you have blocked, with the person’s name and since when.
- Reports: if you report a connection, a challenge, an invitation or a coach’s plan or tip, your reason, your remark (if you write one), a snapshot of what you see at that moment, the time and the operator’s decision are stored (section 5, “Reporting and exclusion”). If someone reports you, the same is stored about you — without you learning by whom. If the operator excludes an account from connections, this is stored with the name the person had given themselves and the day. Whether an account is unlocked as a coach is stored in its profile.
- Calendar data (only if you set it up yourself): events from a private calendar feed you provide (e.g. Google Calendar), planned rides from your TrainerRoad calendar, and your day plan exported as a calendar subscription.
- Connected services (only if you set them up yourself): for intervals.icu your API key, your athlete ID, when you connected and last fetched, and the last error message; for Garmin Connect your personal API key, the token the server exchanges it for (valid for 24 hours), the key’s expiry date if you enter it, when you connected and last fetched, and the last error message; plus a log of transfers (time, success, number of entries or error), shown to you under “Recent transfers” — for the Shortcut, for intervals.icu and for Garmin Connect.
- Technical data: when the app is delivered, the hosting providers listed below technically log access data (notably IP address, time, requested resource). The app itself contains no tracking. Diagnostic data (last error, app version, device type) is stored locally on your device only and is transmitted only if you explicitly copy and send it yourself (“Copy diagnostics”).
3. Purposes and legal bases
- Providing the app’s functions (storing, displaying and evaluating your entries for yourself): Art. 6(1)(b) GDPR.
- Health data (in section 2 the points “Health data” and “Season and habits”): processed solely on the basis of your explicit consent (Art. 9(2)(a) GDPR), given at sign-up. You can withdraw it at any time with future effect: inside the app by deleting your account (section 7), or informally by e-mail to the address in section 1 — your health data is then deleted, and your whole account if you wish. Switching an area off in the app only hides it; what is already stored stays. Withdrawal does not affect the lawfulness of processing before it.
- Insight for the coach (the operator, section 1, or a person he has unlocked as a coach — section 5, “The coach”): solely on the basis of your explicit consent (Art. 6(1)(a), Art. 9(2)(a) GDPR), given inside the app for each shared value separately and revocable there at any time (under “Coach”, reached from the Training and Nutrition tabs).
- Connections and challenges: that you are connected, and under which names, is part of the feature you use yourself (Art. 6(1)(b) GDPR). What the other person sees of your season, of your weight and of your food, and which number a challenge shows, rests on your explicit consent (Art. 6(1)(a) and, because it includes health data — such as sick days, sleep, steps, your body weight or what you eat — Art. 9(2)(a) GDPR): for your season you give it per connection by choosing “ticks” or “values” and confirming with “Yes, show” in a question that spells out what the level includes; for your abstinence rules, for “last in the app” and for weight and food the same way per switch, in a question of its own; for a challenge by setting or accepting it, after the sentence that says which number the other side sees. You can withdraw it at any time inside the app, with immediate effect: switch to a lower level or “nothing”, turn a switch off, call off a running challenge, disconnect.
- intervals.icu: connecting and fetching are part of the feature you set up yourself (Art. 6(1)(b) GDPR); heart rate, heart rate variability and sleep from intervals.icu are processed like all health data, on the basis of your explicit consent (Art. 9(2)(a) GDPR). The app writes your zones with the threshold heart rate or FTP and the maximum heart rate there only when you confirm it in the question each time (Art. 6(1)(a), Art. 9(2)(a) GDPR). You can end it at any time with “Disconnect intervals.icu” under “Devices and transfers”.
- Garmin Connect: connecting and fetching are part of the feature you set up yourself (Art. 6(1)(b) GDPR); steps, active calories, resting heart rate and the heart rate of your sessions from Garmin Connect are processed like all health data, on the basis of your explicit consent (Art. 9(2)(a) GDPR). The app writes nothing to Garmin. You can end it at any time with “Disconnect Garmin Connect” under “Devices and transfers”.
- Reports and exclusion: Art. 6(1)(f) GDPR — the legitimate interest of all users and of the operator in keeping connections free of insults, harassment and abuse and in enforcing the rules for connections. You can object as described in section 8.
- Journal pages read earlier: until 24 October 2026 the app had journal pages read only with your explicit consent (Art. 6(1)(a) and Art. 9(2)(a) GDPR). Since then no page goes out; the text read and the time of the consent stay stored as part of your journal and as proof (Art. 7(1) GDPR).
- Technical security and troubleshooting (hosting providers’ server logs): Art. 6(1)(f) GDPR (legitimate interest in secure, reliable operation).
All in-app evaluations (e.g. calorie balance, weight trend, recovery hints, the endurance plan for next week) are for your own information; from what you show a connected person, their app also computes streak, charge, rank and the daily winners of a challenge. None of these evaluations has any legal or similarly significant effect; no automated decision-making within the meaning of Art. 22 GDPR takes place. Sandevistan is not a medical device and does not replace medical advice.
4. Where health data comes from
- Manual entry: weight, blood pressure, blood work, nutrition and training are entered by you; workout sessions can also come from Apple Health or Health Connect (below), from intervals.icu and from Garmin Connect.
- Apple Health (Shortcut): if you set it up yourself, an iOS Shortcut you create transmits daily figures (e.g. steps, active calories, resting heart rate) from Apple Health to your Sandevistan account, using a personal, revocable access token. Sandevistan receives no credentials for your Apple or Garmin account.
- intervals.icu: if you connect it yourself (under “Devices and transfers”, with the API key of your own intervals.icu account), a function of the app at Supabase — not your device — fetches your activities from there (sport, title, start, duration, distance, elevation gain, calories, average and maximum heart rate, power, time per zone with the zone limits), for activities with heart rate the curve per minute, and your values per day (resting heart rate, heart rate variability, sleep duration and sleep score, readiness, fitness and fatigue). The app fetches no location data, routes or maps. It fetches when you connect (the last five weeks or so), when you tap “Fetch now” and, at most every ten minutes, when you open the Endurance card. The sessions then appear in your cardio list, the values per day only in the analysis under “Endurance”, not in your daily numbers. What goes to intervals.icu in the process is described in section 5.
- Garmin Connect (direct): if you connect it yourself (under “Devices and transfers”, with the personal API key of your own Garmin Connect account — Garmin’s “Personal API”), a function of the app at Supabase — not your device — fetches from there per day your steps, active calories and resting heart rate, and — only if you switch it on in the card, off by default — your sessions (sport, start, duration, distance, elevation gain, calories, average and maximum heart rate, power, time per zone) with the session’s FIT file, from which it reads only the heart rate minute by minute. The app takes no location data, routes or maps; it never fetches weight. Last night’s sleep, heart rate variability, Body Battery and stress it fetches only if you switch it on in the card (off by default) — they then sit in your daily values and prefill the morning check; what you enter there counts. The server exchanges the key for a token valid for 24 hours; both lie only on the server, and only the function that fetches from Garmin reads them. It fetches when you connect, when you tap “Fetch now”, when you open the app and hourly from the server. The daily values then appear in your daily numbers, the sessions in your cardio list. The app writes nothing to Garmin. What goes to Garmin in the process is described in section 5.
Apple Health / HealthKit (App Store version only)
The iPhone app reads data from Apple Health only if you allow it: setup asks “What do you count your steps with?”; every answer is followed by the iOS permission dialog, and only what you approve there is read. The app reads steps, active calories and resting heart rate to fill your daily log automatically and — as long as “Sessions from Apple Health” is switched on (setup switches it on for every answer except “Garmin watch”) — finished workout sessions with duration, distance and calories and, since October 2026 (App Store version 1.4 and later), their heart rate: average and maximum from the heart-rate readings during the session — iOS asks for “Heart Rate” separately for this. They appear in your cardio list and in the analysis under “Endurance”. The app writes nothing back to Apple Health. HealthKit data is used exclusively for the app’s features, is never used for advertising or marketing, never sold and not passed on to anyone you do not show it to yourself inside the app: if you share your recovery values with a coach (the operator of this app or a person he has unlocked as a coach; section 5, “Coach”), they also see your resting heart rate; if you share the weekly check-in with them (through a training or a nutrition plan), they see your average steps per week. If you show a person you have connected with your season, they see under “ticks” whether you kept rules on steps, active calories, training or cardio, under “values” also the numbers and your sport minutes per day; if you accept a challenge on steps or training sessions, or set one that is accepted, they see that one number per day. Imported sessions count towards these — all of it only as long as you choose so (section 5, “Connections”). If you take a maximum heart rate measured in Apple Health as your maximum heart rate and then write your heart-rate zones to intervals.icu, this value goes there too (section 5, “intervals.icu”). You can revoke access at any time in iOS Settings (Privacy & Security → Health) or switch it off inside the app under “Devices and transfers” (“Daily numbers from Apple Health”, “Sessions from Apple Health”).
Health Connect (Android version only)
The Android app reads data from Health Connect only if you allow it: setup asks “What do you count your steps with?”; every answer is followed by the Health Connect permission dialog, and only what you approve there is read. The app reads steps, active calories and resting heart rate and — as long as “Sessions from Health Connect” is switched on (setup switches it on for every answer except “Garmin watch”) — finished workout sessions with duration, distance and calories, to fill your daily log and your cardio list automatically. The app writes nothing back to Health Connect. Health Connect data is used exclusively for the app’s features, is never used for advertising or marketing, never sold and not passed on to anyone you do not show it to yourself inside the app: if you share your recovery values with a coach (the operator of this app or a person he has unlocked as a coach; section 5, “Coach”), they also see your resting heart rate; if you share the weekly check-in with them (through a training or a nutrition plan), they see your average steps per week. If you show a person you have connected with your season, they see under “ticks” whether you kept rules on steps, active calories, training or cardio, under “values” also the numbers and your sport minutes per day; if you accept a challenge on steps or training sessions, or set one that is accepted, they see that one number per day. Synced sessions count towards these — all of it only as long as you choose so (section 5, “Connections”). You can revoke access at any time in Health Connect (permissions → Sandevistan) or switch it off inside the app under “Devices and transfers” (“Daily numbers from Health Connect”, “Sessions from Health Connect”).
5. Recipients and processors
Your data is never sold, rented out or shared for advertising. The following service providers act as processors:
- Supabase (Supabase, Inc.): database, authentication and file storage (progress photos, and photos and PDFs in the journal, in private, access-protected buckets). Data hosted in region EU (Frankfurt, Germany).
- Vercel (Vercel, Inc.): delivery of the app interface (hosting), with technically required access logs (IP address, time).
- Resend (Plus Five Five, Inc., San Francisco, USA): sending the e-mails about your account — the confirmation of your address at sign-up and the link when you choose “Forgot password?”. For this, your e-mail address and the e-mail with the link go to Resend. It is sent from Resend’s region in the EU (Ireland); the e-mail and the sending log are stored in the USA, for 30 days. The transfer relies on the EU Standard Contractual Clauses; Resend also refers to the EU-US Data Privacy Framework. Resend does not track whether or when you open an e-mail or tap a link in it.
As processors (Art. 28 GDPR) these services may process your data only on our behalf and not for their own purposes. Where data may reach countries outside the EU/EEA in the process, such transfers rely on EU Standard Contractual Clauses (Art. 46 GDPR) or an adequacy decision (e.g. the EU-US Data Privacy Framework).
Other services
- Open Food Facts (food search and barcode lookup): the search term or barcode goes to a function of the app at Supabase (see above), which forwards the request to Open Food Facts servers and caches the term and the answer without any link to your account. Open Food Facts sees the address of that server, not your IP address. No account or health data is included.
- Calendar feeds (optional): if you configure the calendar integration, Sandevistan fetches the private calendar address you provide (e.g. Google, or your TrainerRoad calendar); if you subscribe to your day plan, your calendar app — or the service behind it, such as iCloud or Google — fetches a secret address known only to you. The day-plan feed contains your blocks from seven days back to 60 days ahead: time, title, whether done, the category and your note on the block. Nutrition or health values such as weight, steps or calories are not in it; what you write into titles and notes yourself is — and then also lies with your calendar service.
- Flashcards (optional, only with an address you enter): Cyberpsychosis, the flashcard app, is an app of the operator’s own. If you enter the address of its calendar, a function of the app at Supabase — not your device — uses the key in that address to fetch your state from there: per day learning minutes, reading time, cards learned and due cards left open, plus whether a learning session is running. Only the numbers per day are stored, for the season rule on flashcards; nothing goes to the flashcard app except the key.
- Google (backups): the backups from section 7 are stored in the operator's Google account (Google Drive; the provider in the EU is Google Ireland Limited, Dublin). A backup is encrypted before it leaves the operator's computer; only he has the key — Google sees no readable data. Google may also store the files in the USA; Google LLC is certified under the EU-US Data Privacy Framework and relies on EU Standard Contractual Clauses where required.
- intervals.icu (optional): an independent service where you have an account of your own; what happens to your data there is governed by its terms and privacy policy. If you connect it, a function of the app at Supabase makes the requests, not your device. Each request carries your API key, your athlete ID, the period asked for and, for the heart-rate curve, the ID of the activity. Only if you choose “Save and write to intervals.icu” in the confirming question does the app write your zones to the sport settings of your intervals.icu account — for heart-rate zones the limits, your threshold heart rate and your maximum heart rate, for power zones the limits and your FTP — which overwrites the zones there. No other data from Sandevistan goes to intervals.icu.
- Garmin Connect (optional): Garmin’s service where you have an account of your own; what happens to your data there is governed by Garmin’s terms and privacy policy, and for the key by the terms of the Personal API (the key is personal and meant only for tools you use for yourself). If you connect it, a function of the app at Supabase makes the requests, not your device. Garmin receives your personal API key (when it is exchanged for the token), then the token, the period asked for and, for details and the FIT file, the ID of the session. The app writes nothing to Garmin; no other data from Sandevistan goes to Garmin.
The coach: plans and insight
In Sandevistan, training and nutrition plans are sent only by the operator of the app — the controller from section 1 — and by persons he has explicitly unlocked as coaches; inside the app both are called “the coach”. Only the operator unlocks someone, by hand; nobody can make themselves a coach. All other users cannot send plans, and they cannot write each other tips or messages; what they see of each other through connections is described below under “Connections”. You can take over a plan the coach sent you through a link or code: for a training plan title, routines, exercises and targets and, where set, the weekdays a routine is meant for; for a nutrition plan the frame (goal, fixed numbers or pace, protein and fat per kilogram, meals, water) and dishes with their ingredients and nutrition facts; plus his name and a note. If you take a plan over, the app at first only shows the coach that it was taken over, when last, and whether at the latest version — not by whom.
Beyond that, the coach sees only what you explicitly share. Every share is preset to “no”:
- Insight into training: of the sessions you train from this plan: date, duration, exercises and sets (weight, reps, reps in reserve or failure, duration of a timed set, whether it was a warm-up) — from the day of your consent — and the name you give for it. No notes, no other session.
- Morning values (with a training plan), each one separately and only together with the insight: weight (your morning weight), sleep (duration, sleep score), recovery (heart rate variability, resting heart rate, Body Battery, training readiness) — from the day of the respective share or, if you explicitly choose so, fourteen days back. The resting heart rate may come from Apple Health or Health Connect (section 4).
- Sick days (with a training plan), a share of its own and only together with the insight: on which days you reported sick in the app — from the day of the share or, if you explicitly choose so, fourteen days back. The day only: the reason you add when reporting sick is never shown to the coach.
- Weekly check-in (with a training or a nutrition plan), a share of its own, only together with the insight and only after a confirming question: per calendar week your progress photos and your tape measurements (waist, neck, hip, chest, arm, thigh) as soon as you take them, your average steps of the week and on how many days they were measured, once the week is over (never a single day; with fewer than four days no average), and your Sunday sheet (hunger, energy, stress, sleep quality, training and pump, each 1 to 5, and your note) — from the day of the share or, if you explicitly choose so, fourteen days back. If you share it with the same coach through both a training and a nutrition plan, he sees it from the earlier of the two days; it is off only once you switch it off at both plans. Through a nutrition plan alone the coach sees no training sessions. Never your weight: the app shows the coach the week’s average weight only with the “weight” share, calories and protein only through the “nutrition” share of a nutrition plan; he does not see the body-fat estimate. The photos stay in your private storage; the coach gets them through short-lived addresses (valid for ten minutes) that only his signed-in account can create. Since 21 October 2026 (App Store version 1.4 and later) the app uploads every photo — progress photos and journal pages alike — without image data such as the place they were taken (EXIF), as long as the device can read the picture; older photos may still carry such data.
- Nutrition and weight (with a nutrition plan), each share separately and only together with the insight: weight (your morning weight; together with “nutrition” also everything that reveals your weight or would let someone work it out: the goal weight of your phase, your protein and fat targets in grams, with a plan that sets fixed numbers also your protein per kilogram, and — only if the phase was set with a shared weigh-in — its start weight, the stored maintenance and the minimum calories; the stored maintenance is usually your measured daily expenditure from the day you set the targets and can therefore rest on days before you shared); nutrition (calories, protein, carbohydrates, fat and fibre per day, the number of entries, whether the day is closed, refeed days and extras, the calorie and protein target that applied that day; plus your current phase: lose, maintain or build, since when it runs, calorie target, protein per kilogram (with a plan that sets fixed numbers only together with “weight”) and step target — and, once weight and nutrition have both been shared for at least fourteen days, your measured daily expenditure derived from them, as it stands today); meals (what you ate: name, amount, calories, protein, carbohydrates and fat per entry and the meal it belongs to, without the time of day; only together with “nutrition”) — from the day of the respective share or, if you explicitly choose so, fourteen days back.
The coach can write you tips and suggest targets (calories or carbohydrates, protein, fat); they only take effect once you adopt them yourself in your phase sheet. The coach sees whether you have read his tips and whether you set a suggestion or put it aside with “Not now”. As long as you give him insight, you can answer a tip; he sees your answer as long as the insight is on. If you disconnect, or either of you deletes the tip, the answer is deleted too. Never shown in the coach’s view: the steps of a single day, habits, notes, journal, your goals from the “Goals” area, blood pressure and blood work; photos, body measurements and your average steps per week only through the weekly check-in, your nutrition only through the share just described, with a nutrition plan. Nothing is copied: if you switch a share or the insight off (in the app under “Coach”), the app no longer shows the coach the values from that moment on, not the earlier ones either; he gets no message about it. If you disconnect, the tips are deleted too. Dishes and foods from a plan you took over are a copy in your account and stay there. If your coach is the operator, he uses what you share with him only to coach you, and he does not pass it on. If your coach is another person the operator has unlocked as a coach, that person is a third party: they see inside the app exactly what you share with them and are themselves responsible for what they do with it — the app cannot stop them from copying something down or taking a screenshot. So share only what this person should see; the name they go by is shown in the preview before you take over a plan. If you do not want a plan or a tip, do not take it over, or disconnect.
Reporting and blocking. You can report a plan — in the preview or after taking it over — and every tip from a coach; the report goes to the operator (below, “Reporting and exclusion”). You can block a coach, when reporting or on its own: whatever you took over from them is released (the routines from their plan rest, their tips are deleted), and none of their plans opens for you afterwards. The block stands in the same list as for connections and can be lifted there; nothing comes back when it is. The coach does not learn that you reported or blocked them — they only see that you no longer have their plan.
Passing on a gym. Independently of the coach, any user can pass on a gym of their own through an invitation code. Whoever redeems the code gets a copy in their account: the name of the gym, its equipment with its settings and the exercises attached to it — no sessions, no weights, nothing personal. Whoever passed the gym on does not learn who redeemed it.
Connections: watching, co-op, PvP
Since October 2026 you can connect with another person inside the app (More → Connections): one side creates a link or code, the other enters it; each side gives the other a name it types itself — whoever opens the link already sees the name of the inviting side. Neither your e-mail address nor anything else from your account is passed on. A connection changes nothing by itself: what the other person sees of your season is your choice alone, at any time, and it is preset to “nothing”. Showing more you confirm with “Yes, show” in a question that spells out what the level includes; going back to less or “nothing” applies at once. Connections are governed by the rules for connections; by tapping “Create a link” or “Connect” you agree to them.
- Ticks: the name of your season (your Hard Mode) — the running one or, if none is running, the one that ended last, up to 30 days after its end —, its duration, fixing time and scoring, the names of your rules with their settings and weights (such as a time of day, a walking plan) — for rules of your own these are the words you typed — and, per day, whether you kept each rule, missed it or whether it rested; plus emergency exits, sick days, paused and spared rules and the entries of your season review (such as deletions, rest days, steps by hand, changed scoring) together with the name of the block concerned — always without the reason you added. Your abstinence rules and when you were last in the app only with their own switches (below).
- Values: in addition, per rule and day, the measured number and the target (for example minutes, steps, sleep minutes, calories or grams of protein — whatever your rules measure) and your sport minutes of the day. Steps, active calories and sessions may come from Apple Health or Health Connect, sessions also from intervals.icu, all three also directly from Garmin Connect (section 4).
Abstinence and app use. In addition, each side has two switches of its own per connection, both preset to “off” — also in connections that already existed. They apply only together with “ticks” or “values”. Switching one on you confirm in a question that spells out what it includes; switching it off applies at once.
- Your abstinence rules: every abstinence rule of your season by name and with its settings (which substances) — substances, urges and the habits you give up, your own ones too, as you typed them —, per day kept or a violation and whether you answered the evening question, their entries in the season review (without the reason) and under “values” also how often you logged a substance. Without the switch they are missing from the view of your season entirely; the percentage of a season challenge and of the leaderboard counts all rules, without names.
- When you were last in the app: when you last did something for your season in the app — the evening question, fixing the day or a timer — with the time, and for each day the time its record was last kept.
Never shown, in either level: reasons, journal, notes, what you ate (a calorie or protein rule shows only the day’s total under “values”), your weight (except with its own switch below) and your blood pressure readings (a rule to weigh in or measure blood pressure only shows whether you did it), measurements, photos, blood work, habits outside the season, and anything you do not run as a rule of your season. The other person sees your streak already under “ticks”; charge, penalty zone, rank and score are computed by their app only under “values” — from the same daily values; your gold they never see. Nothing is copied: if you switch to “nothing”, the other person sees nothing of your season from that moment on, not the earlier days either.
Weight and food. Separately from the season, each side has two switches of its own per connection, both preset to “off”. Turning one on you confirm in a question that spells out what it includes; turning it off applies at once. The other person only sees days from the day you turned it on — and at most the last 90 days; if you turn it off and on again, it starts again from the new day.
- Your weight: your weigh-ins in kilograms, one value per day; their app works out the 7-day average and the change against the week before. Never: body fat, measurements, photos, your targets or your maintenance calories.
- Your food: per day your totals of calories, protein, carbohydrates and fat (today so far). Never: single meals or foods, your targets, your weight.
You can run the same season (the other person’s rules are offered to you as a template for your own start — a copy that is yours) or two different ones; what you see of each other still follows only your own choice above.
PvP (challenges). One side can challenge the other: one measure (steps — measured ones only, steps added by hand do not count —, rules of the season kept in per cent, sleep minutes as entered by hand, calories, protein, the number of training sessions, or the change of your weight in per cent), a period of 3 to 90 days (at least 14 for weight), starting tomorrow at the earliest. For weight the other side only sees the percentage since the start — never your weight in kilograms. It applies only once the other side accepts. By accepting, you show each other exactly this one number per day for exactly these days — nothing else; the sentence stands before challenging and before accepting. Either side can call off a challenge while it runs (up to its last day); after that the other person no longer sees the numbers. Once a challenge is over, its result with the numbers stays in the list for 30 days; only disconnecting removes it sooner. The level “nothing” concerns only your season, not the number of a running challenge.
Leaderboard. Under Connections you can take part in the leaderboard — it is off by default, and before you join the app names what the others see. Whoever takes part sees, per week (Monday to Sunday, finished days only), themselves and every running connection that takes part as well, with three weekly values: the average measured steps per day (steps added by hand do not count), the number of days with a training session and the share of season rules kept (and so whether someone plays a season) — plus the points and the place the app works out from them. This also applies to connections you otherwise show nothing of your season. Never the running day, never rule names, reasons, weight or food. Single days are listed nowhere — but because the running week’s averages grow day by day, someone who looks every day can work a single day out. All that is stored for it is that, and since when, you take part; the server works out the values from your daily values on every request. So that the season is right even without opening the app, the server records the last days’ record hourly for everyone who takes part. You can leave at any time: you disappear at once, from past weeks too.
You can disconnect at any time with one tap and without a reason; the other person then only sees that the connection has ended, and all challenges end. You can also block a person: this disconnects, and neither side can send the other a new invitation; the blocked person is not told. The other person is a user like you and not the operator: what you show them, you show them; the app cannot prevent them from passing it on. So show only what you would tell a person of your choice anyway.
Reporting and exclusion. If someone breaks the rules, you can report it inside the app: in the sheet of a connection (also an ended one, as long as it is in the list), on every challenge, in the preview of an invitation and, with a coach, on a plan (in the preview or taken over) and on every tip. You pick a reason (insulting or hateful, sexual, threatening or dangerous, spam or impersonation, something else), can write a remark (up to 500 characters) and can block the person at the same time if you wish. The report goes to the operator of the app (section 1) and to no one else. It contains what you see at that moment, as a snapshot that the server puts together itself — your device sends no content along: the name the reported person gave themselves; for a connection, if the person is currently showing you their season, the name of that season, the names of their rules and the block names they typed themselves in their exceptions; for a challenge the measure, direction, period, its state and who challenged whom; for an invitation the name in it; for a plan the name the coach goes by in it, title, note, the names of the routines and exercises or of the dishes with their notes and ingredients, and the note of a suggested target to you; for a tip its text and when it came. Plus your reason and your remark. The report is stored with both accounts, so that it can be assigned and disappears with a deleted account. In his view inside the app, however, the operator sees no e-mail address and no account identifier — neither yours nor the reported person’s; only if he has to ban an account altogether does he see its account and e-mail address for that purpose, in the database administration (Supabase). The reported person never learns who reported them, and as long as the operator takes no action, not even that there is a report. You can have at most 20 open reports and report the same content only once while that report is open.
The operator looks at every report inside the app within 24 hours and decides: no violation — or he excludes the person from connections. Then all their connections end, their challenges are called off and their pending invitations are withdrawn; in all their connections, ended ones included, and in other people’s blocks, their name is replaced by “…” (the others see “… ended the connection”) — because the name itself can be the violation. They can no longer invite anyone or accept an invitation; in the app they see that connections were switched off for their account after a report — not who made it. Everything else in the app remains theirs. The operator keeps the name only in the snapshot of the report and in his list of exclusions. The exclusion can be lifted; nothing comes back when it is. For a plan or a tip, the operator can instead take the coach role from the person: their plans are then withdrawn, their tips deleted, and they can no longer send plans; what others took over from them stays theirs. In serious cases the operator can ban the account altogether. For a connection, a challenge, a plan or a tip, the state of your report stands where you reported, as long as it is in your list: while the report is open, you can withdraw it there; after that you learn the outcome roughly — that action was taken, or that no violation was found. A reported invitation has no such place afterwards.
6. Cookies and local storage
The app uses no advertising or tracking cookies. Your device’s local storage holds only what is technically necessary: your sign-in session, language setting, this device’s settings (such as notifications), an invitation code not yet redeemed, cached entries for offline use (including health values and season states of the last weeks), and the local diagnostics. The app itself sends none of this anywhere. If you back up your phone to iCloud or Google, the backup may contain it, including your sign-in; Apple’s or Google’s terms apply to that.
Widget & Siri (iPhone). For the widgets on the Home and Lock Screen the app keeps a small copy on the iPhone: today’s numbers (calories, protein, steps with the week account, water), the names of your meals with yesterday’s calories (for “Meal like yesterday”), the state of a running season (day, open rules by name — without abstinence rules —, charge and streak), your training (what is next, this week’s sessions) and entries not yet sent. The copy stays on this device only, in no backup. On the lock screen the widget hides its numbers. Logging from a widget, Control Center, Siri or shortcuts works only if you switch it on under More → Settings → Devices and transfers → “Widget & Siri”: you enter your password there once, and the app signs in with it a second time. What is stored is not the password but only this second sign-in — in the iPhone’s keychain, on this device only, in no backup. That way you log water, weight or a meal like yesterday — only while the iPhone is unlocked, saved as in the app. What you say to Siri is processed by Apple under its terms. “Switch off” on the card ends the second sign-in; signing out also deletes the copy from the device.
Widgets (Android). On Android the app keeps the same small copy for its widgets on the home screen (today’s numbers, your meals with yesterday’s calories, the state of a running season without abstinence rules, your training, entries not yet sent) — in the app’s own storage, on this device only, in no backup. Logging from a widget, a Quick Settings tile or a shortcut on the app icon works only if you switch it on under More → Settings → Devices and transfers → “Widgets” — as on the iPhone, with your password once. Only the second sign-in is stored, encrypted with a key in the Android Keystore that never leaves the device. Buttons and tiles log only while the phone is unlocked; the widgets sit on the home screen only, not on the lock screen; your weight you log in the app, from there as well. “Switch off” on the card ends the second sign-in; signing out also deletes the copy from the device.
7. Retention and deletion
- Your data is kept for as long as your account exists — the app is a long-term log; history is its purpose.
- Account deletion: under More → “Settings” → “Account & help” → “Delete account …” you can delete your account permanently in two steps; before that, the app offers to download your data. This removes all entries, photos and the account itself — including your connections, challenges, blocks and reports and the connections to intervals.icu and Garmin Connect with key and token. The app deletes nothing at intervals.icu or Garmin itself.
- intervals.icu: “Disconnect intervals.icu” deletes your key and the connection state at once. Imported sessions with their heart-rate curves, the values per day and your zone sets stay in your account until you delete them or your account. What lies with intervals.icu — including zones the app wrote there — stays there; you revoke your key in the settings of intervals.icu.
- Garmin Connect: “Disconnect Garmin Connect” deletes your personal API key, the token and the connection state at once; they also go with your account. Imported daily values and sessions with their heart-rate curves stay in your account until you delete them or your account. What lies with Garmin stays there; you delete your key in Garmin Connect (Settings → Personal API), and otherwise it expires on the date you chose there.
- Markers and histories: if you delete an imported session, the app keeps its source, ID, start, day and sport so that a later fetch does not bring it back. These markers, the history of your maximum heart rate, threshold heart rate and FTP, and the log of transfers stay until your account is deleted.
- AI reading (until 24 October 2026): the app reads no pages since then. Texts read earlier stay next to their photo until you delete the photo.
- Sunday sheet: you can delete your Sunday sheets one by one at any time (in the app under More → Body → Photos); a deleted sheet is gone for the coach at once and cannot be restored. A sheet reaches the coach only while you share the weekly check-in.
- Connections and challenges are kept as long as both accounts exist; if either side deletes its account, they disappear. A block stays until you lift it or one of the two accounts is deleted; the records of your season days as long as your account and the season exist. What the other person could see of your season, they no longer see after you disconnect or switch to “nothing”; the numbers of a challenge after it is called off or you disconnect — the result of a finished challenge stays in the list for 30 days.
- Reports: an open report stays until the operator closes it or the reporting person withdraws it. Closed reports are deleted after 180 days. If the account of the reporting or of the reported person is deleted, the report goes with it.
- Exclusion from connections: stays until the operator lifts it or the account is deleted.
- Data export: before deleting, you can export your data as a file inside the app (Art. 20 GDPR — data portability), under More → “Settings” → “Account & help” — without your intervals.icu key, your Garmin Connect key with its token and the log of transfers. Photos and PDFs are not in that file: progress photos you download as a ZIP under More → Body → Photos, the journal’s photos and PDFs in the journal.
- Backups: the operator backs up the database and the photos regularly himself, encrypted, in his Google account (Google Drive; section 5, “Google”). Each backup is deleted after four weeks; the latest one stays until a new one has succeeded. After an account deletion your data is only left in these backups and disappears with them. The hosting provider itself keeps no backups.
- Server logs: the hosting providers delete their logs (such as accesses with IP address and time, error messages) automatically, Vercel and Supabase after at most one day. Resend keeps the sending log of the e-mails for 30 days (section 5).
8. Your rights
Under the GDPR you have the right to access (Art. 15), rectification (Art. 16), erasure (Art. 17 — available in-app at any time), restriction of processing (Art. 18), data portability (Art. 20 — via in-app export), objection to processing based on legitimate interests (Art. 21), and to withdraw consent with future effect (Art. 7(3)). To exercise these rights, simply e-mail the address above. You also have the right to lodge a complaint with a supervisory authority — for the controller this is the State Commissioner for Data Protection and Freedom of Information of Baden-Württemberg, Germany; you may also contact the authority of your place of residence.
9. Data security
All connections are encrypted in transit (TLS). Database-level row security strictly limits access to your own account. What the coach or a connected person sees is handed out by dedicated functions that deliver exactly what was shared — no access rule opens other people’s rows. Photos live in private buckets, retrievable only via short-lived signed URLs; only for the weekly check-in may the coach’s account open the progress photos you share with him — checked again on every request, and only while the share applies. Once saved, your intervals.icu key cannot be read by the app again; only the function that fetches from intervals.icu reads it. The same holds for your personal Garmin Connect key and the token: the app cannot read either; only the function that fetches from Garmin reads them. Passwords are stored as hashes only.
10. Minimum age
Sandevistan is intended for persons aged 16 or older. It is not meant for younger persons; when you sign up, you confirm that you are at least 16.
11. Changes to this policy
This policy is updated when the app or its services change. The current version is always available at this address; the date above indicates the revision.