Product-specific document. This schedule applies only to RoastEar (com.ryantinklepaugh.roastear). It supplements the separate RoastEar Terms of Service and Privacy Policy, each with its own immutable version and SHA-256 hash.
Product purpose
RoastEar is a manual coffee-roast timer and logger with optional best-effort, on-device acoustic assistance that suggests possible first- and second-crack timing for the user to confirm or correct.
Best-effort acoustic assistance
An acoustic flag is a suggestion, not an automatic fact. Accuracy varies with roaster type, batch, bean, microphone, phone placement, ventilation, room, hearing conditions, and surrounding noise. The detector can fire early or late, miss a crack, or mistake another sound for one. Manual controls always remain authoritative.
Roasting safety and supervision
RoastEar is not a fire, smoke, carbon-monoxide, equipment, food-safety, or emergency monitor. Never leave a roaster unattended. Follow the roaster manufacturer's instructions, provide required ventilation, and use appropriate fire-safety precautions. Stop and respond to actual conditions rather than waiting for the app.
Calculations and records
Rate of rise, development ratio, weight loss, inferred roast level, defect indicators, and comparisons depend on user inputs and measurement timing. They are logging aids, not guarantees of cup quality, equipment performance, or safe operation.
Free access and RoastEar Pro
The free tier includes the manual timer, calculators, and the saved-record limit shown in the app. Pro can add acoustic assistance, unlimited history, curves, and export. Apple's purchase sheet controls the current plans, prices, trial eligibility, and renewal terms.
Limited mode
After a decline or withdrawal, the user can review, export, or delete available records and local audio, read legal and support information, and manage or restore an Apple purchase. New records, microphone analysis, retained audio, purchases, and Pro actions can remain unavailable until the current documents are accepted.
Current product data boundary
The following categories and operational boundaries are specific to RoastEar and form part of this schedule.
- Transient live microphone buffers and audio-route characteristics used during an optional roast session
- Optional locally retained audio and its recording manifest
- Roast milestones, temperature and rate-of-rise samples, weights, notes, ratings, cupping notes, detector suggestions, and user confirmations
- Bean and roaster profiles and app preferences
- Private CloudKit identifiers and synchronization state for non-audio roast records
- User-selected Artisan imports and user-requested Artisan JSON, CSV, audio, and manifest exports
- Anonymous App Store purchase and RevenueCat offering, transaction, purchase, and entitlement metadata
- Privacy-minimal legal-choice evidence
Microphone analysis and optional local recordings
RoastEar processes live microphone buffers on the device only while the user enables acoustic assistance during a roast. The detector uses classical signal processing and does not send audio to Uncommon Weather, RevenueCat, CloudKit, or a model service.
If the user separately enables retained audio, the app saves an audio file and label manifest in protected local storage on that device. Those files are excluded from ordinary backup, do not sync through CloudKit, and leave only through an explicit share action. They are not automatically contributed to a training corpus.
Roast records and private iCloud synchronization
Roast records, temperature samples, beans, roasters, notes, and settings remain on the device and can synchronize through the user's private CloudKit database. Uncommon Weather does not operate a product-data server and cannot inspect or restore that private database.
Artisan interoperability and exports
A user-selected Artisan file is parsed locally. RoastEar creates Artisan JSON, history CSV, or an audio package only after the user requests it. Copies saved, uploaded, or shared remain with the destination or recipient until removed there.
Purchases and legal choices
Apple processes payment credentials. RevenueCat receives an anonymous app-user identifier and limited app, device, offering, transaction, purchase, and entitlement metadata needed to present products, restore purchases, and determine RoastEar Pro access. RoastEar does not send roast, bean, roaster, temperature, note, or audio content to RevenueCat.
The separate legal-choice service receives only signed, privacy-minimal evidence of an acceptance, decline, or withdrawal and does not receive roast or audio content.
Retention and deletion
SwiftData records remain until deleted locally or through available app controls, subject to private CloudKit synchronization. Optional audio remains on the originating device until the user deletes it. Product deletion does not erase exported copies, Apple or RevenueCat purchase records, provider security records, or privacy-minimal legal-choice evidence.
Legal choices and verification
A decline or withdrawal takes effect locally at once and remains limited without a recurring prompt. A user can review the current documents and affirmatively accept from Legal & Privacy settings. A current affirmative acceptance takes effect after it is durably saved on the device and unlocks main-app access while signed-receipt delivery retries in the background. A non-terminal network, Apple, or service outage does not lock the main app or create another prompt. Widgets, Live Activities, and other extension surfaces that require a verifiable cross-process receipt may wait until the server-signed receipt is received and verified. If the server explicitly rejects the exact saved acceptance as terminal, the client quarantines that failed record and returns to the appropriate decision or limited-state screen. A current choice is not repeatedly requested.
Related documents
RoastEar Terms of Service · RoastEar Privacy Policy · Legal Center