Cal 30 icon
Privacy Policy

Your Privacy, Protected

Cal 30 is an AI-powered 30-day calorie and nutrition planner. This policy explains exactly what data we collect, why we collect it, and how we protect it.

Cal 30 Health & Nutrition iOS App Last updated: May 9, 2026
๐Ÿ”’

The short version: Cal 30 stores your nutrition and goal data in your personal Firebase account, uses Google Gemini AI to generate meal plans and scan food photos, and uses Apple Sign In so we never handle your password. We do not sell your data, serve ads, or share your information with advertisers โ€” ever.

1

Account & Authentication

How you sign in and what account data we hold.

Sign In with Apple
Cal 30 uses Apple Sign In exclusively. Apple authenticates your identity and delivers a secure token to our app. We never receive or store your Apple ID password. Apple may provide a private relay email at your discretion โ€” we use this only to associate your account.
Firebase Authentication
Your Apple token is exchanged with Firebase Authentication (Google) to create a secure session. Firebase stores your user ID (UID) โ€” a random, anonymized string โ€” and your relay email if provided. No passwords are stored by us or Firebase.
Session & Keychain
A flag indicating that you have previously signed in is stored in your device's secure Keychain. This lets the app show the Sign In screen on return visits. No personal data is stored in the Keychain.
Account Deletion
You can permanently delete your account and all associated data from within the app (Settings โ†’ Delete Account). This removes your Firebase Auth record, all Firestore documents, and all AI usage logs. Deletion is irreversible and takes effect immediately.
2

Health & Profile Data

What you share during onboarding and how it's used.

Onboarding Information
During setup you provide: gender, age, current weight, height, goal weight, weight-change speed, diet type (e.g. Balanced, Keto, Vegan), food restrictions, health conditions, activity level, country, and preferred meals per day. This data is used solely to calculate your personalized calorie and macro targets and to generate your 30-day plan.
Calculated Metrics
Your BMI, daily calorie budget, and daily protein, carbohydrate, and fat targets are calculated on-device and stored in your Firestore profile. These values are visible only to you.
30-Day Cycle Tracking
Cal 30 tracks which 30-day cycle you are on, your cycle start weight, and your sub-goal target weight for each cycle. This progress data is stored in your Firestore profile and is visible only to you.
No HealthKit Integration
Cal 30 does not read from or write to Apple HealthKit. Your Apple Health data is never accessed by this app.
Medical Disclaimer
Cal 30 is a nutrition planning tool, not a medical device or service. Calorie and macro recommendations are for informational purposes only and do not constitute medical advice. Always consult a qualified healthcare professional before making significant dietary changes, especially if you have existing health conditions.
3

Meal Logs & Food Data

Every meal entry you log and how it's stored.

Manual Meal Entries
Meals you add manually โ€” name, type, portion size, calories, protein, carbs, and fats โ€” are stored in a Firestore sub-collection linked to your account. Your full meal history is accessible only to you.
AI-Generated Meal Plans
When you request a meal plan, your profile data (goals, diet type, restrictions, calorie targets) is sent to Google Gemini to generate personalized suggestions. The resulting plan is saved to your Firestore account. See Section 4 for full AI processing details.
Food Photo Scanning
When you scan a meal photo, the image is sent to Google Gemini Vision AI for nutritional analysis. The image is used only for this single request and is not stored on our servers. The nutritional result is saved to your meal log in Firestore. Camera and Photo Library access requires your explicit permission.
Offline Persistence
Firestore is configured with persistent local caching on your device, so your meal history and profile remain accessible when offline. Changes sync automatically when connectivity is restored.
4

AI Features & Gemini Processing

How Google Gemini powers meal generation, food scanning, and chat.

What Is Sent to Gemini
Three features use Gemini AI: Meal plan generation (sends your goals, diet type, restrictions, and calorie targets โ€” no name or contact info); Food photo scanning (sends the selected image for nutritional estimation โ€” images are not stored after processing); and AI nutrition chat (sends your messages with basic plan context). No uniquely identifying information is included in Gemini requests.
Daily Usage Limits
To protect your data and manage costs, AI usage is capped per user per day: up to 10 meal plan generations, 15 food photo scans, and 40 chat messages. These limits reset at midnight. Usage counts are stored in Firestore and in iCloud Key-Value Store as a local cache.
AI Usage Cost Tracking
An anonymized daily cost estimate (a dollar amount, not personal data) is recorded in Firestore under your UID to enforce per-user daily budgets. This data is not shared with any third party.
Google's AI Data Policy
Requests to Gemini are governed by Google's Privacy Policy and the Gemini API Terms. We use Gemini via Firebase AI Logic, which applies Google Cloud data processing terms. Google does not use Gemini API requests to train consumer models by default.
5

Camera & Photo Library

Optional permissions used only for food scanning.

Camera Access
Camera permission is requested only when you choose to scan a food item. Photos taken are sent directly to Gemini Vision for nutritional analysis and are never stored in your photo library or on our servers.
Photo Library Access
Photo Library access is requested only when you choose to select an existing photo for food scanning. Cal 30 does not browse, index, or store any photos from your library beyond the one you explicitly select.
Revoke Anytime
Both permissions are optional and can be revoked via iOS Settings โ†’ Cal 30 โ†’ Camera / Photos. Revoking these permissions only affects food scanning โ€” all other features continue to work normally.
6

Notifications

Optional daily reminders to log your meals.

Local Notifications Only
All notifications in Cal 30 are scheduled locally on your device using Apple's UserNotifications framework. No push notification server or third-party messaging service is used. Notification content never leaves your device.
Optional Permission
Notification permission is entirely optional. Declining or revoking it has no impact on nutrition tracking or any other core feature of the app.
7

Cloud Storage

Where your data lives and who can access it.

Firebase Firestore
Your profile, meal logs, and AI usage records are stored in Google Cloud Firestore. Each document is scoped to your UID. Firestore Security Rules ensure only the authenticated owner can read or write their data โ€” no other user, and no Cal 30 team member, can access your meal data through the app.
iCloud Key-Value Store
Daily AI usage counts are cached in Apple's iCloud Key-Value Store to enforce daily limits without a network round-trip. This cache does not contain any health or meal data and is governed by Apple's iCloud privacy policy.
No Third-Party Data Sharing
We do not sell, rent, or share your personal data with advertisers, data brokers, or any third party beyond the infrastructure providers in Section 9 (Firebase, Gemini, RevenueCat, Apple). These providers act as data processors under our direction and are bound by data processing agreements.
8

Subscriptions & Purchases

How in-app purchases and billing work.

Apple In-App Purchases
All purchases and subscriptions are processed by Apple through the App Store. Cal 30 never handles, stores, or transmits your payment card information. Apple's Privacy Policy governs all payment transactions.
RevenueCat Subscription Management
Cal 30 uses RevenueCat to verify subscription status and manage entitlements. RevenueCat receives your App Store receipt for verification only. No payment details are shared with RevenueCat. Their handling is governed by the RevenueCat Privacy Policy.
Restore Purchases
You can restore your subscription at any time via Settings โ†’ Restore Purchases. This contacts RevenueCat and Apple to verify entitlements โ€” no new personal data is created or shared.
9

Third-Party Services

Every external service Cal 30 integrates with.

Google
Firebase Authentication & Firestore
Account management and cloud data storage. Data is scoped to your UID and protected by Firestore Security Rules.
firebase.google.com/support/privacy โ†’
Google AI
Gemini AI (via Firebase AI Logic)
Powers meal plan generation, food photo scanning, and nutrition chat. Requests include anonymized goal/diet data or food images. No identifying info is included.
ai.google.dev/terms โ†’
Apple
Sign In with Apple
Provides secure, password-free authentication. Apple handles your identity; we receive only the resulting secure token and optional relay email.
apple.com/legal/privacy โ†’
Apple
Apple In-App Purchases & iCloud KV Store
Processes all payments securely. iCloud KV Store caches AI usage counters for offline enforcement. No health or meal data is stored in iCloud.
apple.com/legal/privacy โ†’
RevenueCat
RevenueCat
Verifies subscription entitlements by validating your App Store receipt. No payment details are shared with or stored by Cal 30.
revenuecat.com/privacy โ†’
10

Children's Privacy

Cal 30 is not intended for children under 13.

Age Requirement
Cal 30 is intended for users aged 13 and older. We do not knowingly collect personal information from children under 13 (or the applicable minimum age in your jurisdiction). If you believe a child has provided data through the app, please contact us at the address below and we will delete the data promptly.
11

Your Rights & Data Controls

What you can do with your data at any time.

Access
You can view all your stored data โ€” profile, goals, and meal history โ€” directly within the app at any time.
Correction
You can edit your profile, goals, and any meal log entry within the app at any time.
Deletion
Individual meals can be deleted within the app. Full account and data deletion is available via Settings โ†’ Delete Account. This permanently removes all your data from Firestore and Firebase Authentication and cannot be undone.
GDPR & CCPA
If you are in the European Economic Area, United Kingdom, or California, you may have additional rights including data portability, the right to object to processing, and the right to lodge a complaint with a supervisory authority. To exercise these rights, contact us at the address below.
12

Security

How we protect your data in transit and at rest.

Encryption in Transit
All communication between Cal 30 and Firebase, Gemini, and RevenueCat is encrypted using TLS 1.2 or higher. Data is never sent over unencrypted connections.
Encryption at Rest
Firestore data is encrypted at rest by Google Cloud using AES-256 encryption. Your device's local Firestore cache is protected by iOS Data Protection (encrypted when the device is locked).
Firestore Security Rules
Server-side Firestore Security Rules ensure each user can only read and write their own documents. No cross-user data access is possible through the app's data model.
No Ads or Tracking SDKs
Cal 30 contains no advertising SDKs, behavioral tracking libraries, or cross-app tracking frameworks. There are no third-party analytics tools beyond those listed in Section 9.
13

Changes to This Policy

How we notify you of updates.

Policy Updates
If we make material changes โ€” such as adding new data types, new third-party integrations, or changing how data is used โ€” we will update the "Last updated" date at the top of this page and, where appropriate, notify you through an in-app message. Continued use of the app after a policy update constitutes acceptance of the revised terms.
Governing Law
This Privacy Policy is governed by applicable law. For EEA users, processing complies with GDPR. For California residents, we comply with the California Consumer Privacy Act (CCPA).
Cal 30
Questions about your privacy?
Reach us at privacy@cal30.app and we'll respond within 48 hours. For data deletion, you can also use Settings โ†’ Delete Account directly in the app.