Privacy Policy
Effective October 11, 2026
This policy explains how the 150g app and 150g.club collect, use, and store information when you track meals and protein.
Information you provide
Your account includes your account identifier and the email and profile information you share through email sign-up, Apple, or Google. Your personal details include the date of birth, height, weight, gender, and activity level you provide. Age is calculated from your birth date. Your setup can also include your weight goal, target weight, types of training, training frequency, whether you already have a protein target, and whether a professional referred you. We store your initial setup, chosen protein goal, and the version of the Terms and Privacy Policy you accepted, as well as your current editable personal details. We also store the meals, dates, notes, quantities, estimates, corrections, and meal photos you choose to save.
Apple Health and Health Connect
On iPhone, 150g requests permission to read active energy, heart rate, steps, body weight, workouts, date of birth, height, and biological sex. It also requests permission to read and write carbohydrates, dietary energy, sugar, fiber, protein, saturated fat, sodium, total fat, and water, and to write active energy, body weight, and workouts. You choose which categories to allow in Apple Health. The current app reads only your date of birth, biological sex, height, weight, steps, and workouts, including each workout’s average heart rate, and does not write to Apple Health. Granting permissions does not itself export or change any Health records.
When you connect Apple Health during setup, 150g reads your full date of birth, biological sex, and latest height and weight for you to review. The values you confirm become your personal details and are saved with your 150g account. If you have allowed access and your saved date of birth, height, or weight is missing, 150g fills it in from Apple Health. Steps and workouts are read on your iPhone to show your activity in Report, to suggest training answers during setup, and to adjust recommended targets for recent training in Health Targets. 150g does not upload your individual step or workout records or heart rate. When your targets are calculated from your recent activity, a short summary of that activity is saved with them: during setup, and in Health Targets when you change an answer that recalculates your targets or dismiss recommendations. The summary is your average daily steps; the number of workouts, strength sessions, and workout days; and the training level, daily activity level, and recommendation reason worked out from them. You can change the sex and training answers suggested from Apple Health.
On iPhone, you can decline Health access and enter your details manually. You can change Health permissions in your iPhone’s Health or Settings app. Revoking access stops future reads; it does not delete information already saved to your account. You can edit your current personal details in Profile; the initial setup snapshot remains until account deletion. Health information is not sold or used for advertising or marketing.
On Android, 150g can connect to Health Connect. With your permission, 150g reads your height, weight, steps and exercise sessions. Where Health Connect offers it, 150g can also read records from more than 30 days before you first allowed access, so Report’s longer periods are complete. 150g does not write to Health Connect.
When you choose to import, 150g reads your latest height and weight for you to review. If you have allowed access and your saved height or weight is missing, 150g fills it in from Health Connect. The values you save become your personal details. They are stored with your 150g account and used to calculate your protein goal and other targets. Steps and exercise sessions are read on your phone to show your activity in Report, to suggest training answers during setup, and to adjust recommended targets for recent training in Health Targets. 150g does not upload your individual step or exercise records. When your targets are calculated from your recent activity, a short summary of that activity is saved with them: during setup, and in Health Targets when you change an answer that recalculates your targets or dismiss recommendations. The summary is your average daily steps; the number of workouts, strength sessions and workout days; and the training level (general, endurance or heavy endurance), daily activity level and recommendation reason worked out from them. Health Connect doesn’t provide your date of birth or sex, so you enter them yourself.
You can decline Health Connect and enter your details manually. You can review or remove 150g’s access at any time in Health Connect → App permissions → 150g. Removing access stops future reads; it doesn’t delete details already saved to your account. Health Connect data is not sent with food-estimate, translation or nutrition requests.
We use Health Connect data only to provide the features described here. We don’t sell it. We don’t use it or transfer it to serve ads, including personalized or interest-based ads, and we don’t transfer it to advertising platforms, data brokers or information resellers. We don’t use or transfer it to determine credit-worthiness, insurance eligibility or employment suitability, or for lending.
Meal photos and estimates
When you request an estimate, your selected photo and meal description are sent through our server to Google Gemini for analysis. Food descriptions and product codes may also be used to look up nutrition with USDA FoodData Central and Open Food Facts. Review the estimate and correct it before saving. Your Health records are not sent with photo-estimate requests.
When 150g shows food in your chosen language, food names, meal titles and unit names are sent through our server to Google Gemini for translation. The translations are saved with your account so they aren’t requested again. Your saved meals keep their original text. When a saved food is missing nutrients that Report uses, such as fiber or sodium, its name, portion and known nutrition values are sent through our server to Google Gemini to estimate them. Our server keeps request records for up to 30 days to investigate problems; these can include the content of an estimate or translation request. They are deleted sooner if you delete your account.
150g reduces photo dimensions, removes image metadata, and stores optimized meal photos in private account storage. The app accesses the photo you select or take; it does not upload your entire photo library.
On Android
150g asks Android for these permissions: the camera, to photograph a meal or a barcode when you open the camera in Add food; notifications on Android 13 and later, to show the reminders and notifications described below; storage on Android 9, to save camera photos and share images to Pictures; and Health Connect, as described above.
To add a photo from your gallery, 150g uses Android’s photo picker, which gives the app only the photo you choose. 150g doesn’t request access to your photo library for this. 150g also uses Android permissions that don’t show a prompt: internet and network status to sync your account, start-up so your reminders are restored after your phone restarts, background-work permissions (wake lock and foreground service) that Android’s scheduling library uses to deliver scheduled notifications, Google Play billing for subscriptions, the advertising ID and install attribution for the advertising measurement described below, and Firebase Cloud Messaging to receive push notifications.
Barcodes in your meal photos are read on your phone with Google’s ML Kit. ML Kit doesn’t send your photos to Google. It does send Google technical information about how it runs, which Google uses for diagnostics and usage analytics: your device model, Android and app version, performance and error data, and an identifier for this installation of the app.
On Android, your sign-in session, setup and account cache are kept in the app’s private storage. They are excluded from Android backups and device-to-device transfers.
Friends, shared content, and safety
Other signed-in users can see your Friends profile, display name, bio, avatar and follow relationships. Every meal you save, other than sample meals, becomes a meal post with its name, photo, ingredients and nutrition, shown once it passes our content screening. Other users can also see your daily nutrition totals, logging statistics, streaks, badges and cheers, your protein goal, and the calorie, fiber, carbohydrate and fat targets you’ve saved, as well as your time zone, which 150g uses to show your days in your local time. If you sign in with Google, your Google profile photo can become your 150g avatar when you set up your profile, and other users can then see it. Following an account is not required to view its profile or shared meals. Your email, personal details, Apple Health or Health Connect records, and private meal notes are not included in these social views. Photos remain in private storage and are delivered through temporary access links.
We screen profile text, avatars, shared meal text, and meal photos for objectionable content using OpenAI moderation before making them visible to other accounts. Unchecked or rejected content remains available in its owner's private log while public visibility is withheld. Service administrators can review reported content and remove it from social views.
Reports include the reporting account, the reported account or meal, the reason, time, and a snapshot of the reported shared content. Reports and moderation decisions are restricted to service administrators; the reported person is not told who reported them. Reports do not include private meal notes or Apple Health or Health Connect records. Blocking stores the two account identifiers, removes follows and cheers between them, and prevents them from seeing each other in social views. Settings lists the accounts you have blocked and lets you unblock them. Unblocking does not restore previous follows or cheers.
Notifications and account emails
150g asks iOS for notification permission and records the result on your device. You can choose up to three daily meal reminders and set their times during setup or in Profile. When enabled, these reminders are scheduled locally on your device and can start before account setup or subscription purchase finishes. 150g can also send a welcome notification, one reminder about an unfinished subscription checkout, and a reminder before a verified free trial ends. These notifications are scheduled locally, and the checkout reminder opens the special offer. Starting a subscription removes the pending checkout reminder. Reminder choices and times stay on this device. You can turn individual reminders off in 150g or change notification permission in iOS Settings. Account verification and password-reset emails are sent through Supabase using Resend.
On iPhone, if you enable social notifications, we store your device's Apple push token and notification preferences to deliver alerts about follows and cheers through Apple Push Notification service. Social notification records are associated with the relevant accounts and content. Blocking prevents alerts between those accounts. You can turn social notifications off in Settings.
On Android, 150g asks for notification permission on Android 13 and later. You can turn on up to four meal reminders and change their times in Profile → Settings → Reminders & Notifications. Reminders are scheduled on your phone, can start before account setup or subscription purchase finishes, and are rescheduled after your phone restarts or its time changes. 150g can also show a welcome notification, one reminder if you leave the subscription screens without subscribing, and a reminder before a free trial you started on this phone ends. These are also scheduled on your phone; the checkout reminder opens the special offer, and starting a subscription removes it. Reminder choices and times stay on this phone. If you allow notifications, we store your phone’s Firebase Cloud Messaging token and notification preferences to deliver alerts about follows and cheers through Google’s Firebase Cloud Messaging. You can turn social notifications off in Settings.
Product analytics and diagnostics
On iPhone and Android, app versions that include product analytics use PostHog to understand which screens and features people use, find technical failures, and investigate support requests. Events include app opens, visible screen visits, setup and sign-in steps, subscription checkout outcomes, food-entry and save outcomes, sync failures, and follow and cheer actions. Technical details include app version, operating-system version, timing, safe error codes, and random session and request identifiers. After sign-in, events are associated with your 150g account identifier so related app and server events can be connected.
We do not send PostHog your meal contents, photos, descriptions, nutrition or Health values, profile details, email address, authentication credentials, or raw error messages. Session recordings, automatic screen and interaction capture, and IP-based location enrichment are disabled. This information is used for 150g product improvement and support, not cross-app advertising or marketing. PostHog processes it in the United States under its Privacy Policy.
Deleting your 150g account does not automatically delete historical PostHog events; contact us to request deletion of associated diagnostics.
Advertising measurement
On iPhone, 150g uses Meta App Events and Google Analytics for Firebase to measure ads for the app. If you allow tracking in Apple’s permission prompt, these services receive app install, activation or session events and subscription or free-trial events, together with subscription product and transaction information, price, currency, advertising or app-instance identifiers, and device and network information. Google also receives purchase verification information and recent subscription renewals delivered to the app. These providers may associate measurement data with activity across other companies’ apps and websites. Google ad personalization is disabled.
We do not send these services your meals, photos, nutrition, Apple Health information, personal profile, email address, or 150g account identifier. Automatic screen, form, and suggested-event collection is disabled. Apple Ads attribution can identify the advertising campaign that led to an install, using Apple’s AdServices framework.
You can decline tracking and continue using 150g. You can change your choice in Settings under Privacy & Security → Tracking. Without permission, 150g does not initialize either advertising measurement SDK or submit these events. Apple’s privacy-preserving aggregate install attribution can still operate without tracking permission. Meta and Google handle information they receive under the Meta Privacy Policy and Google Privacy Policy.
On Android, 150g uses Meta App Events and Google Analytics for Firebase to measure ads for the app while your phone allows ad tracking. These services receive app install, activation or session events and subscription or free-trial events, together with the subscription product, Google Play order ID, price, currency, the Android advertising ID and app-instance identifiers, and device and network information. These providers may associate measurement data with activity across other companies’ apps and websites. Google ad personalization is disabled. We do not send these services your meals, photos, nutrition, Health Connect information, personal profile, email address, or 150g account identifier. Android doesn’t show a tracking prompt: if you delete your advertising ID or opt out of ads personalization in your phone’s settings, 150g doesn’t submit these events, and you can continue using 150g.
Subscriptions
On iPhone, Apple processes subscription payments, and 150g receives verified purchase information to determine access. On Android, Google Play processes them under Google’s terms. 150g doesn’t receive your payment card details. On Android, the app checks your Google Play subscription on your phone to decide access, and 150g’s servers don’t receive your purchase details. Each Google Play purchase is tagged with your 150g account identifier to record which 150g account bought it. You can manage or cancel a Google Play subscription in Play Store → Payments & subscriptions → Subscriptions. Deleting the app or your 150g account doesn’t cancel a subscription.
Service providers
Supabase provides account authentication, database storage, and private photo storage. Apple or Google processes sign-in when you choose that provider. Apple and Google Play handle subscription payments. Google Gemini supports requested food estimates, translates food text and fills in missing nutrients, and OpenAI screens shared content. USDA FoodData Central and Open Food Facts support nutrition lookups. Google ML Kit reads barcodes on Android phones. Apple delivers push notifications on iPhone and Google’s Firebase Cloud Messaging on Android, Resend delivers account emails, and Cloudflare hosts the website and provides website analytics. Website fonts are hosted with the website.
These services receive the information needed for their functions and may process it outside your country. Network and security records can include information such as IP addresses, request times, and error details. We use account and service information to operate 150g, respond to support requests, protect accounts, and resolve problems. We do not sell personal information.
Storage and deletion
Setup is stored locally before sign-in. Once you sign in, your account’s setup, current personal details, goal, meals, and photos are stored with Supabase and cached on your device so you can continue tracking and restore your history. Local setup and account cache files containing Health information are excluded from iCloud backup. Authentication credentials are stored in the iOS Keychain.
You can edit your personal details and goal and delete meals in the app. Profile includes account deletion, which removes the account and its active setup, personal details, goal, meal, estimate, and private-photo records. You can also ask us to delete your account without the app, at https://150g.club/delete-account. You can also contact us to request access, correction, or deletion. Limited security records, deletion receipts, or provider backups may remain where needed to operate securely or meet legal obligations. Deleting a 150g account does not cancel an Apple or Google Play subscription; manage those in your App Store or Google Play subscriptions.
Children
150g is meant for adults and isn’t directed to children. We don’t knowingly collect personal information from children under 13. If you believe a child has given us personal information, contact us at sup@150g.club and we’ll delete it.
Your choices
You choose whether to connect Apple Health or Health Connect, allow notifications, provide photos, and request AI estimates. You can use manual meal entry instead of photo analysis. You can change device permissions in iPhone Settings or Android Settings. For questions about your information or to exercise privacy rights available to you, contact us at the address below.
Changes and contact
We may update this policy as 150g changes. The effective date above identifies this version. We will provide any additional notice or consent request required for a material change.
Contact: sup@150g.club.