Zero Deficit LLC
This Privacy Policy describes how Zero Deficit LLC ("Company", "we", "us", "our") collects, uses, and protects your personal information when you use the Apex Fitness application ("App").
1. Information We Collect
We collect the following types of information when you use Apex Fitness:
- +Personal Information: Email address, display name, and authentication credentials (password hash, Google ID, Apple ID).
- +Health & Fitness Data: Age, sex, height, weight, body fat estimates, mobility / injury flags you select, workout logs, cardio logs (including GPS routes you opt into — see §5), recovery metrics (sleep hours, sleep quality, soreness, energy, stress, mood, custom metrics), food diary entries, scanned barcode history, and biometric calculations (BMR, TDEE, macro targets, recovery score).
- +Workout History (used internally for prefill): When you log a set in Quick Log, the per-set Logbook, the Speed Run flow, or the Start Workout tracker, we look up your most recent weight_lifted and reps_completed for that exercise from your own past lifting_logs to pre-populate the input fields. This is purely an internal convenience feature — no exercise history ever leaves our servers or is shared with third parties.
- +Cosmetic Preferences: If you switch between the alternate iOS home-screen app icons (Default, Pro Gold, Streak Master, Launch Edition, Founder), we store your selection (active_app_icon) on your user record so the choice syncs across devices. Eligibility for each variant is computed from your existing subscription tier, max workout streak, account creation date, and waitlist referral count — we do NOT collect new data for this feature.
- +Camera Data (on-device only): When you use the Barcode Scanner, your device camera captures a live video stream to decode product barcodes locally via the @zxing/browser library and the native BarcodeDetector API. No camera images, video, or frames are uploaded, stored, or transmitted off-device. Only the decoded numeric barcode string (e.g. 3017620422003) is sent to our servers.
- +Location Data (GPS Cardio — opt-in): When you start a cardio session of type Run, Walk, Hike, or Ride and tap "Track with GPS", the App requests your device's precise location ("While Using the App") and records timestamped latitude/longitude points, accuracy, speed, and altitude to compute distance, pace, and elevation gain. Location is only collected while a cardio session is actively running and is stopped the moment you end or pause the session. Location data is stored inside your own private cardio_sessions record and is never shared with advertisers or third parties.
- +Apple HealthKit Data (iOS, opt-in): If you enable Apple Health sync, we read sleep analysis (including sleep stages), heart rate, heart rate variability (HRV), resting heart rate, step count, active energy, body weight, walking/running and cycling distance, and workout samples from Apple Health, and write your completed Apex workouts (duration, calories, distance) and weigh-ins back to the Health app. After you opt in, new Health samples sync automatically in the background to your private Apex account to power your Recovery Score — you can stop this at any time by revoking Health access in iOS Settings or clearing your Health data from within the app. Your health data is never sold, never shared with advertisers or data brokers, and never used for advertising.
- +Push Notification Tokens: If you opt into reminders, we store your APNs device token (iOS) or Web Push subscription (browsers) solely to deliver workout reminders, PR celebrations, weekly summaries, and recovery insights.
- +Payment Information: Subscription tier, billing cycle, and payment identifiers. Payment card details are processed exclusively by Stripe, Inc. (web), Apple In-App Purchase (iOS), or Google Play Billing (Android) and are never stored on our servers.
- +Local Storage (browser / WKWebView): Apex stores a small amount of non-sensitive data on your device for performance: JWT auth tokens, theme/units preferences, dismissed-tip flags, the "Always show scroll bar" preference (zd_always_show_scroll_bar), barcode scanner permission hint state, and onboarding step progress. No third-party tracking cookies are used.
- +Usage Data: App interaction data, feature usage patterns, push notification preferences, rate-limit counters (per-IP, non-identifying), and performance metrics.
2. How We Use Your Information
- +To provide personalized fitness and nutrition tracking
- +To calculate your BMR, TDEE, macro targets, and recovery score
- +To track progressive overload and workout performance
- +To prefill weight, reps, and sets in Quick Log / Logbook / Speed Run / Start Workout flows from your own past lifting history
- +To auto-finish a workout when the last set of the last exercise is logged (Workout Complete drawer)
- +To generate AI-powered workout programs, meal plans, and recipes
- +To suggest injury-aware exercise swaps based on the mobility issues you select in your profile
- +To look up scanned barcodes against public food databases (Open Food Facts, USDA FoodData Central)
- +To compute distance, pace, and elevation during GPS cardio sessions you start
- +To process subscription payments via Stripe (web), Apple IAP (iOS), or Google Play Billing (Android)
- +To compute eligibility for cosmetic perks (alternate iOS home-screen app icons) from your existing subscription tier, max streak, signup date, and waitlist referrals — no new data collected
- +To send transactional and notification emails via Resend, including the optional 5-step launch waitlist drip campaign you implicitly opt into when joining the waitlist
- +To send optional push notifications via Apple APNs, Firebase Cloud Messaging (Android), and Web Push (VAPID)
- +To improve app functionality and user experience
3. Data Storage & Security
Your data is stored securely using industry-standard encryption. We use MongoDB with encrypted connections for data persistence. All API communications use HTTPS/TLS. Passwords are hashed using bcrypt and are never stored in plaintext. Barcode scanner camera frames are processed entirely on-device and are not transmitted or stored.
4. Third-Party Services
We integrate with the following third-party services:
- +Stripe, Inc.: Processes web subscription payments. Subject to Stripe's Privacy Policy. We store only your Stripe customer ID.
- +Apple In-App Purchase: Processes iOS subscription payments. Subject to Apple's Privacy Policy. We store only transaction IDs and receipt verification results.
- +Google Play Billing: Processes Android subscription payments. Subject to Google's Privacy Policy. We store only purchase tokens and receipt verification results.
- +OpenAI (via Emergent): Powers AI workout generation, AI meal plan generation, recipe generation, and the conversational workout editor using GPT-4o. Workout/meal prompts and user biometrics are sent for processing but are not retained by OpenAI for training.
- +Apple HealthKit: If enabled, supplies health metrics on-device only. Apple does not receive any of your Apex data.
- +Apple APNs: Delivers iOS push notifications. Receives only your anonymous device token and the notification payload.
- +Firebase Cloud Messaging (Android): Delivers Android push notifications. Receives only your FCM registration token and the notification payload. Subject to Google's Privacy Policy.
- +Resend: Delivers transactional and notification emails, including the 5-step launch waitlist drip campaign. Subject to Resend's Privacy Policy. Only your email address and first name are shared.
- +Open Food Facts: Public food database. When you scan a barcode we send only the numeric barcode string; no personal data is shared.
- +USDA FoodData Central: U.S. government food database used as a fallback for barcode lookups. Only the numeric barcode string is sent; no personal data is shared.
- +Google OAuth: If you choose to sign in with Google, we receive your email and profile name only.
- +Apple Sign In: If you choose to sign in with Apple, we receive your email (or relay email) and name only.
5. Permissions We Request
The App requests the following device permissions only when you actively use the feature. Declining a permission disables that feature but does not affect the rest of the app.
- +Camera (NSCameraUsageDescription): Required to scan food barcodes from your Food Diary. Camera frames are processed on-device only; no images are uploaded.
- +Location While In Use (NSLocationWhenInUseUsageDescription): Required to track distance, pace, and route during a GPS cardio session. Location is only used while the session is active and is stopped when you end or pause the workout. We do NOT request background or always-on location.
- +Notifications: Optional. Used to deliver workout reminders, PR celebrations, weekly summaries, and recovery insights.
- +Apple HealthKit (Share / Update): Optional. Lets Apex read your existing health metrics and write completed workouts back to Apple Health.
6. Data Retention & Soft-Delete
We retain your data for as long as your account is active. When you delete your account, we perform a "soft-delete": your account is immediately signed out and hidden, and all personal data is scheduled for permanent purge 30 days later. During that 30-day window you may sign back in to restore the account (Settings > Restore Account). After the 30-day window, all personal data — including workout logs, food logs, cardio sessions (GPS points included), scan history, recovery metrics, and biometrics — is permanently purged and cannot be recovered. You may also perform an immediate "Delete My Data" action that wipes all fitness data while keeping your account.
7. Your Rights
- +Access your personal data (Settings > Export My Data)
- +Request data correction (Settings > Edit Profile)
- +Request data deletion (Settings > Delete Account or Delete My Data)
- +Restore a soft-deleted account within 30 days
- +Export your data in machine-readable format (JSON)
- +Opt out of push notifications (Settings > Notifications)
- +Revoke camera / location / HealthKit permissions at any time via iOS Settings
- +Opt out of non-essential data processing
8. Children's Privacy
Apex Fitness is not intended for users under 16 years of age. We do not knowingly collect data from minors.
9. Subscription Receipt Verification (2026 Policy Compliance)
When you purchase, restore, or cancel a Pro or Elite subscription on iOS or Android, our backend independently verifies the transaction with Apple's App Store Server API or Google Play Developer API before granting or revoking access. We do not blindly trust transaction state reported by the device. This server-side verification is required by Apple App Review Guideline 3.1.2 (Subscriptions) and Google Play's 2026 subscription policy. The only purchase-related data we receive and store is the receipt, transaction ID, product ID, purchase date, expiration date, auto-renew status, and (where provided) the subscription's original transaction identifier. Card details are never sent to or stored on our servers — they are handled exclusively by Apple, Google, or Stripe.
10. Changes to This Policy
We may update this Privacy Policy from time to time. We will notify you of material changes through the App or via email.
11. Related Policies
This Privacy Policy should be read together with our Terms of Service (/terms), Data Policy (/data-policy), and Legal Disclaimer (/disclaimer), which describe additional important information about your use of the App, including health and safety disclaimers and subscription terms.
12. Contact Us
For privacy-related inquiries, contact Zero Deficit LLC at: privacy@apexfitness.ai