DatenschutzerklärungPrivacy Policy

DecisionEngine — iOS App · Stand: 2026-10-24Last updated: 2026-10-24 · Version 1.3

Kurzversion: DecisionEngine berechnet alles auf deinem Gerät. Wir betreiben keinen eigenen Server, der deine Gesundheits- oder Trainingsdaten empfängt oder speichert (einzige Ausnahme: eine reine Weiterleitungsseite bei der Anmeldung bei einigen Diensten, siehe Abschnitt 4). Es gibt keine Cloud-Synchronisation, keine Analyse-SDKs und kein Tracking. Deine Gesundheitsdaten werden nicht an uns übertragen. Es gibt wenige Wege, auf denen etwas dein iPhone verlässt; sie sind nach unserem Kenntnisstand in Abschnitt 4 aufgeführt – die meisten nur, wenn du sie einschaltest.

Short version: DecisionEngine computes everything on your device. We operate no server of our own that receives or stores your health or training data (the one exception: a plain redirect page used when signing in to some services, see section 4). There is no cloud sync, no analytics SDK, and no tracking. Your health data is never transmitted to us. There are only a few ways in which anything leaves your iPhone; to the best of our knowledge they are all listed in section 4 – most of them only if you switch them on.

KontaktContact [email protected]

1. Verantwortliche Stelle

Michael Rohr E-Mail: siehe Kontaktbox oben

Wenn du uns schreibst. Wenn du an [email protected] schreibst, verarbeiten wir deine E-Mail-Adresse und den Inhalt deiner Nachricht, um dir zu antworten und die Anfrage zu dokumentieren (berechtigtes Interesse, Art. 6 Abs. 1 lit. f DSGVO). Die Nachrichten liegen im Postfach bei unserem E-Mail-Anbieter (Purelymail), solange sie dafür gebraucht werden. Wir löschen sie nicht automatisch, du kannst aber jederzeit verlangen, dass wir sie löschen. Wir geben sie nicht an Dritte weiter.

2. Grundsatz: Zero-Egress / Local-first

DecisionEngine ist nach dem Local-first-Prinzip entwickelt. Das bedeutet:

3. Welche Daten werden verarbeitet?

3.1 Gesundheits- und Fitnessdaten (HealthKit)

DecisionEngine liest mit deiner ausdrücklichen Erlaubnis Daten aus der Apple Health App. Zwei Dinge vorweg, weil sie für alles Folgende gelten:

Rechtsgrundlage. Gesundheitsdaten sind eine besondere Kategorie personenbezogener Daten. Die App liest sie nur mit deiner ausdrücklichen Einwilligung aus Apple Health (Art. 6 Abs. 1 lit. a und Art. 9 Abs. 2 lit. a DSGVO sowie die entsprechenden Bestimmungen des Schweizer Datenschutzgesetzes), die du pro Datenkategorie in Apple Health erteilst und dort jederzeit widerrufen kannst. Weil die Daten auf deinem Gerät bleiben, erhalten oder speichern wir sie nicht. Bei verbundenen Diensten ist die Rechtsgrundlage deine Einwilligung beim Verbinden des Dienstes; du kannst sie widerrufen, indem du die Verbindung trennst.

Vollständige Liste dessen, was die App anfragt:

DatenkategorieWofür
Herz, Kreislauf, Atmung: Herzfrequenz, Ruhepuls, Herzfrequenzvariabilität (SDNN), Gehpuls, Herzfrequenz-Erholung nach Belastung, Sauerstoffsättigung, Atemfrequenz, VO₂maxTägliche Erholungsbereitschaft, Belastungsverträglichkeit
Schlaf: Schlafanalyse, Handgelenktemperatur im Schlaf, Atemstörungen im Schlaf (ab iOS 18)Erholungsindikatoren
Aktivität und Energie: Schritte, aktive Energie, Grundumsatz, Geh-/Lauf-, Rad- und SchwimmdistanzAktivitätsniveau, Tagesbelastung
Trainingseinheiten: Workouts (Art, Dauer, Distanz, Intensität) sowie deren GPS-RoutenTrainingsbelastung (ACWR); die Route liefert Karte und Höhenprofil im Verlauf und dient als Ortsbezug, um einer vergangenen Einheit nachträglich das Wetter zuzuordnen
Lauf- und Radmetriken: Leistung (Watt) beim Rad und beim Lauf, Trittfrequenz, Geschwindigkeit, Bodenkontaktzeit, Schrittlänge, vertikale Oszillation, GangasymmetrieFormanalyse, Intensitätssteuerung
Körpermasse: Gewicht, BMI, Körperfettanteil, Magermasse, Körpergrösse, TaillenumfangAthletenprofil, Leistung pro Kilogramm
Profildaten: Geburtsdatum, biologisches GeschlechtAltersbezogene Herzfrequenzbereiche und physiologische Normwerte
Krankheitssymptome: Fieber, Schüttelfrost, Erschöpfung, Husten, Halsschmerzen, Kurzatmigkeit, Schnupfen, Nebenhöhlenbeschwerden, Kopfschmerzen, Geruchsverlust, GeschmacksverlustSicherheitslogik — die App nimmt das Training zurück, wenn Krankheitszeichen vorliegen
Mentales Befinden: Achtsamkeitsminuten, subjektives Befinden („State of Mind", ab iOS 18)Stress- und Erholungskontext
Sonstiges: Anzahl alkoholischer GetränkeEinfluss auf Schlafqualität und Erholung

Ausdrücklich NICHT angefragt — auch dann nicht, wenn die Daten in Apple Health liegen: Zyklus- und Menstruationsdaten (im August 2026 bewusst aus der Berechtigungsliste entfernt), Blutdruck, Blutzucker, EKG, klinische Befunde (Health Records), Ernährungs- und Trinkdaten, Hörbelastung.

Verwendung:

3.2 Verbundene Trainings-Provider (OAuth)

Optional kannst du externe Plattformen verbinden. Keine dieser Verbindungen ist nötig, um die App zu benutzen, und jede einzelne wird von dir per OAuth beim jeweiligen Anbieter freigegeben. In der App angelegt sind:

Je nach Anbieter kommen dabei über die Trainingsdaten hinaus weitere Gesundheitswerte herein, zum Beispiel Schlafwerte und Schlafscores, Herzfrequenzvariabilität, Erholungs- und Belastungsindizes (etwa WHOOP-Strain, Polar Cardio Load), Hauttemperatur-Abweichungen, Sauerstoffsättigung, Atemfrequenz, Stresswerte sowie — bei Withings-Geräten — Blutdruck, Körperfettanteil und Körpertemperatur. Welche Werte ein Anbieter konkret liefert, zeigt die App vor dem Verbinden in einem eigenen Hinweisblatt an.

3.3 Ziele und Athletenprofil

Daten wie Wettkampfziele, Sportzugehörigkeit und persönliche Einstellungen werden in einer lokalen SwiftData-Datenbank und in den App-Einstellungen auf dem Gerät gespeichert. Keine Cloud-Synchronisation, kein iCloud-Backup via unsere Infrastruktur (iCloud-Backup durch Apple selbst liegt in deiner Kontrolle über die iOS-Einstellungen).

3.4 Was die App nicht erhebt

DecisionEngine erhebt keine der folgenden Datenkategorien:

Zur Unterscheidung von Geräten führt die App eine anonyme Installations-Kennung im Keychain. Sie ist zufällig, hängt an keiner Person und wird nirgendwohin übertragen. Sie überlebt bewusst eine App-Löschung, damit eine Neuinstallation auf demselben Gerät deine bestehende Historie wiederfindet (siehe Abschnitt 5 zur vollständigen Löschung).

Zum Standort — hier war diese Erklärung früher zu pauschal: Die App liest GPS-Routen deiner Trainings aus Apple Health (Abschnitt 3.1) und verarbeitet einen Ortsbezug für das Wetter. Was genau passiert und was davon das Gerät verlässt, steht in Abschnitt 3.6.

3.5 On-Device-KI und lokales Lernen

DecisionEngine nutzt Apple Intelligence (FoundationModels) sowie lokale Machine-Learning-Modelle, um Empfehlungen zu erklären und Texte zu erzeugen (z. B. Trainings-Begründungen, Wochenrückblicke, Auswertung freier Notizen). Dabei gilt:

3.6 Standort und Wetter

Wetter beeinflusst die Empfehlung (Hitze, Kälte, Wind). Dafür verarbeitet die App einen Ortsbezug — an vier Stellen, alle hier genannt:

3.7 Diagnose-Export

In den Einstellungen kannst du ein Diagnose-Paket erzeugen und über das iOS-Teilen-Menü verschicken. Es enthält technische Absturz- und Systemdaten, aktive Funktionsschalter sowie Geräte- und Versionsangaben — keine Gesundheitsdaten, keine E-Mail-Adresse, keine Kennungen. Der Versand geschieht nur, wenn du ihn auslöst; es gibt keinen automatischen Upload.

3.8 Benachrichtigungen und Abonnement

Benachrichtigungen der App sind rein lokal — die App ist bei keinem Push-Dienst registriert, es gibt keinen Server, der dir etwas schickt. Ein Abonnement wird über Apple StoreKit abgewickelt; Kauf und Zahlung liegen bei Apple, die App erfährt nur, ob eine Berechtigung aktiv ist.

4. Datenweitergabe — was dein Gerät verlässt

DecisionEngine gibt keine Daten an Werbepartner, Datenbroker, Analyse-Dienste oder Marktforschungsunternehmen weiter. Wir betreiben keinen eigenen Server, der deine Gesundheits- oder Trainingsdaten empfängt oder speichert. Die einzige von uns bereitgestellte Stelle im Netz ist die Anmelde-Weiterleitung (siehe Tabelle): eine statische Seite, die nichts speichert und von GitHub ausgeliefert wird.

Trotzdem wäre es falsch zu behaupten, es verlasse nie etwas dein Gerät. Nach unserem Kenntnisstand sind das diese Wege:

WegWas geht hinausWann
Verbundene Provider anmelden und abfragenDeine Zugangsberechtigung (Token) und die Abfrage selbst — die Daten fliessen dabei herein. Zur Anmeldung gehört die Weiterleitung (siehe nächste Zeile), beim Trennen der Widerruf des Zugangs, soweit der Anbieter einen anbietet. Einzelne Dateien (z. B. Wahoo-Trainingsdateien) lädt die App von einem vorsignierten Speicher-Link, auf den die Antwort des Anbieters verweist; dieser Speicher-Host ist nicht fest vorgegeben und kann je nach Anbieter ein Cloud-Speicherdienst sein.Nur wenn du einen Provider verbunden hast
Anmelde-Weiterleitung (Strava, Wahoo, Hammerhead, Withings, COROS)Der Anbieter leitet deinen Browser nach der Anmeldung auf eine statische Seite, die wir bei GitHub Pages bereitstellen (michaelrohr.github.io). In der Adresse stehen ein einmaliger Autorisierungscode und ein Statuswert. Die Seite enthält nur ein Skript, das sofort an die App weiterleitet, und speichert nichts. Ausgeliefert wird sie von GitHub (Microsoft, USA), das den Abruf technisch verarbeitet (z. B. IP-Adresse und Zeitpunkt); dafür gilt die Datenschutzerklärung von GitHub.Nur beim Anmelden bei diesen fünf Diensten
Geplantes Training an einen Dienst senden (intervals.icu, Wahoo, Hammerhead, COROS)Das geplante Workout: Sportart, Datum, Dauer, Struktur, Titel und der Begründungstext der App. Dieser Text kann einen Gesundheitsbezug enthalten — etwa den Hinweis, dass eine Einheit nach einer Krankheit oder Verletzung vorsichtiger angesetzt ist.Nur nach deiner Freigabe. Bei intervals.icu und COROS über einen Schalter in den Einstellungen, der ab Werk aus ist; ist er an, wird bei jeder Neuberechnung automatisch gesendet. Bei Wahoo und Hammerhead nur, wenn du das Training aktiv an das Gerät sendest.
Wetter bei Apple abrufenEine auf 0,01° (etwa 1 km) gerundete Koordinate und die volle Stunde (abgefragt wird ein Fenster von ±30 Minuten um diese Stunde)Automatisch, für Trainings im Freien ohne Wetterwert und, sobald du einen Standard-Trainingsort gesetzt hast, auch für Trainings drinnen ohne Wetterwert (siehe 3.6)
Kartenansicht in der Aktivitätsdetail-Ansicht (Apple Karten)iOS lädt für den angezeigten Kartenausschnitt Kartenkacheln bei Apple. Die Streckenlinie zeichnet die App auf dem Gerät über die Karte; wir übertragen keine Streckendatei. Welche technischen Angaben iOS dabei sendet, bestimmt Apple.Automatisch beim Öffnen einer Einheit mit GPS-Route (siehe 3.6)
Polar-RegistrierungEine anonyme Kennung, die Polar für den Zugang verlangtEinmalig beim Verbinden von Polar
Was du selbst teilstDiagnose-Paket, Datenexport, Trainingsdatei (TCX/GPX), Teilen-Karten (Wochenrückblick, Ziel-Bereitschaft) und Texte (Statistik- und Kraft-Export) — an das Ziel, das du im Teilen-Menü wählstNur auf deinen Tap

Anbieter ausserhalb der EU, des EWR und der Schweiz. Einige der oben genannten Wege führen zu Anbietern ausserhalb der EU, des EWR und der Schweiz — zum Beispiel zu Apple (Wetter, Karten), zu GitHub (Anmelde-Weiterleitung, USA) und, wenn du sie verbindest, zu Diensten wie WHOOP oder Wahoo. Solche Übermittlungen gehen direkt von deinem Gerät an den Anbieter, den du gewählt hast, und richten sich nach dessen Datenschutzbedingungen und Garantien für Datenübermittlungen; sie laufen — mit Ausnahme der oben genannten Anmelde-Weiterleitung — über keinen Server von uns.

Nicht enthalten und es gibt sie auch nicht: keine Übertragung gemessener Herzfrequenz-, HRV-, Schlaf-, Symptom- oder Körperwerte an irgendjemanden (in geplanten Einheiten stehen nur Zielwerte, z. B. Herzfrequenzzonen); keine Telemetrie; keine Lernbeispiele der KI (das Lernen findet vollständig auf dem Gerät statt); kein Cloud-Backup durch uns.

5. Datenspeicherung und Löschung

6. Minderjährige

Die App richtet sich an Personen ab 16 Jahren. Wir erheben wissentlich keine Daten von Kindern unter 16 Jahren.

7. Deine Rechte

Da alle Daten ausschliesslich lokal auf deinem Gerät gespeichert sind, hast du jederzeit vollständige Kontrolle:

Für Fragen: siehe Kontaktbox oben

8. Änderungen dieser Erklärung

Bei wesentlichen Änderungen der Datenpraktiken — insbesondere wenn zukünftig Netzwerkkommunikation oder Backend-Funktionen eingeführt werden — wird diese Erklärung aktualisiert und das Datum oben angepasst. Wesentliche Änderungen werden in der App kommuniziert.

9. Diese Website

Die Abschnitte 2–8 beschreiben die App. Für die Website (die Seite, die du gerade liest) gilt zusätzlich:

9.1 Hosting (Cloudflare)

Die Website wird über Cloudflare Pages (Cloudflare, Inc., USA) ausgeliefert. Beim Abruf verarbeitet Cloudflare technisch notwendige Verbindungsdaten (u. a. IP-Adresse, Zeitpunkt, abgerufene Ressource) zur Bereitstellung und zum Schutz der Seite. Wir selbst betreiben keinen Server und führen keine eigenen Zugriffsprotokolle. Details: Datenschutzerklärung von Cloudflare.

9.2 Cookies und Reichweitenmessung

Die Website setzt keine Cookies und legt nichts zu deiner Wiedererkennung auf deinem Gerät ab. Zur Reichweitenmessung nutzen wir Cloudflare Web Analytics (Cloudflare, Inc., USA), ein cookieloses Messverfahren ohne Geräte-Fingerprinting und ohne seitenübergreifende Profile. Erfasst werden zusammengefasst Seitenaufrufe, Referrer, Land sowie Browser- und Gerätetyp — keine Auswertung einzelner Personen. Rechtsgrundlage ist unser berechtigtes Interesse an einer Reichweitenmessung (Art. 6 Abs. 1 lit. f DSGVO). Es gibt keine Werbe- und keine weiteren Tracking-Dienste. Deine Wahl von Theme (hell/dunkel) und Sprache wird ausschliesslich lokal in deinem Browser gespeichert (localStorage) und nirgendwohin übertragen.

1. Data Controller

Michael Rohr Email: see contact box above

If you write to us. If you email [email protected], we process your email address and the content of your message to answer you and to document the request (legitimate interest, Art. 6(1)(f) GDPR). The messages are kept in the mailbox at our email provider (Purelymail) for as long as needed for this purpose. We do not delete them automatically, but you can ask us at any time to delete them. We do not share them with third parties.

2. Core Principle: Zero-Egress / Local-first

DecisionEngine is built on a local-first architecture. This means:

3. What Data Is Processed?

3.1 Health and Fitness Data (HealthKit)

DecisionEngine reads data from the Apple Health app with your explicit permission. Two things up front, because they apply to everything below:

Legal basis. Health data is a special category of personal data. The app reads it from Apple Health only with your explicit consent (Art. 6(1)(a) and Art. 9(2)(a) GDPR, and the corresponding provisions of the Swiss Federal Act on Data Protection), which you give per data category in Apple Health and can withdraw at any time there. Because the data stays on your device, we do not receive or store it. For connected services the basis is your consent when you connect the service; you can withdraw it by disconnecting.

The complete list of what the app requests:

Data categoryWhat for
Heart, circulation, breathing: heart rate, resting heart rate, heart-rate variability (SDNN), walking heart rate, heart-rate recovery after exertion, blood-oxygen saturation, respiratory rate, VO₂maxDaily recovery readiness, tolerance for load
Sleep: sleep analysis, wrist temperature during sleep, breathing disturbances during sleep (iOS 18+)Recovery indicators
Activity and energy: steps, active energy, basal energy, walking/running, cycling and swimming distanceActivity level, daily load
Workouts: workouts (type, duration, distance, intensity) and their GPS routesTraining load (ACWR); the route provides the map and elevation profile in your history and serves as the location reference for retroactively attaching weather to a past session
Running and cycling metrics: cycling and running power (watts), cadence, speed, ground-contact time, stride length, vertical oscillation, walking asymmetryForm analysis, intensity guidance
Body measurements: weight, BMI, body-fat percentage, lean body mass, height, waist circumferenceAthlete profile, power-to-weight
Profile data: date of birth, biological sexAge-based heart-rate ranges and physiological reference values
Illness symptoms: fever, chills, fatigue, coughing, sore throat, shortness of breath, runny nose, sinus congestion, headache, loss of smell, loss of tasteSafety logic — the app pulls training back when signs of illness are present
Mental wellbeing: mindful minutes, subjective state of mind (iOS 18+)Stress and recovery context
Other: number of alcoholic beveragesEffect on sleep quality and recovery

Explicitly NOT requested — not even when the data exists in Apple Health: cycle and menstruation data (deliberately removed from the permission set in August 2026), blood pressure, blood glucose, ECG, clinical records (Health Records), nutrition and hydration data, audio exposure.

How it's used:

3.2 Connected Training Providers (OAuth)

You can optionally connect external platforms. None of these connections is required to use the app, and each one is authorised by you via OAuth at the provider. Present in the app:

Depending on the provider, data beyond workouts comes in as well: sleep values and sleep scores, heart-rate variability, recovery and strain indices (e.g. WHOOP strain, Polar Cardio Load), skin-temperature deviations, blood-oxygen saturation, respiratory rate, stress values and — with Withings devices — blood pressure, body-fat percentage and body temperature. The app shows you which values a specific provider supplies on a dedicated sheet before you connect.

3.3 Goals and Athlete Profile

Data such as race goals, sport preferences, and personal settings are stored in a local SwiftData database and in the app's settings on your device. No cloud sync, no iCloud backup via our infrastructure (iCloud backup by Apple is under your control via iOS settings).

3.4 What the App Does Not Collect

DecisionEngine does not collect any of the following:

To distinguish installations the app keeps an anonymous install identifier in the Keychain. It is random, tied to no person, and transmitted nowhere. It deliberately survives an app deletion, so a reinstall on the same device finds your existing history again (see section 5 for complete deletion).

On location — this policy used to be too sweeping here: the app reads the GPS routes of your workouts from Apple Health (section 3.1) and processes a location reference for weather. What exactly happens, and what of it leaves the device, is described in section 3.6.

3.5 On-Device AI and Local Learning

DecisionEngine uses Apple Intelligence (FoundationModels) and local machine-learning models to explain recommendations and generate text (e.g. training rationales, weekly recaps, parsing of free-text notes). For this:

3.6 Location and Weather

Weather affects the recommendation (heat, cold, wind). For this the app processes a location reference — in four places, all named here:

3.7 Diagnostics Export

In Settings you can generate a diagnostics bundle and send it via the iOS share sheet. It contains technical crash and system data, active feature flags, and device/version information — no health data, no email address, no identifiers. It is sent only when you initiate it; there is no automatic upload.

3.8 Notifications and Subscription

The app's notifications are purely local — the app is registered with no push service, and there is no server that sends you anything. A subscription is handled through Apple StoreKit; purchase and payment sit with Apple, and the app only learns whether an entitlement is active.

4. Data Sharing — What Leaves Your Device

DecisionEngine shares no data with advertising partners, data brokers, analytics services, or market research companies. We operate no server of our own that receives or stores your health or training data. The only place online that we provide is the sign-in redirect (see the table): a static page that stores nothing and is delivered by GitHub.

Even so, it would be wrong to claim that nothing ever leaves your device. To the best of our knowledge, these are the paths:

PathWhat goes outWhen
Signing in to and querying a connected providerYour access token and the request itself — the data flows inward. Signing in includes the redirect (see next row); disconnecting includes revoking the access, where the provider offers that. Individual files (e.g. Wahoo workout files) are downloaded by the app from a pre-signed storage link that the provider's response points to; that storage host is not fixed and may be a cloud storage service, depending on the provider.Only if you connected a provider
Sign-in redirect (Strava, Wahoo, Hammerhead, Withings, COROS)After you sign in, the provider sends your browser to a static page that we host on GitHub Pages (michaelrohr.github.io). The address carries a one-time authorisation code and a state value. The page contains only a script that immediately forwards to the app, and stores nothing. It is delivered by GitHub (Microsoft, USA), which technically processes the request (e.g. IP address and time); GitHub's privacy policy applies to that.Only when signing in to these five services
Sending a planned session to a service (intervals.icu, Wahoo, Hammerhead, COROS)The planned workout: sport, date, duration, structure, title and the app's rationale text. That text can carry a health reference — for instance a note that a session is set more cautiously after an illness or injury.Only with your consent. For intervals.icu and COROS via a Settings toggle that is off by default; when on, sending happens automatically on every recalculation. For Wahoo and Hammerhead only when you actively push the session to the device.
Weather lookup at AppleA coordinate rounded to 0.01° (about 1 km) and the top of the hour (the request covers a window of ±30 minutes around that hour)Automatically, for outdoor sessions with no weather value and, once you have set a default training location, also for indoor sessions with no weather value (see 3.6)
Map view in the activity detail screen (Apple Maps)iOS loads map tiles from Apple for the visible map area. The app draws the route line on your device over the map; we transmit no route file. Which technical details iOS sends in doing so is determined by Apple.Automatically when you open a session with a GPS route (see 3.6)
Polar registrationAn anonymous identifier Polar requires for accessOnce, when connecting Polar
What you share yourselfDiagnostics bundle, data export, workout file (TCX/GPX), share cards (weekly recap, race readiness) and texts (statistics and strength export) — to whichever destination you pick in the share sheetOnly on your tap

Providers outside the EU/EEA/Switzerland. Some of the paths above lead to providers outside the EU/EEA/Switzerland — for example Apple (weather, maps), GitHub (sign-in redirect, USA) and, if you connect them, services such as WHOOP or Wahoo. Such transfers go from your device directly to the provider you chose and are governed by that provider's privacy terms and transfer safeguards; with the exception of the sign-in redirect mentioned above, they do not pass through any server of ours.

Not included, and not existing at all: no transmission of measured heart-rate, HRV, sleep, symptom, or body values to anyone (planned sessions contain only target values, e.g. heart-rate zones); no telemetry; no AI training samples (learning happens entirely on-device); no cloud backup by us.

5. Data Retention and Deletion

6. Minors

The app is intended for users aged 16 and over. We do not knowingly collect data from children under 16.

7. Your Rights

Since all data is stored exclusively locally on your device, you have full control at all times:

For questions: see contact box above

8. Changes to This Policy

If the data practices change materially — in particular if network communication or backend features are introduced in the future — this policy will be updated and the date at the top revised. Material changes will be communicated within the app.

9. This Website

Sections 2–8 describe the app. For the website (the page you are reading right now), the following applies in addition:

9.1 Hosting (Cloudflare)

This website is served via Cloudflare Pages (Cloudflare, Inc., USA). When you access it, Cloudflare processes technically necessary connection data (including IP address, time of access, requested resource) to deliver and protect the site. We do not operate a server of our own and keep no access logs ourselves. Details: Cloudflare privacy policy.

9.2 Cookies and Audience Measurement

This website sets no cookies and stores nothing on your device to recognise you. For audience measurement we use Cloudflare Web Analytics (Cloudflare, Inc., USA), a cookie-free measurement method without device fingerprinting and without cross-site profiles. It records aggregated page views, referrer, country, and browser and device type — no evaluation of individual people. The legal basis is our legitimate interest in measuring reach (Art. 6(1)(f) GDPR). There are no advertising or other tracking services. Your theme (light/dark) and language choice are stored locally in your browser only (localStorage) and are never transmitted anywhere.