BeanDial Privacy Policy

Effective date: May 11, 2026  ·  Last updated: May 11, 2026

BeanDial ("we", "us", or "our") is a mobile espresso-dialing app. This policy explains what data we collect, how we use it, and your rights.

1. Data We Collect

BeanDial is designed to keep most of your data locally on your device. The app stores the following on your device using iOS/Android local storage:

Some data is also transmitted to BeanDial's servers in the following cases, described fully in Sections 2 and 3 below:

2. AI Puck Analysis & Camera Access

BeanDial requests access to your device camera and photo library to let you (a) photograph your espresso puck after a shot, and (b) photograph a coffee bag — up to two photos (front and optional back) — so the app can pre-fill the bag's name, roaster, origin, roast level, and dates. Camera access is optional — you can log shots and add bags fully by hand without granting it.

If you choose to attach a puck photo and save the shot, that photo is uploaded to BeanDial's servers and forwarded to Google Gemini (Google's AI service) for analysis. Along with the photo, the following shot data is included in the request: dose, yield, extraction time, taste profile, and any optional free-text notes you entered. This data is used solely to generate the on-screen puck analysis feedback and is not stored on BeanDial's servers after the response is returned.

If you choose to scan a coffee bag with the AI bag scanner when adding a bean, up to two photographs (the front of the bag and, optionally, the back so the roast date can be read) are uploaded to BeanDial's servers and forwarded to Google Gemini for label extraction. Capturing the back photo is optional — you can skip it and send only the front. Only the photographs themselves are sent — no shot data, account identifier, or device identifier is attached. Gemini's response is used solely to pre-fill the Add a Bag form on your device, and the photos are not stored on BeanDial's servers after the response is returned. Bag scans are available to all users (free and premium) and are rate-limited per IP address to prevent abuse.

By attaching a puck photo or scanning a bag, you consent to that upload and to the image(s) (and any shot data, in the puck case) being processed by Google Gemini. Please be aware that any objects, text, or labels visible in the photos will be sent to Google. See Google's Privacy Policy for details on how Gemini processes submitted data.

Puck photos and bag photos that are not sent through the AI features remain stored locally on your device and are never uploaded.

3. Community Recipe Data

BeanDial includes an opt-out community feature that helps users see how others have dialled in the same bean and grinder combination. When you log a shot that is marked as "dialled in" and a grinder model is configured in your rig, the following anonymised values are automatically submitted to BeanDial's servers and stored in our shared community dataset:

No account, name, email address, or persistent device identifier is attached to these submissions. Submissions are aggregated with data from other users and are only surfaced publicly once at least 5 submissions exist for the same bean, roaster, and grinder model combination, reducing the risk that any individual's settings can be inferred.

Community grinder setting data is a premium feature and is only returned to users with an active BeanDial subscription. Dose, yield, and time aggregates are visible to all users once the minimum cohort threshold is met.

Because these values originate from your local shot logs and bean records, this automatic upload means that some shot and bean data does leave your device, contrary to a purely local-only model. If you do not wish to contribute to the community dataset, you can avoid this by not marking shots as "on target" or by not configuring a grinder model in your rig settings.

3a. Community Bag Ratings

BeanDial lets you rate any bag you've finished (1–5 stars, optional sweetness/acidity/body, tasting tags, free-text notes). Ratings are stored locally on your device. If the Share my ratings with the community setting is enabled (it is on by default and can be toggled off in Settings → Privacy), the following anonymised values are also submitted to BeanDial's servers when you save a rating:

Free-text rating notes are never uploaded — they remain on your device. No account, name, email, or persistent device identifier is attached to a rating submission. Your contribution is keyed off the App Store / Google Play anonymous customer ID solely so re-rating the same bag overwrites your previous submission instead of stacking duplicates. Aggregate community statistics (average score, histogram, top tags, top recipes) are only surfaced once at least 5 ratings exist for the same roaster + coffee + process combination.

To stop contributing future ratings, turn off Share my ratings with the community in Settings.

4. Subscriptions (RevenueCat)

BeanDial uses RevenueCat to manage in-app subscriptions. When you subscribe, RevenueCat processes your purchase through Apple App Store or Google Play Store. RevenueCat may collect:

RevenueCat does not receive your shot logs, bean data, or puck photos. See RevenueCat's Privacy Policy for full details.

5. Analytics & Crash Reporting

BeanDial v1 does not include any third-party analytics or crash-reporting SDKs beyond RevenueCat's purchase-event tracking.

6. Data Sharing

We do not sell, rent, or share your personal data with any third parties except:

7. Data Retention & Deletion

Your beans, shots, grinder settings, and locally-stored photos live on your device. To delete this data, uninstall the app.

When you use AI puck analysis or the AI bag scanner, your photo or photos (plus shot data, in the puck case) are transmitted to our server and to Google Gemini solely to produce the analysis or extraction result. BeanDial does not persistently store this data on our servers after the response is returned.

Anonymised community recipe submissions are stored on BeanDial's servers indefinitely as part of the shared dataset. Because submissions carry no account identifier or device ID, we cannot selectively delete an individual's contributions once they have been aggregated.

To delete RevenueCat's anonymous purchase record, contact us at the address below.

8. Children's Privacy

BeanDial is not directed at children under 13. We do not knowingly collect personal information from children.

9. Changes to This Policy

We may update this policy as the app gains new features (e.g., cloud sync). We will post the updated policy here and update the "last updated" date above.

10. Contact Us

If you have questions or data deletion requests, contact us at:
info@theatomgroup.co