Cafuné
Effective date: 30 September 2026
Cafuné uses no advertising or tracking SDKs, and analytics is off unless you turn it on. The iOS app links Firebase Auth, Firebase Core and Firebase Analytics; analytics collection is disabled until you enable "Share anonymous usage analytics" in your Profile, and can be switched off again there at any time. When on, it records which features are used against a random app-instance ID, plus an approximate location (city or country level) derived from your IP address — never your account, never an advertising identifier. We don't sell data, we don't share it for advertising, and we don't track you across other companies' apps or websites.
Cafuné ("we", "us") is the data controller for the personal data described below. Cafuné is currently operated by its founder as an unincorporated venture based in the United Kingdom; a registered company and its address will be named here once incorporation completes. For any privacy question or request, including access, correction, or erasure, contact privacy@cafuneapp.com.
This policy covers the Cafuné iOS app (including builds distributed through Apple's TestFlight public beta), the Cafuné web app, and this website.
When you sign in, Firebase Auth records your email address and a unique account identifier (uid). If you use Sign in with Apple and choose to hide your email, we only ever see the private relay address Apple generates for you. Your Cafuné profile holds the display name you choose, your email, an optional profile photo, and an optional country.
Community content is public to other Cafuné users by design. Photos you upload (profile, bag, and recipe photos) are stored at unguessable but public web addresses so the app can show them, so anyone given a photo's link can open it.
We don't collect your precise location, contacts, or advertising identifier. If you opt in to analytics, Google derives an approximate (city or country level) location from your IP address; it is not linked to your account.
We rely on the following processors to run the service. Each only receives the data it needs to do its job:
| Processor | Data |
|---|---|
| Firebase Auth (Google) | email, Apple relay address, uid |
| Firebase Analytics (Google), only if you opt in | random app-instance ID and feature-usage events, not linked to your account |
| MongoDB Atlas | profile, reviews, recipes, comments, likes, favourites, history, preferences, content reports |
| Google Cloud Storage | avatars, bag photos, recipe photos |
| Google Vertex AI (Gemini) | the bag photo, on scan-rescue only (see below) |
| Google Cloud Run | platform request logs including IP |
| Pydantic Logfire (EU region) | diagnostic traces and scan outcome counters, including the uid |
| Cloud Firestore | the sealed beta-waitlist address (this website's own waitlist) |
Some of these providers store or process data outside the UK and EEA, notably in the United States. Where they do, the transfer relies on the provider's standard contractual clauses and, where applicable, the UK Extension to the EU–US Data Privacy Framework.
The iOS public beta is distributed through Apple's TestFlight. When you join, Apple shares with us the information TestFlight collects — such as your name and email if you were invited by email, your device model and iOS version, install and session counts, crash reports, and any feedback or screenshots you choose to send. Apple handles this data under Apple's Privacy Policy. We use it only to test and fix the app. You can leave the beta at any time by deleting the app or choosing Stop Testing in the TestFlight app.
Scanning a bag runs on-device first: text recognition happens entirely on your phone, and in the common case the photo never leaves it. If on-device recognition can't read the bag, the app sends that single camera frame to Google Vertex AI (Gemini) for a second read ("scan-rescue"). The photo is used only to read the words on the bag. We don't keep it, and Google doesn't use it to train its models. There is currently no in-app switch to turn this fallback off; adding one is on our roadmap, and this page will be updated when it ships.
The email address you leave on this website is sealed inside your browser (public-key sealed-box encryption) before it is ever sent — Firestore only ever stores ciphertext, never a plain-text address. The private key needed to decrypt it is kept outside any Google Cloud project, in the operator's own key storage. This means a compromise of Firestore or the surrounding Google Cloud project alone cannot expose waitlist addresses — a technical and organisational security measure under GDPR Article 32.
You can delete your account inside the app: Profile → Delete account. This permanently deletes:
What you've posted to the community — reviews and ratings, brew recipes and their photos, comments, and likes — stays, so other people's discussions don't lose their context. It is detached from your profile and shown as "Anonymous"; internally it keeps only the random account identifier, which after deletion is linked to no name or email.
If you'd rather that content go too, delete it before deleting your account — each rating, recipe, and comment you've posted has a Delete option. If your account is already gone, email privacy@cafuneapp.com describing the items and we'll remove them by hand.
Under UK and EU data protection law you have the right to access your data, correct it, delete it, restrict or object to how we process it, and receive a copy in a portable format. You can exercise any of these by emailing privacy@cafuneapp.com; we'll reply within one month. You can also complain to the UK Information Commissioner's Office (ico.org.uk) or your local data protection authority, though we'd appreciate the chance to sort it out first.
All traffic between the app and our services is encrypted in transit (HTTPS/TLS), and our storage providers encrypt data at rest. Access to production systems is limited to the operator. No system is perfectly secure; if a breach affecting your data occurs, we will notify you and the relevant authority as the law requires.
Cafuné is not directed at, and is not intended for use by, children under the age of 13 (or under 16 where a higher threshold applies locally). We do not knowingly collect data from children below that age; if you believe a child has created an account, email us and we'll delete it.
We may update this policy as the app or our processors change. Material changes will be reflected by a new effective date at the top of this page and, where appropriate, announced in the app or in the TestFlight release notes.
Questions about this policy: privacy@cafuneapp.com.