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 solely to let you photograph your espresso puck after a shot. Camera access is optional — you can log shots and use the app fully 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.

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

Puck photos that are not attached to a shot with AI analysis 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.

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, your photo and shot data are transmitted to our server and to Google Gemini solely to produce the analysis 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:
privacy@beandial.app