Privacy Policy
Last updated September 18, 2026
1. Who we are
Coffean is operated by Abraham, based in Mexico. We are the controller of the personal data described here. For any privacy question or request, contact [email protected].
2. What we collect
- Account details. When you sign in with Discord we receive your Discord user id, username and display name, avatar and email address. We also store the OAuth tokens Discord issues so your session keeps working. We never see or store your Discord password.
- Your collection. Everything you enter: bean names, roasters, origins, regions, producers, varieties, processes, harvests, elevations, tasting notes, scores, descriptions, purchase dates, costs, weights and any images you upload.
- Technical data. When a session is created we record the IP address and browser user-agent string, so sessions can be secured and abused ones identified.
- Server logs. Our server logs requests and the results of AI scans, so problems can be diagnosed.
3. Why we use it
- To create and secure your account and keep you signed in.
- To store and show you your collection.
- To provide the AI features you choose to use (see below).
- To diagnose faults and protect the service from abuse.
- To comply with legal obligations.
We do not sell your personal data, and we do not use it for advertising or build advertising profiles.
4. AI features and your photos
We never store the photos you scan. When you scan a bag label, the photo is read in memory on our server, sent to OpenRouter (which passes it to a third-party vision model) and then discarded. It is never written to our database or to image storage, and it is not kept after the scan finishes. The only thing we keep is the text the model extracted — and only if you actually save the bean. Everything else about the AI request is covered below.
What does get sent to OpenRouter: the label photo itself for the vision step, and then the extracted text and tasting notes for the classification step, which checks the result really is a coffee label, groups tasting notes into flavour families, and matches roaster names against the ones you have saved. Scan results are also written to our own server logs for debugging.
These requests are made only when you use a scan or classification feature. If you never scan a label, no photo and no extracted text leaves our server.
5. AI data retention and training
Neither AI provider we use trains its models on your data. Retention differs between them, so we treat them differently:
- The decision model (TypeSafe, used to check and classify scans) is a zero-retention provider. We explicitly require zero-retention endpoints for these requests, so your data is not stored at all.
- The vision model that reads the photo is supplied by Alibaba, whose policy allows it to retain prompts for a limited period. This is why we do not keep the photo ourselves, and why the extracted text is only ever kept if you choose to save the bean.
If you would prefer not to have images processed this way, simply don't use the scan feature — you can enter every field by hand instead. See the provider tables at OpenRouter for the current policies, and our sub-processor list in section 8.
6. Cookies
We use a small number of cookies, all needed for the app to work. We do not use advertising or cross-site tracking cookies.
- Session cookies — keep you signed in and store a short-lived cached copy of your session so pages load quickly.
- Language preference — remembers the language you selected.
- Sidebar state — remembers whether the navigation sidebar is expanded.
7. Analytics
We run Umami, an open-source analytics tool, on our own server — the same one that runs Coffean. It is not a third-party service, and no analytics data is shared with anyone else. It is designed to be privacy-friendly: it does not use cookies, does not track you across other websites, does not fingerprint your device and does not build a profile of you. The figures we see are aggregates — page views and approximate device type — not individual behaviour tied to your identity. It also honours the browser's Do Not Track setting.
8. Who we share with
We share personal data only with the service providers needed to run the app. Each one receives the minimum required for its purpose.
| Service | Purpose | What it receives | Location |
|---|---|---|---|
| Discord | Sign-in | Your Discord identity (id, username, avatar, email) and OAuth tokens | United States |
| OpenRouter | Routes AI requests to model providers | The label photo; extracted label text and tasting notes | United States |
| Alibaba (Qwen, via OpenRouter) | Reads the text in your label photo — not zero-retention | The label photo | United States and other regions |
| TypeSafe (Jev, via OpenRouter) | Checks and classifies scans — zero-retention | Extracted label text and tasting notes | United States |
| Cloudflare R2 | Stores uploaded images | The coffee bag photos you upload | Globally distributed |
| Hetzner (Dokploy) | Runs the application, database and self-hosted analytics | All account data, collection records and analytics data | Helsinki, Finland |
9. International transfers
Your data may be processed outside Mexico: our servers run in Helsinki, Finland, and the AI and analytics providers are mainly in the United States. Where data leaves your country, we rely on the providers' contractual protections and transfer safeguards.
10. How long we keep it
- Account and collection data are kept while your account exists. Deleting a bean removes it and its images. Deleting your account removes everything — see below.
- Server logs are kept for a short period and then discarded.
11. Security
Uploaded images are held in private storage and are only served to you through short-lived signed links. Traffic is encrypted in transit, and access to the database is restricted. No system is completely secure, so please use a strong, unique Discord password and keep your own copy of anything you cannot afford to lose.
12. Your rights
You can view and correct almost all of your data directly in the app. You can delete individual beans, and you can permanently delete your entire account from Settings → Danger zone. Account deletion removes your account, your beans, your roasters, your uploaded images, your sessions and your linked Discord account record — and cannot be undone.
Under Mexican data protection law (LFPDPPP) you also have rights of access, rectification, cancellation and objection (ARCO), and the right to withdraw consent. To exercise them, contact [email protected]. You may also complain to the Mexican data protection authority (INAI).
13. Children
Coffean is not intended for children under 13 (or the minimum age to hold a Discord account in your country). We do not knowingly collect data from them.
14. Changes
If this policy changes we will update the date at the top and, for significant changes, tell you in the app.
15. Contact
Privacy questions and requests: [email protected].