Public policy

Privacy policy

Last updated: 20 October 2026. This policy describes what FitForge AI collects, where it goes and the choices you have. FitForge AI asks before anything is sent to an AI service.

Website email and motion choices

The current waitlist consent covers a welcome message, launch updates and confirmed-offer announcements. News about planned loyalty achievements is not a promise of an award, discount or cash prize. Consent version 2026-10-08-v2 records this wording when registration is connected. Unsubscribe through the private link in a welcome email or contact Mostafa using the address below.

The website remembers an explicit Play motion or Pause choice in your browser’s local storage, until you clear that storage. This preference is not sent to the waitlist service. Without an explicit choice, the website follows the device’s reduced-motion setting.

Website and launch waitlist

This website uses no analytics, tracking, third-party fonts, or third-party scripts. The interactive coaching examples are authored, not a live AI service. The waitlist form saves only your email, phone-platform preference, explicit email consent and its version, and registration time. It does not request fitness or health information. The public counter reports active saved registrations. Fifty is the first community milestone, not an invented starting count.

Hosting and durable storage use Cloudflare Pages, Workers and D1. Welcome messages, launch announcements and notifications to [email protected] use Resend when the sender is activated. Storage works independently of email delivery: a successful registration is retained even while messages are waiting to send. A saved registration and a queued email do not guarantee delivery to your inbox.

For abuse prevention the server retains a salted hash of the connection’s IP address with short-lived request counts, not the raw address in the waitlist database. Your registration stays available for launch updates until you unsubscribe or request deletion. The scheduled cleanup removes expired request counts and sent delivery-job records after thirty days, not your registration or pending launch messages. Hosting and email providers may retain their own service logs under their terms.

Each subscriber email includes a private unsubscribe link; confirming it removes your waitlist record and pending messages. Supported mail clients can also unsubscribe in one click. You can request deletion at [email protected]. An email sent manually to this inbox does not automatically increase the site counter. Do not include health, training, or payment details.

Fitness account and health-related data

FitForge AI can store profile information, plans and exercises, workout sessions and sets, nutrition and water logs, XP/progression data, ranks, quests, and account preferences. Body metrics can include weight, body-fat percentage, and optional circumference measurements. Optional medication tracking can include a medication name, dose, appetite, and side-effect notes. A person may voluntarily provide food-allergy or intolerance declarations and an optional free-text note; skipped information remains unknown, and the app never treats an empty declaration as proof that a food is safe.

The app stores this data locally first. When a person signs in, synced records are mirrored to that person’s Supabase account under account-owner row-level security. “Private to the account” does not mean device-only.

There is no verified individual-record deletion control today for body metrics, medication records, or Coach messages. Account deletion is available in the app and is described below and on the public deletion page.

Online food search

After searching the food library on the device, FitForge AI may send a non-empty food-search term directly to Open Food Facts to find additional products. The request contains the term and the app’s identifying User-Agent; it does not include an account identifier, profile, meal log, or allergy declaration. If the service is unavailable, the app keeps showing the local library.

When you scan or type a barcode, the app looks on the device first, then, if you are signed in, in the FitForge shared product list (see “Products added from a label” below), and then may send the barcode directly to Open Food Facts. That request contains the barcode and the app’s identifying User-Agent; it does not include an account identifier, profile, meal log, or allergy declaration.

Returned product data is cached as nutrition data and identified in the app as Open Food Facts data under the Open Database License (ODbL). Open Food Facts data is crowd-sourced. The app validates required serving and macro fields, but it does not treat the data as a safety or medical guarantee.

Progress photos

Progress photos are private by default. Their JPEG files and SQLite rows stay on the device; they are deliberately excluded from normal Supabase sync. They are never sent to the coach or to an AI service. A person can export local copies to a device folder or delete a photo; deletion removes the JPEG first and then the local row, with an honest retry state if either step fails.

AI coach

The coach answers many questions on the device without any AI service. For the others, and only after the person allows “AI coach” in the app, the app sends the typed question, up to eight recent turns and a short context pack to an authenticated FitForge server function, which forwards it to Groq, Inc., an AI company in the United States, to write the answer. The context pack can include profile facts, plan and exercise facts, calculated nutrition targets and summaries, the derived weight trend, weekly training volume, progression and deload facts, and XP, streak and rank facts.

Progress photos, body-scan photos, and medication names, doses and side-effect notes are never part of the coach context. Raw body-fat readings, circumference measurements and raw body-metric history are also excluded. Groq processes the request under its own terms. The permission can be taken back at any time in Settings → AI sharing; nothing more is sent after that.

Photos you analyse with AI

Photos are sent to an AI only after you allow it in the app (“Photo AI”). Four features use it: reading a food label after a barcode scan, estimating the food on a plate from a meal photo, the body scan, and checking a profile photo before friends can see it. The photo you take or choose is sent through an authenticated FitForge server function to Google Gemini, Google’s AI service, which returns the estimate. For a body scan the front and side photos are sent together with your height, weight, age and sex, and any tape measurements you add.

The FitForge server does not store or log food or body photos; Google processes them under the Gemini API terms. A profile photo is sent as a small 192-pixel copy; if it passes the check it is kept on the FitForge server so that your accepted friends can see it, and a photo that fails is not kept. Food results are saved to your food log only when you confirm them. Body-scan photos and results are saved only on your device. The permission can be taken back at any time in Settings → AI sharing. Estimates from photos are a rough guide, not a medical measurement.

Products added from a label

When a barcode is not known, you can photograph its nutrition label (see “Photos you analyse with AI” above) or type the numbers. When you save the product while signed in, and its calories agree with its protein, carbohydrate and fat, the barcode, product name, brand, serving size and nutrition numbers you saved are also added to a shared FitForge product list, so that the next signed-in person who scans the same barcode finds it. The label photo itself is not part of this.

The list does not show who added a product. FitForge keeps a private record of which account added, confirmed or reported each product, only to limit misuse; it is deleted with the account, but the product stays on the list. A person can report wrong numbers on a shared product, and a product reported by three different people is hidden from lookups.

Subscriptions and payments

FitForge plans (Starter, Pro and Elite) are sold as auto-renewing subscriptions through the App Store (Apple) or Google Play (Google), which handle the payment; FitForge AI never receives card or bank details. To know which plan an account has, the app and the FitForge server share the FitForge account identifier with RevenueCat, the subscription service FitForge AI uses, which receives the purchase records the store provides (product, purchase and renewal dates, and the store transaction). The server keeps only which plan the account has and until when. Subscriptions are managed and cancelled in the store account settings; deleting the FitForge account does not cancel a store subscription.

FitForge Creators

People who apply to the FitForge Creators partner program send their name, country, a WhatsApp number, the social platforms they use with links and follower counts, typical views, their topic and audience, how many paying users they expect to bring, and where they will post. Accepted creators later add links to their posts and receive a referral code. This is stored on the FitForge server, read only to review applications and run the program, and deleted with the account.

Account emails

Account confirmation and password-reset emails are sent through Resend, the email service FitForge AI uses. They contain only the message and the link needed for the account.

Sharing and friends

People can choose to connect with friends by a random friend code and see eligible workout/rank/streak activity. The public social surfaces exclude progress photos, body-fat readings, measurements, and medication entries. A shareable personal-record card is generated from verified training progress; it does not include a friend code, email, user ID, or health details.

Your profile page can show a display name you choose, a mascot character and a profile photo. Only people you are connected with as friends — on both sides — can see them; nobody else can. Friends can report a photo or a name, which hides it for them at once; when three different people report the same photo or name it is hidden for everyone until it is reviewed. You can block a friend: the friendship ends on both sides and friend codes will not connect you again. You can change your name and remove your photo at any time, and deleting your account deletes them, together with reports and blocks made by you or about you.

Retention and account deletion

FitForge AI does not claim a retention period, backup policy, infrastructure encryption assurance, or provider deletion timeline that has not been confirmed from the relevant operator documentation. The app’s account deletion flow first removes local private photo files and local SQLite data, then requests server deletion for the authenticated account.

Server deletion removes account-scoped Coach data, training and plan data, nutrition data, body metrics, medication data, progression/rank/quest data, entitlements/quota/dismissal data, friendship/feed/leaderboard data, and the profile. The Auth identity is removed only after that deletion is complete. See Delete account for the web-accessible request path.

Age: adults 18 and over

FitForge AI is for adults 18 and over. The app asks for your birth date before you can use it, and a birth date that shows an age under 18 stops you at a screen that says so. Your age is what you enter; we do not check documents. We do not knowingly collect information from anyone under 18, and an account that shows an age under 18 can be deleted from the app. The coach refuses calorie-deficit advice to anyone under 18 or of unknown age. The body scan is only for adults: the app does not offer it when the birth date on the profile shows an age under 18, the server refuses it, and the AI is told to refuse photos of anyone who may be under 18.

Questions and requests

For a privacy or deletion request, use the FitForge contact address. Do not send a password, progress photo, medication note, or other health detail by email.