Privacy Policy

Forge Pulse · Version 3.9 · Effective November 6, 2026

Grey Men Coffee LLC (“Forge Pulse,” “we,” “us”) provides a fitness and wellness app for nutrition logging, workouts, recovery, activity, and optional AI-assisted features. This policy explains what we collect, why we use it, who processes it, how long it is retained, and the choices available to you.

Wellness, not medical care. Forge Pulse does not diagnose, treat, prescribe, or replace a qualified health professional. If you enable GLP-1 Mode, the app may automatically adjust protein, calorie, and training targets using the bounded fitness rules described below. These estimates are not medication or treatment advice; custom targets remain under your control.

1. Information we process

We do not collect biometric templates. Face ID, Touch ID, and Android biometric matching happen entirely through the operating system, which returns only success or failure. Current Android Coach dictation opens the selected keyboard; Forge Pulse receives entered text and does not request microphone access or call Android SpeechRecognizer in this flow. Keyboard-provider dictation follows that keyboard's settings and privacy policy. On iOS, Forge Pulse uses Apple's Speech framework only when the user taps the mic to dictate a message in the AI Coach. On-device recognition is requested where supported, otherwise Apple's speech service may return a transcription. Forge Pulse does not record or store voice audio or send it to its servers. Coach text the user sends is covered as other user content.

2. How and why we use information

Purpose Examples Primary basis
Provide the service Account, sync, workouts, nutrition logs, targets, subscriptions Contract
User-requested optional features AI analysis, health sync, GPS routes, ride weather, analytics Consent
Reliability and security PII-scrubbed crash reports, abuse prevention and cost control (device checks and AI pauses), authentication Legitimate interests
Legal compliance Consent records, verified deletion records, required responses Legal obligation

Health permissions, AI processing, GPS recording, Weather on rides, wearable connections, and analytics are optional. You may withdraw consent in Forge Pulse under Profile → Settings → Privacy & security → Data & Privacy and in system settings. Withdrawal stops new processing for that purpose but does not undo lawful processing already completed.

3. AI processing

When you request an AI feature, Forge Pulse sends the necessary photo or text through a Supabase edge proxy to Anthropic’s commercial Claude API. We do not use these inputs to train Forge Pulse models. Under Anthropic’s commercial API terms, inputs and outputs are not used for model training and are deleted within 30 days by default; they may be retained longer for Usage Policy enforcement or legal obligations. On supported LiDAR scans, a depth image of the plate and its surroundings is also included to help estimate portion size.

AI consent covers food scans, coaching, training programs and meal plans. Alongside the photo or text you submit, coaching and planning requests can include your name, age, sex, height, weight, goals, preferences, nutrition targets, logged meals and activity, and summaries such as sleep, steps, heart rate and heart-rate variability (HRV), readiness, measurements and progress. This context may include data imported from Apple Health or Health Connect with your permission. Only context relevant to the requested feature is included. You can keep AI off while using manual logging and other non-AI features. The app asks prior AI users to review this scope before enabling further AI calls; this decision does not change their Apple Health, location or analytics preferences.

Some AI-written suggestions are prepared automatically when you open a screen, rather than when you press a button — for example the adaptive macro suggestion on the Macros screen and the training-trend and performance insights in History and Home. They send the same kinds of context to the same provider, only while AI consent is on, and stop when you turn AI off.

Once a month, while AI consent is on, our server may also send Anthropic the short text description stored with a meal correction you made in the last 30 days (not the photo, your name or your account details) and ask it to write alternative descriptions of the same food, which are used to improve future scan suggestions. This runs without you pressing anything, is covered by the same Anthropic terms as above, and stops when you turn AI off.

Pausing AI features. Besides the usage limits of your plan, AI features can be paused for an account in two ways. Automatically, with no person involved: we add up what an account’s AI requests cost us each day (UTC) and over a rolling 30 days; once an account passes a first limit for the day its AI requests may be answered by a cheaper AI model, and once it passes a higher limit its AI features are paused until 00:00 UTC. By hand: if an account’s AI use is far outside normal personal use, for example automated or shared use, or use that tries to get around the limits or the device checks, a person at Forge Pulse may pause AI features for that account for a set time or until we lift the pause. We decide using the service-operation records. We keep a record of each time an account passes one of those daily limits or the 30-day cost line we watch, and of the latest pause by hand on an account (the account, the day or time, and the amount or the reason). These records are removed when the account is deleted. The rest of the app keeps working, including barcode scans and manual entry, and you can ask us to review a pause at hello@forgepulse.app.

AI nutrition results are estimates. Review them before saving and use manual entry where accuracy matters. If GLP-1 Mode is enabled, the preference stays in encrypted app storage on your device and local calculations may adjust protein, calorie, and training targets. When you request AI coaching, a program, or a meal plan, the prompt tells Anthropic only that GLP-1 Mode is enabled so the response can respect the same wellness boundaries. Forge Pulse does not request or transmit a medication name, dose, dosing schedule, prescriber, diagnosis, or side-effect history through this preference.

Do not use Forge Pulse for diagnosis, medication decisions, or emergency guidance. The app does not recommend dosing, titration, medication choice, interactions, or stopping treatment.

Saved meal photos

Saved meal photos are kept as durable files on your phone, with no automatic 30-day local expiry. Deleting a meal removes its log. After the Undo period, a local photo is removed only when the app can prove no other saved meal needs it; uncertain local cleanup remains pending. A photo still needed by another saved meal is retained. Pending photo saves have a retry action; logging the meal does not prove the photo has finished saving. Removing the app, losing the phone, or device failure can remove local-only photos.

4. Health, location, and background behavior

Apple Health and Health Connect access occurs only after system permission and is limited to the categories shown in the permission flow. Raw period-start dates, cycle length, day-in-cycle, preferences, and symptom or mood logs stay encrypted on the device. If Cycle Sync is enabled and the user invokes AI Coach, an AI training program, or an AI meal plan, only the current phase name (for example, “luteal”) is sent to Anthropic with that request. No date, day number, symptom, or mood log is sent. The one thing derived from cycle data that does sync is the numeric calorie and protein target, which is adjusted for your phase and saved to your account like any other target. Self-reported GLP-1 status is likewise device-local except for the enabled/disabled context described above when the user invokes an AI feature.

Outdoor cardio GPS runs only during an explicitly started session and may continue while the screen is locked so the route remains accurate. The workout rest timer uses an ordinary scheduled local notification when the app is backgrounded. Forge Pulse declares the iOS audio background mode so spoken coaching you switched on can continue through screen lock during that same active session; it plays only coaching audio you asked for, ducks other audio for each cue, needs no microphone access, and is released when the session ends. Forge Pulse does not use a silent-audio keep-alive to hold the app awake, and the rest timer holds no audio session at all.

Bluetooth is used only while you set up or record a bike ride, and never to find your location. If you decline the Bluetooth permission, rides work exactly as before. On Android 11 and earlier, the operating system requires the Location permission before any app can scan for Bluetooth devices; Forge Pulse does not derive your location from Bluetooth. A saved sensor summary syncs with the rest of that workout under the same security controls, is removed with the workout or your account, and is never shared with an accountability partner.

On iOS, Forge Pulse declares the Bluetooth background mode so a sensor you have connected for a bike ride can keep sending readings while your screen is locked or the app is in the background during that ride, subject to how iOS manages background apps. It is used only to talk to sensors you chose: Forge Pulse does not advertise or broadcast over Bluetooth, starts a search for new sensors only when you open the Bluetooth sensors screen or tap Find sensors, and closes its sensor connections when you stop, save, or discard the ride or close the ride screen.

Cardio maps are drawn with Mapbox. When Mapbox is unavailable, Forge Pulse draws your route on a plain background with no map tiles and contacts no other map-tile provider. To draw the map, Mapbox receives the map area being shown — during a live session, the area around your current position — but not your recorded route or your Forge Pulse account identifier. Forge Pulse switches off Mapbox’s optional telemetry. See section 5.

When you save an outdoor cardio session on iPhone, Forge Pulse asks Apple’s maps service what place the route is in, so a route you repeat can be named for it (for example “Delta Park loop”) instead of only by its shape. The only location sent is one coordinate near the middle of the route, rounded to about 100 metres (finer east–west the further you are from the equator). Your route and your Forge Pulse account are not sent, and neither is your start point: if the middle of the route is within about 250 metres of where you started or finished, such as a lap of a block, nothing is sent at all. As with any network request, Apple also receives ordinary request details such as your IP address. This happens at most once each time you save a session, and when you race a ghost to its finish and the ghost’s run already has a place name, Forge Pulse reuses that name and sends nothing. Apple’s answer is used only to name the route. It is stored encrypted on your device, is not uploaded to your account or synced, and stays there until you delete the session, clear older history, reset the local cache, erase device data or delete your account; names for sessions that automatic history trimming has already removed are not shown anywhere and are dropped, oldest first, once about 500 are kept. On Android no lookup is made; offline, or if Apple does not answer, nothing is stored. In each case routes keep their descriptive names. Apple handles the request under Apple’s own privacy terms. See section 5.

Weather on your ride map (optional, only if you say yes)

If you turn on Weather on rides, the 3D map of a live walk, run or ride can show the sky for the weather where you are. To do that, while that map is on screen Forge Pulse sends one rounded position to Apple Weather (Apple’s WeatherKit service) through our server: when the map starts, and then about every five minutes. The position is rounded to a grid cell up to about 5.6 km (3.5 miles) across before it leaves your phone. We do not send your exact position, your route, your name or your account to Apple. We do not store the position or the weather that comes back: neither is written to our database or logs, and the reply is held in memory for a few minutes only (a request counter with no position is kept briefly to stop abuse). Apple handles the request under Apple’s own privacy terms. When the sky is drawn from Apple’s weather the map shows the Apple Weather mark and a link to Apple’s weather data sources; your phone loads that mark from Apple’s servers, so Apple also receives ordinary request details such as your IP address when it is first shown.

The question is asked once, the first time a map could use it, and the feature is off unless you say yes. You can change your answer at any time in Profile → settings gear → Privacy & security → Data & Privacy → Weather on rides; turning it off stops the requests at once. The feature stays off for everyone until we switch it on in the app’s server settings.

5. Processors and recipients

Before we share data with a provider, we confirm that its written terms commit it to give that data the same or equal protection that this policy states and that Apple’s App Store Review Guidelines require. This covers Supabase, Anthropic, RevenueCat, Sentry, PostHog, Expo, Mapbox and Cloudflare. Apple, Google, Open Food Facts, USDA FoodData Central and jsDelivr handle requests under their own terms and privacy policies.

Processor Purpose and data
Supabase Authentication, database, storage (including profile photos), and edge functions for account and synced app data.
Anthropic User-requested Claude API analysis and generation; meal images, text, relevant profile and fitness/health context, plus the optional current cycle phase and GLP-1 Mode enabled status described above, with commercial API retention described above. Once a month, while AI consent is on, our server may also send the short stored description of a meal correction you made (section 3). When you upload a profile photo, it is also sent for an automatic safety check before an accountability partner can see it (whether or not you have a partner yet), only while AI consent is on; the same terms apply, and we keep only the result (allowed or not allowed).
RevenueCat Subscription and entitlement management using account, device, and purchase identifiers.
Sentry PII-scrubbed crash/error reporting; consent-gated performance telemetry. A user ID may be attached with Analytics consent.
PostHog US Cloud Consent-gated, PII-scrubbed product analytics linked to user ID. United States region; session replay disabled; no advertising use. Earlier app versions may have allowed IP-derived approximate location in optional analytics. Updated versions ask PostHog not to add that location to new events; this setting does not delete existing analytics records.
Expo Push-notification delivery and over-the-air updates, including push token and app/build delivery telemetry.
Apple and Google App distribution, sign-in (Sign in with Apple and Continue with Google), payments, health frameworks, maps/location platform services, push notifications and, on iPhone, speech recognition when you dictate to the Coach (on your device where supported, otherwise Apple’s speech service), as applicable. If you choose Continue with Google, Google receives your sign-in request and shares basic profile details, such as your name and email address, with our authentication provider Supabase to create your account; Forge Pulse sends Google none of your fitness, health or meal data. On iPhone, Apple’s maps service also receives one coordinate near the middle of a saved cardio route, rounded to about 100 metres (finer east–west away from the equator), so the route can be named (see section 4). On iPhone, when the device check described in section 1 is switched on, Apple’s App Attest service also vouches for a key created in the phone’s secure hardware; Forge Pulse sends Apple none of your account details for it.
Apple WeatherKit Only if you turn on Weather on rides: one position rounded to a grid cell up to about 5.6 km (3.5 miles) across, sent by our server when a live map starts and about every five minutes while it is open; no account identifier and no route. We store no position or weather; only a request counter with no position is kept briefly. Separately, your phone loads Apple’s Weather mark from Apple’s servers when the weather credit is shown (ordinary request details such as IP address). Used to match the live map’s sky to the weather where you are, and for Apple’s required credit (see section 4).
OpenFoodFacts and USDA FoodData Central Food-database search queries without a Forge Pulse account identifier.
Mapbox Map styles, map tiles, and 3D terrain and building data for the cardio maps. Receives ordinary request metadata such as IP address and device details, the map area being shown (during a live session, the area around your current position), and an identifier generated by the Mapbox SDK that Mapbox uses to count monthly active users for billing. No Forge Pulse account identifier and no recorded route. Forge Pulse switches off Mapbox’s optional telemetry (usage and location event collection) when a map starts.
jsDelivr Public exercise-media delivery; ordinary request metadata without a Forge Pulse account identifier.
Cloudflare Routes and protects requests from the app to our server functions at api.forgepulse.app: AI meal and menu scans, AI coaching and plans, the iPhone device check (when switched on), food search, recipe import, weather, meal-correction learning, age confirmation, data export, account deletion, sign-in checks, Sign in with Apple token exchange and MFA recovery codes. Those requests pass through Cloudflare’s network, where its firewall, bot protection and rate limiting check them before they reach Supabase, so Cloudflare handles the content of those requests in transit (including a meal photo or coach message you submit, the words of a food search, which are part of the request address, and the sign-in token that accompanies each request) together with ordinary request metadata such as IP address and device details. Cloudflare’s security logs and analytics record that metadata; the Forge Pulse code running on Cloudflare stores nothing. Account sign-in, database sync, realtime and file storage go to Supabase directly and do not pass through Cloudflare.

If you pair with an accountability partner, each of you sees the other’s display name and profile photo (the photo only after it has passed an automatic safety check, while AI consent is on), whether the other has checked in that day (yes/no) or is taking a rest day, and the nudges and reactions you send each other; this drives your shared streak. Logging a workout checks you in for the day automatically. When your own readiness check-in says to rest, you can choose “Take a rest day” to protect the streak, and your partner then sees that you are resting today and that your readiness was low. You can also switch on, one at a time and each off by default, whether you trained today (yes/no), whether you did cardio today (yes/no), whether you logged nutrition today (yes/no), how many workout sessions you have done this week (a count), and an approximate daily step count (rounded, not exact). Exact figures, individual workouts or sets, meals, body weight and GPS or route data are never shared, and nothing is shared with anyone except your one partner. You can switch any of those optional signals off at any time, which stops future sharing immediately. Partner features include report/block controls. We do not sell personal information or share it for cross-context behavioural advertising.

6. Retention and deletion

Delete your account in Profile → settings gear → Privacy & security → Delete my account, or use the public deletion page. Primary account records are removed through the deletion service. External processors may complete accepted deletion work asynchronously or require manual follow-up; we complete account-deletion requests within 30 days. Active subscriptions must be cancelled separately through Apple or Google to prevent future renewal.

7. Your choices and rights

Depending on where you live, you may request access, correction, export, deletion, restriction, objection, or portability, withdraw consent, or appeal a response. California residents may request information about collected data and opt out of sale or cross-context behavioural sharing; Forge Pulse does neither. European and UK residents may contact their supervisory authority after contacting us.

Turn off Weather on rides at any time: Profile → settings gear → Privacy & security → Data & Privacy → Weather on rides. It is off unless you turn it on.

Use in-app export and deletion controls or email hello@forgepulse.app. We may verify your identity before fulfilling a request.

8. Security and international transfers

We use TLS in transit, app-private storage, OS secure storage for encryption keys, row-level database security, token validation, least-privilege server functions, and PII scrubbing for telemetry. No system is perfectly secure. Processors may handle data outside your country. Optional product analytics is processed by PostHog US Cloud in the United States. Contact hello@forgepulse.app for information about the safeguards applicable to your data.

9. Children

Forge Pulse is intended for users age 18 and older and is not directed to children. Contact us if you believe a child provided personal data so we can investigate and delete it.

10. Changes and contact

We update the version and effective date at the top of this policy when what we collect, why we use it, or who receives it changes materially. After such a change the app shows a notice the next time you open it, with a button to read the full policy and a button to be reminded on your next visit. Confirming that you have reviewed the policy is saved on your phone only; it does not switch any AI, health-sync or analytics choice on or off. Those choices change only when you change them, or when we ask you again in the app because the choice itself has changed. We do not currently email members about policy changes.

Version 3.9 (November 6, 2026) adds our confirmation that the eight providers that process data for us give that data the same or equal protection; describes the on-phone device safety check, the monthly use of meal-correction descriptions by Anthropic and more detail on service-operation records; names Continue with Google and speech recognition among the recipients in section 5; corrects the accountability-partner paragraph (rest days and automatic check-in); describes the optional Weather on rides feature (a rounded position sent through our server to Apple WeatherKit, only if you say yes), the iPhone device check and the pausing of AI features for an account; describes saving meal photos to your Photos app (optional, iPhone only); removes the description of the optional photo backup, which the app no longer has; says that the sex you entered also sets the default appearance; and describes how the in-app policy notice works. It also includes three changes that were added to this text without a version change: the corrected account-deletion path in section 6 (October 25, 2026), the Support card paragraph in section 1 (October 31, 2026) and the profile-photo paragraphs (November 7, 2026), which say that an accountability partner sees your profile photo after an automatic safety check. Version 3.8 (October 22, 2026) clarifies deferred per-meal remote photo cleanup and pending local cleanup when shared use cannot be ruled out. Delete all photo backups and account deletion remain available. Version 3.7 (October 22, 2026) adds separately opted-in private meal-photo backup, its retention and deletion controls, and clarifies durable phone storage. Policy acknowledgement does not enable backup. Version 3.6 (October 3, 2026) adds Cloudflare to section 5 and formally versions the Bluetooth ride-sensor disclosure in sections 1 and 4, which was added to this text earlier without a version change. Version 3.5 (September 21, 2026) replaced MapTiler and OpenStreetMap with Mapbox as the cardio-map provider.

On October 12, 2026 sections 1, 3 and 6 were clarified to name automatic AI suggestions and service-operation records. This is a clarification of existing behavior: what is collected, why, and who receives it did not change, so the version and effective date in force at that time were unchanged.