Privacy Policy
Effective: 12 November 2025
Controller
Marco Preuss – Sole Proprietor
Augustenburgstraße 8d, 76229 Karlsruhe, Baden-Württemberg, Germany
Email: mpapps@web.de
Summary
- No user accounts, no analytics, no tracking.
- Food logs are stored on device only.
-
Optional photo upload: image stored briefly in a
private Supabase bucket in eu-central-1 (Frankfurt); an
Edge Function creates a short-lived signed URL and sends it to
OpenAI for nutrition analysis. A scheduled job
deletes the image within ~1 hour.
-
Rate limiting: we process the IP address for abuse
prevention using Upstash Redis in
eu-central-1 (Frankfurt, AWS). Counters are
short-lived (~60 s window) and not linked to in-app data.
Data we process
-
On device: your food logs (text, amounts, nutrition). Not
transmitted.
-
Optional photo (User Content): temporarily stored in Supabase
(eu-central-1, Frankfurt) to enable analysis. Please avoid
uploading images of people or personal data/EXIF.
-
Technically necessary for rate limiting (security):
IP address, timestamps and a counter processed via Upstash
Redis in eu-central-1 (Frankfurt, AWS) to prevent abuse and
ensure service stability. No profiling or marketing use; no linkage to
in-app food logs.
-
Support website: Our static pages (e.g., GitHub Pages) may log
visitors' IP addresses for security.
Purposes & legal bases
-
App functionality (image analysis): performance of contract
(Art. 6(1)(b) GDPR).
-
Security/operations (rate limiting & hosting logs): legitimate
interests (Art. 6(1)(f) GDPR).
How the image analysis works (functionality)
-
The image is uploaded over TLS to a non-public Supabase storage
bucket (eu-central-1, Frankfurt).
-
A Supabase Edge Function generates a short-lived signed URL for
that image.
-
The Edge Function sends the signed URL + a text prompt to
OpenAI (image analysis).
-
OpenAI returns estimated nutrition; we send these results back to your
device and store them locally only.
-
A scheduled job deletes the stored image from Supabase
typically within ~1 hour.
Processors
-
Supabase, Inc. — private storage bucket & signed URLs; region:
eu-central-1 (Frankfurt).
-
OpenAI — image analysis API.
No training on API data by default; inputs/outputs may be
retained for up to 30 days for abuse prevention.
-
Upstash, Inc. — managed Redis for rate limiting; region:
eu-central-1 (Frankfurt, AWS). Stores short-lived counters (IP,
timestamp) only for abuse/fair-use protection.
International transfers
Our providers are US-based. While data at rest for storage and rate
limiting is kept in the EU (Frankfurt, eu-central-1), remote
access from the US cannot be excluded. Transfers rely on appropriate
safeguards such as the EU Standard Contractual Clauses (SCCs).
Retention
-
Images on Supabase: scheduled deletion, typically
< 1 hour after upload.
-
Rate limiting counters (Upstash): short-lived and expire
automatically with the sliding-window (~60 seconds). Provider
system logs may have different retention for security/operations.
-
Food logs: remain on your device until you delete them or
remove the app.
Security
Transport encryption (TLS), private buckets with signed URLs, data
minimization, and short retention windows.
No tracking/ads
No ad SDKs, profiling, device fingerprinting, or cross-app tracking
(ATT).
Your rights
You can exercise your GDPR rights (access, rectification, deletion,
restriction, portability, objection) by contacting us at the email
above. You may lodge a complaint with a supervisory authority.
Changes
We may update this notice as technology, law, or our service changes.
The current version is published here.
Transparency notes on service providers:
Supabase — private buckets & short-lived signed URLs (eu-central-1,
Frankfurt); scheduler for deletion jobs.
OpenAI — API without training use by default; up to 30-day retention for
abuse monitoring.
Upstash — managed Redis for short-lived rate-limit counters
(eu-central-1, Frankfurt, AWS).
GitHub Pages — may log IP addresses for security.
Datenschutzerklärung
Stand: 12. November 2025
Verantwortlicher
Marco Preuss – Einzelunternehmen
Augustenburgstraße 8d, 76229 Karlsruhe, Baden-Württemberg,
Deutschland
E-Mail: mpapps@web.de
Kurzfassung
- Kein Nutzerkonto, keine Analytics, kein Tracking.
-
Food-Logs werden
ausschließlich auf deinem Gerät gespeichert.
-
Optionale Bild-Uploads: Foto wird kurzzeitig in einem
privaten Supabase-Bucket in
eu-central-1 (Frankfurt) gespeichert; eine Edge Function
erzeugt eine kurzlebige Signed-URL und übermittelt sie an
OpenAI zur Nährwertanalyse. Ein geplanter Job
löscht das Bild i. d. R. innerhalb von ~1 Stunde.
-
Rate Limiting: zur Missbrauchsabwehr verarbeiten wir die
IP-Adresse über Upstash Redis in
eu-central-1 (Frankfurt, AWS). Die Zähler sind
kurzlebig (~60 s) und werden nicht mit In-App-Daten
verknüpft.
Welche Daten verarbeiten wir?
-
Auf dem Gerät (on-device): deine Food-Logs (Texte, Mengen,
Nährwerte). Diese Daten verlassen dein Gerät nicht.
-
Optionaler Bild-Upload (User Content): kurzfristige Speicherung
in Supabase (eu-central-1, Frankfurt) zur Analyse. Bitte lade
keine Bilder hoch, die Personen oder persönliche Informationen/EXIF
enthalten.
-
Technisch erforderlich für Ratelimiting (Sicherheit):
IP-Adresse, Zeitstempel und ein Zähler werden über Upstash
Redis in eu-central-1 (Frankfurt, AWS) verarbeitet, um
Missbrauch zu verhindern und den stabilen Betrieb sicherzustellen.
Keine Profilbildung oder Marketingnutzung; keine Verknüpfung mit
deinen In-App-Food-Logs.
-
Support-Website: Beim Aufruf unserer statischen Webseiten (z.
B. GitHub Pages) kann der Hoster aus Sicherheitsgründen
IP-Adressen protokollieren.
Zwecke und Rechtsgrundlagen
-
App-Funktion (Bildanalyse): Vertragserfüllung/vorvertragliche
Maßnahmen (Art. 6 Abs. 1 lit. b DSGVO).
-
IT-Sicherheit/Betrieb (Ratelimiting & Hosting-Logs):
berechtigtes Interesse (Art. 6 Abs. 1 lit. f DSGVO).
So funktioniert die Bildanalyse (Funktionsablauf)
-
Upload des Bildes per TLS in einen
nicht öffentlichen Supabase-Storage-Bucket (eu-central-1, Frankfurt).
-
Supabase Edge Function erzeugt eine kurzlebige Signed-URL für
dieses Bild.
-
Die Edge Function übermittelt Signed-URL + Prompt an
OpenAI zur Auswertung.
-
Die ermittelten Nährwertinfos werden an die Edge Function
zurückgesendet und anschließend ausschließlich lokal auf deinem
Gerät gespeichert.
-
Ein geplanter Löschjob entfernt das Bild aus dem Storage in der
Regel innerhalb von ~1 Stunde.
Empfänger / Auftragsverarbeiter
-
Supabase, Inc. — privater Storage-Bucket & Signed-URLs; Region:
eu-central-1 (Frankfurt).
-
OpenAI — API für Bildanalyse.
Keine Trainingsnutzung der API-Daten by default;
Eingaben/Ausgaben können bis zu 30 Tage zu
Missbrauchsabwehr-Zwecken vorgehalten werden.
-
Upstash, Inc. — Managed Redis für Ratelimiting; Region:
eu-central-1 (Frankfurt, AWS). Speichert nur kurzlebige Zähler
(IP, Zeitstempel) zur Fair-Use/Abuse-Prevention.
Übermittlung in Drittländer
Unsere Dienstleister haben ihren Sitz in den USA. Obwohl Daten für
Storage und Ratelimiting
in der EU (Frankfurt, eu-central-1) gespeichert werden, kann ein
Remote-Zugriff aus den USA
nicht ausgeschlossen werden. Übermittlungen/Zugriffe stützen wir auf
geeignete Garantien (insb. EU-Standardvertragsklauseln, SCCs).
Speicherdauer
-
Bilder bei Supabase: geplanter automatischer Löschjob, i. d. R.
< 1 Stunde nach Upload.
-
Ratelimiting-Zähler (Upstash): kurzlebig und verfallen
automatisch mit dem Sliding-Window (~60 Sekunden). Systemlogs
des Anbieters können abweichen (Sicherheits-/Betriebszwecke).
-
Food-Logs: verbleiben ausschließlich auf deinem Gerät, bis du
sie löschst oder die App entfernst.
Sicherheit
TLS-Transportverschlüsselung, private Buckets mit Signed-URLs,
Datenminimierung, kurze Aufbewahrungsfristen.
Kein Tracking / keine Werbung
Keine Werbe-SDKs, kein Profiling, kein Device-Fingerprinting, kein
Cross-App-Tracking (ATT).
Rechte der betroffenen Personen
Du hast nach DSGVO insbesondere Rechte auf Auskunft, Berichtigung,
Löschung, Einschränkung, Datenübertragbarkeit und Widerspruch. Außerdem
kannst du dich bei einer Aufsichtsbehörde beschweren, z. B. beim
LfDI Baden-Württemberg.
Kontakt
Bei Fragen oder zur Ausübung deiner Rechte:
mpapps@web.de
Änderungen
Wir passen diese Erklärung an, wenn sich Technik, Rechtslage oder unser
Dienst ändern. Die aktuelle Fassung ist hier veröffentlicht.
Transparenzhinweise zu Dienstleistern:
Supabase — private Buckets & kurzlebige Signed-URLs (eu-central-1,
Frankfurt); Scheduler für Löschjobs.
OpenAI — API ohne Trainingsnutzung by default; bis zu 30-tägige
Aufbewahrung zu Abuse-Monitoring.
Upstash — Managed Redis für kurzlebige Ratelimit-Zähler (eu-central-1,
Frankfurt, AWS).
GitHub Pages — kann IP-Adressen aus Sicherheitsgründen protokollieren.