Effective Date: May 1, 2026 · Last Updated: July 12, 2026
CycleBalance ("we," "our," or "us"), operated by Huggler Holdings LLC, a Texas limited liability company, is committed to protecting your privacy. This Privacy Policy explains how we collect, use, and safeguard your information when you use the CycleBalance iOS application (the "App") and our website at cyclebalance.app (the "Website"). We built CycleBalance with a privacy-first philosophy: your health logs stay on your device by default, and the limited optional services we use are described below.
Your health records stay on your device by default. CycleBalance stores personal health information locally on your iPhone using on-device storage and on-device machine learning (Core ML). There are no third-party analytics SDKs or third-party advertising trackers connected to your health logs. Optional services are clearly separated: barcode lookup sends only the UPC/EAN code you choose, while a fresh Photo Estimate sends one compressed meal photo to Google Gemini only after you explicitly confirm. Exact reuse of a previously reviewed meal stays on your device.
When you use the CycleBalance app, you may enter personal health information such as:
This saved health history is stored exclusively on your device. It is not transmitted to CycleBalance servers, and we have no ability to access, view, or retrieve it. Meal photos and reviewed meal estimates are stored locally only after you save them. If you use barcode lookup, the UPC/EAN code is sent to the selected food database so the app can display a reviewed meal draft; the resulting reviewed nutrition record is stored locally. The optional handling of a newly selected meal photo is described next.
When Photo Estimate is available, CycleBalance first normalizes the selected meal photo on your device and checks whether it exactly matches a meal you previously reviewed. If you choose Use Previous Meal, the reviewed draft is restored locally and the photo is not sent to CycleBalance, Google, RevenueCat, or any other remote service.
For a fresh estimate, CycleBalance identifies Google Gemini as the third-party AI processor and asks you to confirm before uploading. If you continue, the app sends one compressed JPEG through the CycleBalance meal-analysis service to Google Gemini. Barcode lookup and manual entry remain available without photo analysis.
CycleBalance does not retain the raw uploaded photo on its proxy. The app and proxy may each retain an exact-result cache for up to 24 hours so an identical request can be reused without another AI call or quota charge. The proxy cache contains a structured meal-nutrition estimate under a pseudonymous identifier, not the raw photo. Daily scan-count records expire after three days, and trial-total scan-count records expire after thirty days. Server application logs retain only an image-hash prefix, provider and model identifiers, token and cost information, quota tier, budget mode, response status, and cache status for up to thirty days; they do not contain the meal photo, meal name, structured estimate, or app-user identifier. Cloud Run HTTP request logs for the meal-analysis service are excluded from the project's default log bucket.
Google states that paid Gemini requests are not used to improve its products. Under Google's standard paid-service posture, prompts, contextual information, and outputs may be retained for up to 55 days solely for abuse monitoring and required legal or regulatory disclosures. Google-authorized personnel may review content flagged by safety systems under controlled procedures.
If you choose to contact us through one of the forms on our Website (such as the contact form or the support form), we collect:
This information is submitted voluntarily and processed through Formsubmit.co, a third-party form handling service that delivers the message to our support inbox. We use this information solely to respond to your inquiry.
The Website itself does not use cookies, third-party advertising trackers, behavioral analytics, or fingerprinting. We do not set any non-essential cookies, and your visit is not tracked across other websites.
Your health data is used solely within the app on your device to:
Core ML pattern insights are processed on your device. CycleBalance does not send health logs, HealthKit samples, symptom entries, or journal photos to external servers for analysis. The only meal-photo exception is a fresh Photo Estimate that you explicitly confirm, as described above.
We use the information you provide through our contact and support forms solely to:
We do not use this information for advertising, profiling, or unsolicited marketing.
Your saved health history in CycleBalance is stored locally on your device. We leverage iOS built-in security features, including:
Because your saved health history is stored only on your device, if you delete the app or lose your device, that history cannot be recovered by us. We recommend using your device's built-in backup features if you wish to preserve it.
For Photo Estimate, the app and proxy exact-result caches expire after no more than 24 hours. Pseudonymous daily quota records expire after three days, trial-total quota records expire after thirty days, and minimal server application logs expire after no more than thirty days. CycleBalance does not maintain an account that can retrieve these pseudonymous records; they are automatically deleted after their stated retention periods. Deleting a saved meal removes its local repeat-meal record, and deleting all CycleBalance data removes local meal photos, nutrition records, and repeat-meal fingerprints.
Contact and support submissions are processed by Formsubmit.co and delivered to us via email. We store this information only for as long as needed to handle your request, then archive or delete it. We do not sell, rent, or share it with third parties for marketing purposes.
CycleBalance is designed to minimize third-party involvement:
We do not sell, trade, or rent your personal information. Because your saved health logs are stored locally on your device, we are technically unable to share them. Limited optional service requests described above transmit only the data needed for that feature, such as a UPC/EAN barcode for product lookup, purchase receipt information for subscription access, or one compressed meal photo after you confirm a fresh Photo Estimate.
You may choose to share data from the app (for example, exporting a PDF health report, CSV data export, or JSON backup). Any such sharing is initiated solely by you and is under your control.
We may disclose information submitted through Website contact or support forms if required by law, valid legal process, or governmental request.
Your saved health history resides on your device, giving you direct control over it:
Photo Estimate is optional. You can use manual meal entry or barcode lookup instead, close the confirmation without uploading, or reuse an exact previously reviewed meal locally. Pseudonymous Photo Estimate cache and quota records cannot be retrieved through a CycleBalance account and expire automatically on the schedules described above.
You may request access to, correction of, or deletion of any information you submitted through our Website contact or support forms at any time by contacting us at Contact@cyclebalance.app. We will process your request within 30 days.
If you are a California resident, the California Consumer Privacy Act (CCPA) provides you with specific rights regarding your personal information:
To exercise your rights, contact us at Contact@cyclebalance.app.
If you are located in the European Economic Area (EEA), United Kingdom, or Switzerland, you have additional rights under the General Data Protection Regulation (GDPR):
To exercise any of these rights, please contact us at Contact@cyclebalance.app. We will respond to your request within 30 days.
CycleBalance is not directed at children under the age of 13. We do not knowingly collect personal information from children under 13. If we become aware that a child under 13 has provided us with personal information through one of our Website forms, we will take steps to delete such information promptly.
If you are a parent or guardian and believe that your child has provided us with personal information, please contact us at Contact@cyclebalance.app.
We may update this Privacy Policy from time to time to reflect changes in our practices or for legal, regulatory, or operational reasons. If we make material changes, we will notify you by updating the "Effective Date" at the top of this page and, where possible, through in-app notification.
We encourage you to review this Privacy Policy periodically to stay informed about how we are protecting your data.
If you have any questions, concerns, or requests regarding this Privacy Policy or our data practices, please contact us: