Privacy Policy
Effective date: 12 June 2026
This privacy policy explains, in accordance with Articles 13 and 14 GDPR, how personal data is processed when you use the mobile application CarbSense (iOS, Android, Apple Watch companion).
1. Controller
The controller under the GDPR is:
Prim73 – Sole Proprietorship
Imanuel Richter
Nelkenweg 11
76356 Weingarten (Baden)
Germany
Email: contact@prim73.com
Full legal notice: Impressum.
A data protection officer is not legally required and has not been appointed.
2. Definitions
Terms used here follow the definitions in Article 4 GDPR, in particular "personal data" (Art. 4(1)), "processing" (Art. 4(2)) and "special categories of personal data" — which include the health data that CarbSense processes (Art. 9(1) GDPR).
3. Categories of data we process
3.1 Account data
- Email address, name (optional), email verification status
- User identifier — either a UUID (legacy accounts created before the Auth0 migration) or an Auth0 subject identifier such as
auth0|…,google-oauth2|…orapple|…for accounts created or migrated to Auth0 - Credentials: for legacy accounts, a bcrypt-hashed password stored by CarbSense; for Auth0-managed accounts, credentials are held by the identity provider (Auth0 / Okta) and the plaintext password is only transmitted via TLS during sign-up, sign-in and password change, never persisted by CarbSense — see §5.2
- For accounts created or linked via Sign in with Apple or Google Sign-In: the pseudonymous provider subject identifier returned by the provider, used to associate subsequent sign-ins with the same CarbSense account
- Session tokens: JWT (HS256) issued by the CarbSense backend for legacy sessions; ID, access and refresh tokens issued by Auth0 for Auth0-managed sessions
- Creation and update timestamps
3.2 Health data (Art. 9 GDPR)
- Blood glucose readings (value, unit, timestamp, trend)
- Blood ketone readings you enter manually (value in mmol/L, timestamp)
- Meals (name, time, carbohydrates, ingredients, nutrients)
- Insulin/bolus handlings (time, amount, type, original insulin units, the insulin-to-carb ratio (ICR), insulin sensitivity factor (ISF) and insulin duration of action that were active at the time of dosing, and an optional insulin family tag)
- Basal insulin delivery segments (delivery rate and time span) imported from your insulin pump's data platform, where you have connected one. They sync to the CarbSense backend like other health data so they are available across your devices.
- Health-related timeline events (type — for example a sickness period or physical activity — with start and end time and an optional note). Sickness periods are recorded automatically when you end the sick/ketone mode and can also be added or edited manually; they are used, for example, to exclude illness-affected days from therapy analyses. They sync to the CarbSense backend like other health data so they are available across your devices.
- Optional meal-entry context signals you actively toggle when logging a meal (planned or recent physical activity with rough timing and intensity, alcohol with the meal, illness, stress). They are stored with the meal, synced like other meal data, and used on-device to adjust the advisory forecast preview and entry suggestions.
- Therapy parameters (therapy type, pump model, time-banded insulin-to-carb ratios, correction factors and target glucose values, hypo/critical-hypo/hyper thresholds, insulin duration and peak time, carb absorption rate, related reminder thresholds, and sick-day settings — per-ketone-tier insulin adjustment percentages, sick/ketone mode state, body weight and daily energy need used to calculate the required carb intake while sick). These settings are stored on your device by default and additionally synced to the CarbSense backend so they are available across your devices.
3.3 Product and inventory data
- Scanned barcodes, product names, nutrition facts, NOVA classification, product images
- Inventory entries (quantity, purchase date, storage location, and for CGM sensors: serial number, type, wear period, replacement requests)
3.4 Device and usage data
- Firebase Installation ID (pseudonymous device identifier)
- App version, platform (iOS/Android/watchOS), bundle ID
- User-Agent header on API requests
- Push token (APNs) for Apple Watch Live Activities
3.5 Content you actively provide
- Photos of food (for AI analysis, not permanently stored)
- Text queries (e.g. product search)
- Companion relationships (caregiver/relative links)
3.6 Payment and subscription data
In-app subscriptions are contracted and processed solely by the platform operators (Apple App Store, Google Play Store). We do not see or store any payment details. RevenueCat is used for subscription management (see Section 5).
4. Purposes and legal bases
| Purpose | Data | Legal basis |
|---|---|---|
| Account creation and authentication | Account data | Art. 6(1)(b) GDPR (contract performance) |
| Logging and syncing meals, glucose, inventory | Health data | Art. 9(2)(a) GDPR (explicit consent at sign-up) |
| Cross-device sync of therapy parameters | Health data (therapy settings) | Art. 9(2)(a) GDPR (explicit consent at sign-up) |
| Barcode scanning and product lookup | Barcode, text | Art. 6(1)(b) GDPR |
| AI-based food recognition | Photo, text | Art. 6(1)(a) GDPR (consent per request via deliberate use) |
| Push notifications (Live Activities) | Push token, glucose values | Art. 6(1)(a) GDPR (consent via system dialog) |
| Companion sharing to caregivers | Patient health data | Art. 9(2)(a) GDPR (explicit consent of sharing party) |
| Subscription validation and entitlement status | RevenueCat identifier | Art. 6(1)(b) GDPR |
| Application stability, troubleshooting, remote config | Installation ID, device metadata | Art. 6(1)(f) GDPR (legitimate interest in secure, operational service) |
| Compliance with legal obligations | all | Art. 6(1)(c) GDPR |
You may withdraw any consent at any time with effect for the future (see Section 9).
5. Services and recipients
We rely on processors (Art. 28 GDPR) and independent controllers. Data-processing agreements or EU Standard Contractual Clauses are in place with all processors.
5.1 Hosting and backend — Amazon Web Services (AWS)
- Provider: Amazon Web Services EMEA SARL, 38 avenue John F. Kennedy, L-1855 Luxembourg
- Services: Lambda, DynamoDB, SNS, SES, SSM Parameter Store
- Region: EU (Frankfurt)
- Purpose: Storage and processing of all account and health data; sending system emails (e.g. password reset); forwarding push notifications to Apple APNs
5.2 Authentication — Auth0 (Okta)
- Provider: Okta, Inc. (operating Auth0), 100 First Street, San Francisco, CA 94105, USA, with EU operations through Auth0 EMEA Limited, 6th Floor, 1 Cumberland Place, Fenian Street, Dublin 2, Ireland
- Region: EU tenant (Frankfurt / Dublin)
- Purpose: Email/password and social (Apple, Google) authentication, issuance and verification of session tokens (ID, access, refresh)
- Transmitted: email address, name (if provided), password during sign-up / sign-in / password change (TLS-only, never persisted by CarbSense), Auth0 user identifier (
sub) - Transfer basis: EU Standard Contractual Clauses; tenant data residency is EU
- Status: integrated into the backend; activation per environment is gated behind the full set of Auth0 tenant + Management API credentials (
AUTH0_DOMAIN,AUTH0_CLIENT_ID,AUTH0_MGMT_CLIENT_ID,AUTH0_MGMT_CLIENT_SECRET) being configured for that stage. Until all four are present the backend keeps using the legacy bcrypt/JWT path. Once configured, registration and login go exclusively through Auth0; existing user passwords are bulk-imported (as bcrypt hashes) into Auth0 by the migration step beforehand, so previously registered users can keep signing in with the same credentials. Legacy refresh tokens issued before activation remain accepted until they expire.
5.3 Push delivery — Apple APNs
- Provider: Apple Distribution International Ltd., Hollyhill Industrial Estate, Hollyhill, Cork, Ireland
- Purpose: Delivery of Live Activity updates to iPhone and Apple Watch
- Data flow: Glucose value and timestamp are transmitted in the push payload to APNs and delivered immediately to the device (no persistent storage at Apple).
5.4 Remote Config and Installations — Firebase
- Provider: Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ireland (with onward transfer to Google LLC, USA)
- Services: Firebase Remote Config, Firebase Installations
- Purpose: Feature flag rollout, pseudonymous device identifier
- Note: Firebase Analytics and Crashlytics are NOT used.
5.5 Subscription management — RevenueCat
- Provider: RevenueCat, Inc., 246 Russ Street, San Francisco, CA 94103, USA
- Purpose: Validation and management of in-app subscriptions, virtual credits for AI features
- Transmitted: pseudonymous user ID, subscription status, platform
- Transfer basis: EU-U.S. Data Privacy Framework or Standard Contractual Clauses
5.6 AI food analysis — Anthropic (Claude) and Google (Gemini)
AI requests are sent to the CarbSense backend (AWS), which forwards them to the appropriate AI provider; they are no longer sent to a third-party AI provider directly from the device. Text queries are processed by Anthropic; food and recipe photos are processed by Google.
- Provider (text): Anthropic, PBC, 548 Market Street, PMB 90375, San Francisco, CA 94104, USA
- Purpose: Analysis of text food queries to detect dishes and nutrient values
- Transmitted: text query — no account data
- Retention: Per Anthropic's commercial API terms, data is not used for model training and is deleted after at most 30 days.
- Provider (images): Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA
- Purpose: Analysis of uploaded food and recipe photos to detect dishes and nutrient values
- Transmitted: photo (Base64, pseudonymous) — no account data
- Retention: Per Google's Gemini API (paid services) terms, data is not used to train Google's models and is retained only transiently for abuse monitoring.
- Transfer basis: EU-U.S. Data Privacy Framework or Standard Contractual Clauses
5.7 Product database — Open Food Facts
- Provider: Open Food Facts, 21 rue des Iris, 77700 Bailly-Romainvilliers, France (non-profit)
- Purpose: Retrieval of public product information by barcode
- Transmitted: barcode, no user identifier
5.8 Optional Nightscout integration
- Provider: the user's own self-hosted Nightscout instance (URL and API secret entered in app settings).
- Purpose: Read blood-glucose readings from Nightscout and write meal/insulin treatments back to it. The integration is opt-in and disabled by default.
- Transmitted: glucose values, carb amounts, insulin doses, meal names, timestamps. No account data is sent to Nightscout.
- Recipient: whichever hosting provider the user has chosen for their Nightscout instance — this is outside the app developer's control. Users are responsible for the security and lawful operation of their own Nightscout server.
- Storage of credentials: the Nightscout URL and API secret are stored only on the user's device (in the operating system's local app storage) and are never transmitted to the CarbSense backend.
5.9 App stores
- Apple App Store (Apple Distribution International Ltd., Ireland) and Google Play Store (Google Ireland Limited, Ireland) handle installation, updates, and payment. Their privacy notices apply independently.
6. International data transfers
Some services listed in Section 5 process data in the United States. Transfers are based on:
- The European Commission's adequacy decision for the EU-U.S. Data Privacy Framework (Google LLC, Anthropic, RevenueCat, Apple — where certified), or
- Standard Contractual Clauses of the European Commission pursuant to Art. 46(2)(c) GDPR, with supplementary technical and organisational measures.
Despite these safeguards, the level of data protection in the US is not guaranteed to match that of the EU; US authorities may in theory request access.
7. Retention periods
- Account data: until you delete your account
- Blood glucose readings: automatically deleted via DynamoDB TTL based on your subscription tier — Basic: 90 days, Plus: 1 year, Pro: 5 years
- Blood ketone readings: until you delete them in the app, disable cloud sync with remote-data deletion, or close your account (no automatic expiry — these are sparse illness-episode records)
- Health-related timeline events (e.g. sickness periods): until you delete them in the app, disable cloud sync with remote-data deletion, or close your account (no automatic expiry — these are sparse annotation records)
- Basal insulin delivery segments: until you remove imported pump data in the app or close your account
- Meals, inventory (including CGM sensors), products: until you delete them or close your account
- Therapy parameters (synced settings): until you change them or close your account
- Text queries for AI analysis (via backend to Anthropic): not permanently stored; Anthropic retention ≤ 30 days
- Photo uploads for AI analysis (via backend to Google): not permanently stored; retained by Google only transiently for abuse monitoring (see Section 5.6)
- Password reset tokens: 1 hour
- Server logs: up to 30 days for abuse prevention (Art. 6(1)(f) GDPR)
- Local data (Realm) on your device: until you uninstall the app or manually delete
8. Device permissions
| Permission | Purpose |
|---|---|
| Camera | Barcode scan, food photo capture |
| Photo library (iOS) | Select existing photos for analysis |
| Notifications / push | Live Activity updates on iPhone and Apple Watch; local replacement reminders for CGM sensor, infusion set and pump cartridge (scheduled on-device, no data leaves your device) |
| Internet (Android) | Sync with backend |
| Billing (Android) | In-app subscriptions |
| Foreground service (Android) | Keeps glucose polling, watch updates, and meal-reminder evaluation alive while the app is in the background. A persistent system notification is shown while active. |
| Battery optimisation exemption (Android) | Reduces the chance the operating system kills the background sync; entirely optional and can be revoked. |
8.1 Background data processing
To keep glucose values fresh on your watch and to evaluate meal reminders while the app is not in the foreground,
CarbSense runs a background sync component (Android: foreground service; iOS: opportunistic BGProcessingTask).
While active, it reads the latest glucose value from your patient profile via our backend at the sensor's polling
interval, mirrors it to the connected watch, and may post local notifications. No additional categories of personal
data are processed compared to foreground use, no new third parties receive data, and no extra retention applies.
You can disable background sync at any time in the app settings or by revoking the notification permission.
You can revoke permissions at any time in your device's system settings; individual features will no longer be available in that case.
9. Your rights
As a data subject you have the following rights:
- Access to the data stored about you (Art. 15 GDPR)
- Rectification of inaccurate data (Art. 16 GDPR)
- Erasure ("right to be forgotten", Art. 17 GDPR)
- Restriction of processing (Art. 18 GDPR)
- Data portability (Art. 20 GDPR)
- Objection to processing based on legitimate interests (Art. 21 GDPR)
- Withdrawal of consent with effect for the future (Art. 7(3) GDPR)
- Complaint to a data protection authority (Art. 77 GDPR). The competent authority for us is: Der Landesbeauftragte fĂĽr den Datenschutz und die Informationsfreiheit Baden-WĂĽrttemberg, LautenschlagerstraĂźe 20, 70173 Stuttgart, Germany.
An informal message to contact@prim73.com is sufficient to exercise your rights. Account deletion is also available directly inside the app.
10. Automated decision-making
No solely automated decision-making, including profiling within the meaning of Art. 22 GDPR, takes place. The AI-based food recognition is merely an aid; all entries are confirmed by you before being saved.
11. Data security
We protect personal data using TLS transport encryption, bcrypt password hashing, JWT-based session isolation, encrypted secret storage in AWS SSM Parameter Store (KMS), and strict access control on backend resources.
12. Use by minors
Minors may only use the app with parental or guardian consent where required by applicable data protection law (Art. 8 GDPR). Age ratings displayed in the app stores apply in addition.
13. Changes to this privacy policy
We update this privacy policy when processing changes require it. The current version is always available in the app and at the privacy URL. Material changes will be announced in the app.
Datenschutzerklärung
Stand: 12. Juni 2026
Diese Datenschutzerklärung informiert Sie gemäß Art. 13 und 14 DSGVO über die Verarbeitung Ihrer personenbezogenen Daten bei Nutzung der mobilen Anwendung CarbSense (iOS, Android, Apple Watch Companion).
1. Verantwortlicher
Verantwortlich im Sinne der DSGVO ist:
Prim73 – Einzelunternehmen
Imanuel Richter
Nelkenweg 11
76356 Weingarten (Baden)
Deutschland
E-Mail: kontakt@prim73.com
Vollständige Kontaktangaben im Impressum.
Ein Datenschutzbeauftragter ist gesetzlich nicht erforderlich und wurde nicht bestellt.
2. Begriffsbestimmungen
Es gelten die Begriffsbestimmungen der DSGVO (Art. 4). Insbesondere „personenbezogene Daten" (Art. 4 Nr. 1), „Verarbeitung" (Art. 4 Nr. 2) und „besondere Kategorien personenbezogener Daten" – hierzu zählen auch Gesundheitsdaten ( Art. 9 Abs. 1 DSGVO), die CarbSense verarbeitet.
3. Welche Daten wir verarbeiten
3.1 Kontodaten
- E-Mail-Adresse, Name (optional), Bestätigungsstatus der E-Mail
- Benutzerkennung – entweder eine UUID (Altbestand vor der Auth0-Migration) oder eine Auth0-Kennung wie
auth0|…,google-oauth2|…oderapple|…für neu angelegte bzw. migrierte Konten - Zugangsdaten: für Altkonten ein von CarbSense gespeicherter bcrypt-Passwort-Hash; für Auth0-verwaltete Konten werden die Zugangsdaten vom Identity Provider (Auth0 / Okta) gehalten – das Klartext-Passwort wird ausschließlich per TLS während Registrierung, Anmeldung und Passwortänderung übertragen und von CarbSense nicht persistiert (siehe §5.2)
- Bei Anmeldung via „Anmelden mit Apple“ oder „Mit Google fortfahren“: die pseudonyme Kennung (Subject Identifier) des jeweiligen Anbieters, um spätere Anmeldungen demselben CarbSense-Konto zuzuordnen
- Sitzungs-Token: JWT (HS256) vom CarbSense-Backend fĂĽr Altsessions; von Auth0 ausgestellte ID-, Access- und Refresh-Token fĂĽr Auth0-verwaltete Sessions
- Erstellungs- und Änderungszeitpunkt
3.2 Gesundheitsdaten (Art. 9 DSGVO)
- Blutzuckerwerte (Wert, Einheit, Zeitstempel, Trendkennung)
- Manuell erfasste Blutketonwerte (Wert in mmol/l, Zeitstempel)
- Mahlzeiten (Name, Zeit, Kohlenhydrate, Zutaten, Nährwerte)
- Insulin-/Bolus-Handhabungen (Zeit, Menge, Typ, ursprĂĽngliche Insulineinheiten, der zum Zeitpunkt der Dosierung aktive Kohlenhydrat-Insulin-Faktor (KE/BE-Faktor), die Insulin-Empfindlichkeit (ISF) und die Insulinwirkdauer sowie ein optionaler Insulin-Typ-Tag)
- Basalinsulin-Abgabesegmente (Abgaberate und Zeitspanne), importiert von der Datenplattform Ihrer Insulinpumpe, sofern Sie eine verbunden haben. Sie werden wie andere Gesundheitsdaten mit dem CarbSense-Backend synchronisiert, damit sie auf allen Ihren Geräten verfügbar sind.
- Gesundheitsbezogene Zeitleisten-Ereignisse (Art — z. B. Krankheitsphase oder körperliche Aktivität — mit Start- und Endzeitpunkt und optionaler Notiz). Krankheitsphasen werden beim Beenden des Krankheits-/Keton-Modus automatisch erfasst und können auch manuell ergänzt oder bearbeitet werden; sie dienen z. B. dazu, krankheitsbedingt untypische Tage aus Therapie-Analysen auszunehmen. Sie werden wie andere Gesundheitsdaten mit dem CarbSense-Backend synchronisiert, damit sie auf allen Ihren Geräten verfügbar sind.
- Optionale Kontextangaben zur Mahlzeit, die Sie beim Erfassen aktiv antippen (geplante oder kürzliche körperliche Aktivität mit grober Zeitangabe und Intensität, Alkohol zur Mahlzeit, Krankheit, Stress). Sie werden mit der Mahlzeit gespeichert, wie andere Mahlzeitendaten synchronisiert und auf dem Gerät genutzt, um die beratende Verlaufsvorschau und Eingabevorschläge anzupassen.
- Therapieparameter (Therapieart, Pumpenmodell, zeitabhängige Kohlenhydrat-Insulin-Faktoren, Korrekturfaktoren und Zielwerte, Hypo-/kritische-Hypo-/Hyper-Schwellen, Insulinwirkdauer und -wirkmaximum, Kohlenhydrat-Resorptionsrate, zugehörige Erinnerungs-Schwellenwerte sowie Krankheitstage-Einstellungen — Insulin-Anpassungsprozente je Keton-Stufe, Status des Krankheits-/Keton-Modus sowie Körpergewicht und täglicher Energiebedarf zur Berechnung der benötigten Kohlenhydratmenge bei Krankheit). Diese Einstellungen werden grundsätzlich auf Ihrem Gerät gespeichert und zusätzlich mit dem CarbSense-Backend synchronisiert, damit sie auf allen Ihren Geräten verfügbar sind.
3.3 Produkt- und Inventardaten
- Gescannte Barcodes, Produktnamen, Nährwerttabellen, NOVA-Klassifikation, Produktbilder
- Bestandsdaten (Menge, Kaufdatum, Lagerort sowie bei CGM-Sensoren: Seriennummer, Typ, Trage-Zeiträume, Austauschanfragen)
3.4 Geräte- und Nutzungsdaten
- Firebase Installation ID (pseudonyme Gerätekennung)
- App-Version, Plattform (iOS/Android/watchOS), Bundle-ID
- User-Agent-Header bei API-Anfragen
- Push-Token (APNs) fĂĽr Live Activities auf Apple Watch
3.5 Inhalte, die Sie aktiv bereitstellen
- Fotos von Lebensmitteln (zur KI-Analyse, nicht dauerhaft gespeichert)
- Textanfragen (z. B. Produktsuche)
- Begleitbeziehungen (Companion-Verknüpfungen für Betreuende/Angehörige)
3.6 Zahlungs- und Abo-Daten
Abschluss und Abwicklung von In-App-Abonnements erfolgen ausschlieĂźlich ĂĽber die Plattformbetreiber (Apple App Store, Google Play Store). Zahlungsinformationen werden von uns nicht eingesehen oder gespeichert. Zur Abo-Verwaltung nutzen wir RevenueCat (siehe Abschnitt 5).
4. Zwecke und Rechtsgrundlagen
| Zweck | Daten | Rechtsgrundlage |
|---|---|---|
| Bereitstellung des Nutzerkontos und Authentifizierung | Kontodaten | Art. 6 Abs. 1 lit. b DSGVO (VertragserfĂĽllung) |
| Erfassung und Synchronisation von Mahlzeiten, Blutzucker, Inventar | Gesundheitsdaten | Art. 9 Abs. 2 lit. a DSGVO (ausdrĂĽckliche Einwilligung bei Registrierung) |
| Geräteübergreifende Synchronisation von Therapieparametern | Gesundheitsdaten (Therapieeinstellungen) | Art. 9 Abs. 2 lit. a DSGVO (ausdrückliche Einwilligung bei Registrierung) |
| Barcode-Scans und Produktsuche | Barcode, Text | Art. 6 Abs. 1 lit. b DSGVO |
| KI-gestĂĽtzte Lebensmittelerkennung | Foto, Text | Art. 6 Abs. 1 lit. a DSGVO (Einwilligung pro Anfrage durch bewusste Nutzung) |
| Push-Benachrichtigungen (Live Activities) | Push-Token, Glukosewerte | Art. 6 Abs. 1 lit. a DSGVO (Einwilligung ĂĽber Systemdialog) |
| Companion-Freigabe an Betreuende | Gesundheitsdaten des Patienten | Art. 9 Abs. 2 lit. a DSGVO (ausdrĂĽckliche Einwilligung der teilenden Person) |
| Kaufabwicklung und Abo-Status | RevenueCat-Kennung | Art. 6 Abs. 1 lit. b DSGVO |
| App-Stabilität, Fehleranalyse, Remote Config | Installation ID, Geräte-Metadaten | Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse am sicheren, funktionsfähigen Betrieb) |
| ErfĂĽllung rechtlicher Pflichten | alle | Art. 6 Abs. 1 lit. c DSGVO |
Eine erteilte Einwilligung können Sie jederzeit mit Wirkung für die Zukunft widerrufen (siehe Abschnitt 9).
5. Eingesetzte Dienste und Empfänger
Wir setzen Auftragsverarbeiter (Art. 28 DSGVO) und eigenständig Verantwortliche ein. Mit allen Auftragsverarbeitern bestehen AV-Verträge bzw. Standardvertragsklauseln der EU-Kommission.
5.1 Hosting und Backend – Amazon Web Services (AWS)
- Anbieter: Amazon Web Services EMEA SARL, 38 avenue John F. Kennedy, L-1855 Luxembourg
- Dienste: Lambda, DynamoDB, SNS, SES, SSM Parameter Store
- Region: EU (Frankfurt)
- Zweck: Speicherung und Verarbeitung aller Konto- und Gesundheitsdaten, Versand systemgenerierter E-Mails (z. B. Passwort-ZurĂĽcksetzen), Push-Benachrichtigungs-Weiterleitung an Apple APNs
5.2 Authentifizierung – Auth0 (Okta)
- Anbieter: Okta, Inc. (Betreiber von Auth0), 100 First Street, San Francisco, CA 94105, USA, mit EU-Niederlassung Auth0 EMEA Limited, 6th Floor, 1 Cumberland Place, Fenian Street, Dublin 2, Irland
- Region: EU-Tenant (Frankfurt / Dublin)
- Zweck: Authentifizierung per E-Mail/Passwort sowie ĂĽber Apple und Google, Ausstellung und PrĂĽfung von Sitzungs-Token (ID-, Access-, Refresh-Token)
- Übermittelt: E-Mail-Adresse, Name (sofern angegeben), Passwort während Registrierung, Anmeldung und Passwortänderung (ausschließlich per TLS, vom CarbSense-Backend nicht gespeichert), Auth0-Benutzerkennung (
sub) - Grundlage Drittlandtransfer: EU-Standardvertragsklauseln; Datenresidenz im EU-Tenant
- Status: Im Backend integriert; Aktivierung je Umgebung erfolgt erst, wenn sämtliche Auth0-Tenant- und Management-API-Zugangsdaten (
AUTH0_DOMAIN,AUTH0_CLIENT_ID,AUTH0_MGMT_CLIENT_ID,AUTH0_MGMT_CLIENT_SECRET) für die jeweilige Stage konfiguriert sind. Solange nicht alle vier Werte vorhanden sind, läuft weiterhin der bcrypt/JWT-Pfad. Nach Aktivierung laufen Registrierung und Anmeldung ausschließlich über Auth0; die bestehenden Passwörter werden zuvor im Rahmen der Migration als bcrypt-Hashes nach Auth0 übernommen, sodass bereits registrierte Nutzerinnen und Nutzer sich mit denselben Zugangsdaten weiter anmelden können. Vor der Aktivierung ausgestellte Refresh-Token bleiben bis zu ihrem Ablauf akzeptiert.
5.3 Push-Benachrichtigungen – Apple APNs
- Anbieter: Apple Distribution International Ltd., Hollyhill Industrial Estate, Hollyhill, Cork, Irland
- Zweck: Zustellung von Live-Activity-Updates an iPhone und Apple Watch
- Datenfluss: Glukosewert und Zeitstempel werden im Push-Payload an APNs übertragen und sofort an das Endgerät zugestellt (keine persistente Speicherung bei Apple).
5.4 Remote Config und Installations – Firebase
- Anbieter: Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Irland (mit DatenĂĽbermittlung an Google LLC, USA)
- Dienste: Firebase Remote Config, Firebase Installations
- Zweck: Ausrollen von Feature-Flags, Pseudonyme Gerätekennung
- Hinweis: Es werden keine Firebase Analytics oder Crashlytics eingesetzt.
5.5 Abonnement-Verwaltung – RevenueCat
- Anbieter: RevenueCat, Inc., 246 Russ Street, San Francisco, CA 94103, USA
- Zweck: Validierung und Verwaltung von In-App-Abonnements, virtuelle Guthaben fĂĽr KI-Funktionen
- Ăśbermittelt: pseudonyme Nutzer-ID, Abo-Status, Plattform
- Grundlage Drittlandtransfer: EU-U.S. Data Privacy Framework bzw. Standardvertragsklauseln
5.6 KI-Lebensmittelanalyse – Anthropic (Claude) und Google (Gemini)
KI-Anfragen werden an das CarbSense-Backend (AWS) gesendet, das sie an den jeweiligen KI-Anbieter weiterleitet; sie werden nicht mehr direkt vom Gerät an einen Drittanbieter-KI-Dienst übermittelt. Textanfragen werden von Anthropic verarbeitet; Lebensmittel- und Rezeptfotos von Google.
- Anbieter (Text): Anthropic, PBC, 548 Market Street, PMB 90375, San Francisco, CA 94104, USA
- Zweck: Analyse von Text-Lebensmittelanfragen zur Erkennung von Speisen und Nährwerten
- Übermittelt: Textanfrage — keine Kontodaten
- Speicherung: Anthropic verwendet API-Daten laut den Geschäftsbedingungen für die kommerzielle API nicht für Modelltraining und löscht sie nach maximal 30 Tagen.
- Anbieter (Bilder): Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA
- Zweck: Analyse hochgeladener Lebensmittel- und Rezeptfotos zur Erkennung von Speisen und Nährwerten
- Übermittelt: Foto (Base64, pseudonym) — keine Kontodaten
- Speicherung: Google verwendet Daten laut den Bedingungen der Gemini API (kostenpflichtige Dienste) nicht zum Training der Google-Modelle und speichert sie nur vorĂĽbergehend zur Missbrauchserkennung.
- Grundlage Drittlandtransfer: EU-U.S. Data Privacy Framework bzw. Standardvertragsklauseln
5.7 Produktdatenbank – Open Food Facts
- Anbieter: Open Food Facts, 21 rue des Iris, 77700 Bailly-Romainvilliers, Frankreich (gemeinnĂĽtzig)
- Zweck: Abruf öffentlicher Produktinformationen anhand Barcode
- Ăśbermittelt: Barcode, keine Nutzerkennung
5.8 Optionale Nightscout-Integration
- Anbieter: die selbst gehostete Nightscout-Instanz der Nutzerin oder des Nutzers (URL und API-Secret werden in den App-Einstellungen eingegeben).
- Zweck: Lesen von Blutzuckerwerten aus Nightscout sowie Schreiben von Mahlzeiten- und Insulingaben in Nightscout. Die Integration ist optional und standardmäßig deaktiviert.
- Ăśbermittelt: Glukosewerte, Kohlenhydratmengen, Insulindosen, Mahlzeitnamen, Zeitstempel. Keine Kontodaten werden an Nightscout gesendet.
- Empfänger: der vom Nutzer gewählte Hosting-Anbieter der Nightscout-Instanz – dies liegt außerhalb des Einflussbereichs des App-Entwicklers. Nutzer sind selbst für Sicherheit und rechtmäßigen Betrieb ihres Nightscout- Servers verantwortlich.
- Speicherung der Zugangsdaten: Nightscout-URL und API-Secret werden ausschließlich lokal auf dem Endgerät (im lokalen App-Speicher des Betriebssystems) gespeichert und niemals an das CarbSense-Backend übertragen.
5.9 App-Plattformen
- Apple App Store (Apple Distribution International Ltd., Irland) und Google Play Store (Google Ireland Limited, Irland) wickeln Installation, Updates und Zahlungen ab. Datenschutzhinweise der jeweiligen Anbieter gelten eigenständig.
6. DrittlandĂĽbermittlung
Einige der unter Abschnitt 5 genannten Dienste verarbeiten Daten in den USA. Die Ăśbermittlung erfolgt auf Grundlage:
- Angemessenheitsbeschluss der EU-Kommission zum EU-U.S. Data Privacy Framework (Google LLC, Anthropic, RevenueCat, Apple – soweit zertifiziert), oder
- Standardvertragsklauseln der EU-Kommission gemäß Art. 46 Abs. 2 lit. c DSGVO einschließlich ergänzender technischer und organisatorischer Maßnahmen.
Trotz dieser Schutzmaßnahmen ist in den USA kein mit der EU vergleichbares Datenschutzniveau garantiert; insbesondere können US-Behörden theoretisch Zugriff verlangen.
7. Speicherdauer
- Kontodaten: bis zur Löschung des Kontos durch Sie
- Blutzuckerwerte: automatische Löschung per DynamoDB TTL je nach Abo-Stufe — Basis: 90 Tage, Plus: 1 Jahr, Pro: 5 Jahre
- Blutketonwerte: bis Sie sie in der App löschen, den Cloud-Sync mit Löschung der entfernten Daten deaktivieren oder Ihr Konto schließen (keine automatische Löschfrist — es handelt sich um seltene Einzelwerte aus Krankheitsepisoden)
- Gesundheitsbezogene Zeitleisten-Ereignisse (z. B. Krankheitsphasen): bis Sie sie in der App löschen, den Cloud-Sync mit Löschung der entfernten Daten deaktivieren oder Ihr Konto schließen (keine automatische Löschfrist — es handelt sich um seltene Einzeleinträge)
- Basalinsulin-Abgabesegmente: bis Sie importierte Pumpendaten in der App entfernen oder Ihr Konto schlieĂźen
- Mahlzeiten, Inventar (einschließlich CGM-Sensoren), Produkte: bis zur Löschung durch Sie bzw. bis zur Kontolöschung
- Therapieparameter (synchronisierte Einstellungen): bis zur Änderung durch Sie bzw. bis zur Kontolöschung
- Textanfragen zur KI-Analyse (ĂĽber das Backend an Anthropic): nicht dauerhaft gespeichert; Anthropic-seitig max. 30 Tage
- Foto-Uploads zur KI-Analyse (ĂĽber das Backend an Google): nicht dauerhaft gespeichert; Google-seitig nur vorĂĽbergehend zur Missbrauchserkennung (siehe Abschnitt 5.6)
- Passwort-Reset-Token: 1 Stunde
- Server-Logs: max. 30 Tage zur Missbrauchsabwehr (Art. 6 Abs. 1 lit. f DSGVO)
- Lokale Daten (Realm) auf Ihrem Gerät: bis zur Deinstallation der App oder manueller Löschung
8. Berechtigungen auf dem Endgerät
| Berechtigung | Zweck |
|---|---|
| Kamera | Barcode-Scan, Fotos von Lebensmitteln |
| Fotobibliothek (iOS) | Auswahl bestehender Fotos zur Analyse |
| Mitteilungen / Push | Live-Activity-Updates auf iPhone und Apple Watch; lokale Wechsel-Erinnerungen für CGM-Sensor, Infusionsset und Pumpenampulle (werden lokal auf dem Gerät geplant, es verlassen keine Daten das Gerät) |
| Internet (Android) | Synchronisation mit Backend |
| Abrechnung (Android Billing) | In-App-Abonnements |
| Vordergrunddienst (Android) | Hält Glukose-Abruf, Watch-Aktualisierung und Mahlzeit-Erinnerungen aktiv, während die App im Hintergrund läuft. Solange der Dienst aktiv ist, wird eine dauerhafte Systembenachrichtigung angezeigt. |
| Ausnahme von Akku-Optimierung (Android) | Reduziert die Wahrscheinlichkeit, dass das Betriebssystem die Hintergrundsynchronisation beendet; rein optional und jederzeit widerrufbar. |
8.1 Hintergrund-Datenverarbeitung
Damit Glukosewerte auf der Uhr aktuell bleiben und Mahlzeit-Erinnerungen auch ohne geöffnete App ausgewertet werden,
betreibt CarbSense eine Hintergrund-Synchronisation (Android: Vordergrunddienst; iOS: opportunistischer
BGProcessingTask). Sie liest in dem vom Sensor vorgegebenen Intervall den jeweils neuesten Glukosewert aus Ihrem
Patientenprofil ĂĽber unser Backend, spiegelt ihn an die verbundene Uhr und kann lokale Benachrichtigungen
auslösen. Es werden dabei keine zusätzlichen Datenkategorien verarbeitet, keine weiteren Empfänger einbezogen und
keine zusätzlichen Speicherfristen begründet. Sie können die Hintergrundsynchronisation jederzeit in den
App-Einstellungen oder durch Entzug der Benachrichtigungs-Berechtigung deaktivieren.
Sie können Berechtigungen jederzeit in den Systemeinstellungen Ihres Geräts widerrufen; einzelne Funktionen stehen dann nicht mehr zur Verfügung.
9. Ihre Rechte
Als betroffene Person haben Sie folgende Rechte:
- Auskunft ĂĽber die bei uns gespeicherten Daten (Art. 15 DSGVO)
- Berichtigung unrichtiger Daten (Art. 16 DSGVO)
- Löschung Ihrer Daten („Recht auf Vergessenwerden", Art. 17 DSGVO)
- Einschränkung der Verarbeitung (Art. 18 DSGVO)
- DatenĂĽbertragbarkeit (Art. 20 DSGVO)
- Widerspruch gegen Verarbeitungen auf Grundlage berechtigter Interessen (Art. 21 DSGVO)
- Widerruf einer erteilten Einwilligung mit Wirkung fĂĽr die Zukunft (Art. 7 Abs. 3 DSGVO)
- Beschwerde bei einer Datenschutzaufsichtsbehörde (Art. 77 DSGVO). Zuständig für uns: Der Landesbeauftragte für den Datenschutz und die Informationsfreiheit Baden-Württemberg, Lautenschlagerstraße 20, 70173 Stuttgart.
Zur Ausübung Ihrer Rechte genügt eine formlose Nachricht an kontakt@prim73.com. Die Kontolöschung ist zusätzlich direkt in der App möglich.
10. Automatisierte Entscheidungsfindung
Es findet keine ausschließlich automatisierte Entscheidungsfindung einschließlich Profiling im Sinne des Art. 22 DSGVO statt. KI-basierte Lebensmittelerkennung ist lediglich ein Hilfsmittel; alle Einträge werden von Ihnen bestätigt, bevor sie gespeichert werden.
11. Datensicherheit
Wir sichern personenbezogene Daten durch TLS-TransportverschlĂĽsselung, bcrypt-Passwort-Hashing, JWT-basierte Session-Isolation, verschlĂĽsselte Ablage von Geheimnissen im AWS SSM Parameter Store (KMS) sowie strikte Zugriffskontrolle auf Backend-Ressourcen.
12. Nutzung durch Minderjährige
Minderjährige dürfen die App nur mit Einwilligung ihrer Erziehungsberechtigten nutzen, soweit das anwendbare Datenschutzrecht dies verlangt (Art. 8 DSGVO). Für die Altersfreigabe in den App-Stores gelten die dortigen Angaben.
13. Änderungen dieser Datenschutzerklärung
Wir passen diese Datenschutzerklärung an, wenn Änderungen an der Verarbeitung dies erfordern. Die jeweils aktuelle Fassung ist in der App sowie unter der Privacy-URL abrufbar. Wesentliche Änderungen kündigen wir in der App an.