Grindstep Privacy Policy

Effective date: 2026-07-08 · Last updated: 2026-11-04

Short version: Grindstep keeps everything you enter on your own iPhone. There is no account, no server, and no analytics. We do not collect, receive, see, or transmit your data — there is nothing for us to collect, because the App has no backend. Our App Store privacy label is "Data Not Collected."

Who we are

Grindstep is published by an independent iOS developer (Apple Developer Team ID ZM8LF8494F). Questions: captainlongevity@gmail.com.

What Grindstep stores, and where

Everything you create in Grindstep — grinders, machines, bean bags, shots, recipes, taste tags, prices, and any bag cover photos you add — is stored locally on your device using Apple's on-device database. It stays on your iPhone. The learned recommendation engine, the control-chart math, the drift model, and the cost math all run on your device, on data you entered. Record processing and recommendations run locally. Apple StoreKit separately communicates with Apple for product information, purchases and purchase restoration; opening legal pages or sharing files also follows the destinations you choose.

What we collect

Nothing. Grindstep has no user accounts, no sign-in, no server, no cloud sync, no analytics or crash-reporting SDK, and no advertising SDK. Its recommendations are computed on your device by ordinary arithmetic over your own shots. Because the App does not send data anywhere, no personal information is collected, shared, sold, or disclosed to us or to any third party.

Permissions the App may ask for

The App does not use the camera, location, contacts, microphone, Bluetooth, or any tracking or advertising identifier. It requests no permission until the corresponding optional feature is used, and you can decline or revoke any permission in iOS Settings.

Moving your data (export and import)

Because Grindstep does not sync to a cloud, it gives you full control of portability instead. Free JSON export includes supported grinder, machine, bean-bag and shot records, the house recipe, and embedded bag-cover image data. CSV exports a shot table rather than the whole archive, photos or every preference. Both formats are readable and not password-encrypted by the App. You can import compatible selected files and transfer a supported JSON archive to another device; it is not a copy of every device setting or temporary session state. These transfers happen through the iOS share sheet and the Files app under your direction; the App itself sends nothing to us or to any server. Where an exported file goes next is entirely your choice.

Backups

Your Grindstep data may be included in an iOS Backup (iCloud Backup or a Finder backup) when you have those enabled — this is Apple's standard device backup, managed by you in iOS, and is separate from the App. If you delete the App and have no iOS Backup and no export, your data is permanently lost, since we hold no copy.

Device-backup contents and recovery depend on your system settings, a successfully completed usable backup and Apple’s restoration process; enabling backup alone does not guarantee recovery of every record or original file. We cannot retrieve or restore your device backups.

Children

Grindstep is a general-audience utility for home coffee preparation and is not directed to children. It collects no personal information from anyone.

Required-reason API disclosure

The App accesses a small number of Apple APIs that require a declared reason (for example, reading the timestamp of files it wrote, and reading UserDefaults it owns). These are used solely for the App's own on-device functionality and never for tracking. The declared reasons are listed in the App's privacy manifest.

Changes to this policy

If this policy changes, the updated version will be posted here with a new "last updated" date. Because the App collects nothing, changes will generally be clarifications. If a future release ever introduced any data collection or transmission, it would be strictly opt-in with a clear in-app notice before anything left your device.

Local widgets and visible summaries

Grindstep's widget displays locally prepared summaries of app records. The app and its widget exchange the relevant summary and preferences through an on-device shared container; this is not a developer-operated record upload. Information displayed by a widget can be visible to people able to view the Home Screen or Lock Screen where it is placed. Use the widget and device display settings to control that visibility. Screenshots and independent copies remain separate from the records you later edit or delete.

Record deletion and recovery scope

Deleting a bean bag, grinder or machine removes that selected record after a successful save, rather than cascade-deleting shot history. Shots use separate identifiers and can remain with missing equipment or bag references. JSON import checks each equipment, bag and shot identifier separately: an existing parent does not cause every new incoming shot to be skipped. A supplied house recipe, engine settings and supported preferences can update current values. CSV imports create new supported shot records and may duplicate repeated imports; CSV is not a complete archive backup. Removing the App normally removes its local container, not independently kept original media, exported files, recipient copies or older backups. Manage those copies separately. Device-backup recovery requires a usable completed backup; the developer has no record archive to retrieve.

Contact & Support

captainlongevity@gmail.com

Website requests and support correspondence

These legal pages are hosted on Vercel. Opening a page sends ordinary request information, such as the IP address, browser information and requested URL, to the host for delivery and security; see Vercel’s Privacy Notice. This website request is separate from App record storage. If you email support, we receive the address and information you choose to send so we can respond. Send only the details needed for that request.

Optional sample records

In the updated app, Settings offers Add sample records with a confirmation. Samples are stored locally alongside ordinary records, can appear in supported totals, exports and widgets, and count toward applicable free limits. Adding samples keeps existing records and does not grant paid access. Existing samples from earlier versions remain until removed using the applicable record controls.