TableMacros

Privacy Policy

Effective October 26, 2026. Last updated: October 26, 2026

TableMacros (the website at tablemacros.app and the TableMacros apps for iPhone and Android) is made by Montgomery Appworks LLC ("we", "us"). This policy explains what data the app uses, why, who processes it, and the choices you have.

Data stored on your device

Your goals, profile details you enter (such as age, height, weight and activity level), preferences, favorites, food log, weigh-ins, saved meals and settings are stored on your device. Without an account, this data never leaves your device unless you export a backup. You can delete it by clearing the app's data or uninstalling the app.

Optional account

If you sign in with your email, we use Supabase (our database and sign-in provider) to store your email address and to sync your profile, goals, favorites, go-to meals, weigh-ins and food log across your devices. Sign-in emails (a magic link and a one-time code) are sent by Resend, through Supabase's custom SMTP, from [email protected]. Resend delivers that message with Amazon SES. The message contains your email address and the sign-in link or code. Each account's data is protected so only that account can read or change it. We use this data only to provide the app.

How you sign in

The iPhone app, the Android app, and the website sign you in with your email address only. TableMacros does not offer Sign in with Apple, Sign in with Google, or any other third-party login. Sign-in is a one-time link or a 6-digit code sent to that email. We never see a password.

If a later version adds Sign in with Apple, deleting your account will also ask Apple to revoke the sign-in tokens it issued to TableMacros. You would still be able to remove TableMacros under Settings, your name, Sign in with Apple.

Deleting your account

You can delete your account at any time in the app: open Goals, then Account, then Delete account (the account button at the top of the screen opens the same Account panel). Your sign-in and all synced data are deleted from our live database right away. Our database provider may keep backup copies for a limited period, which we've asked it to confirm in writing; we never restore deleted data from backups. You can also email [email protected] from your account email and we'll delete it within 30 days. Deleting your account doesn't cancel an App Store, Google Play, or web subscription. Cancel a store subscription in your store account settings, and cancel a web subscription from the link in your receipt.

Location

With your permission, the app uses your device's location only while you use location features (for example "Use my location", nearby picks, "I'm at a restaurant", directions and road trips). Coordinates are sent to look up nearby restaurants and routes through our server and these OpenStreetMap-based services: Nominatim (nominatim.openstreetmap.org) for search and reverse geocoding, Photon by Komoot (photon.komoot.io) as a geocoding fallback, Overpass mirrors (overpass-api.de, overpass.kumi.systems, overpass.private.coffee, and maps.mail.ru) for nearby places, and OSRM (router.project-osrm.org and routing.openstreetmap.de) for driving routes. If you tap directions, the destination goes to the maps app you picked (Apple Maps, Google Maps, or Waze). When you tap "Use my location", your device sends your precise coordinates directly to OpenStreetMap's public services, Nominatim and Overpass, to find nearby restaurants. Our own nearby-places lookup receives those coordinates rounded to about 5 km, and may briefly cache the restaurant results for that rounded area. When you use location features, your device sends your location to map services we use (OpenStreetMap Nominatim, Overpass API servers and OSRM routing) to find places and routes, and rounded coordinates go to our own places service, which doesn't store them. We don't save your location to your account. Location is optional, and you can type a city or ZIP instead. We don't use it for advertising. You can change the permission anytime in your device settings.

Reminders (optional)

You can turn on optional daily reminders, such as logging breakfast, lunch or dinner, or checking your plan before eating out. Each reminder is off until you turn it on, and you pick its time.

On the website and Home Screen app, reminders use web push. When you turn one on, your browser gives us a push subscription: a web address at your browser's push service (run by Apple, Google, Mozilla or Microsoft, depending on your browser) plus the encryption keys needed to send to it. We store that subscription, the reminder times you chose and your time zone (for example America/Chicago) on our Cloudflare server. We don't store your name, email, location, food log or anything else with it. We use it only to send the reminders you chose, at the times you chose. Reminder text is encrypted so the push service can't read it. When you turn all reminders off, we delete the subscription, times and time zone from our server right away. If your browser tells us a subscription has expired, we delete it then too.

In the iPhone and Android apps, reminders are scheduled on your phone with its own notifications. Nothing about them is sent to us. You can turn them off in the app or in your phone's Settings.

Camera and photos

With your permission, the app uses the camera to scan a barcode or photograph a nutrition label, and you can pick a photo from your library. Barcode scanning and nutrition-label reading happen on your device. Those images are not uploaded. A barcode number is looked up in Open Food Facts. A photo you attach only to a home-meal log stays on your device.

If you tap Estimate on a photo of a meal and allow it, TableMacros sends a smaller copy of that photo, plus any meal or restaurant name and ingredients you type, to our server and then to OpenAI to estimate calories and macros. The result is an approximate estimate and is marked that way. We do not store the photo, and we do not send your account email or your location with it. OpenAI's API data controls say that, by default, abuse-monitoring logs may keep API inputs and outputs for up to 30 days, unless the law or protecting the service requires longer, and that API data is not used to train models unless the account opts in. You can refuse, and you can turn this off later in Settings, under AI photo estimates. You can always type the numbers instead.

Subscriptions and payments

TableMacros Premium is an optional subscription. In the iPhone and Android apps, purchases are processed by Apple (App Store) or Google (Google Play) through RevenueCat; we never see your payment card details. RevenueCat receives an anonymous app user ID, purchase receipts, and subscription status from the store. On the website, when you subscribe, payment is processed by Stripe through RevenueCat Web Billing. Stripe receives the payment details you enter at checkout; we don't receive your full card number. RevenueCat receives an account or anonymous user ID and whether the subscription is active so the app can unlock Premium. Stores and Stripe share purchase information under their own privacy policies.

Coach plan

TableMacros Coach is an optional subscription, separate from TableMacros Premium. A Coach subscription does not include Premium, and Premium does not include Coach. Coach is offered by Montgomery Appworks LLC, 9905 S Pennsylvania Ave Ste A, Oklahoma City, OK 73159.

You must be 18 or older to subscribe to Coach or to link your account to a coach. Before a coach can see anything, you enter that coach's invite code in the app and confirm both that you are 18 or older and that you agree to share the data described below. We store the time of that consent. The coach sees nothing from before that consent. On the day you consent, the coach sees only entries logged after the time you consented.

What a coach can see. After you consent, the coach you chose can see each restaurant order's meal name, restaurant, calories, protein, carbs, and fat, and your daily calorie, protein, carbohydrate, and fat totals compared with those four targets. Home meals count toward the totals the coach sees. The coach can send you a restaurant order, which shows in the app as "From your coach." You can dismiss those orders. Clients are not charged to link.

What a coach cannot see. A coach cannot see home-meal photos, weigh-ins, body measurements, or the body details you enter to calculate targets (age, sex, height, weight, and goal weight). A coach cannot see notes you attach to meals. Home meals count toward the totals the coach sees. The coach does not get an itemized home-meal list or any photo. We do not sell this data and we do not use it for advertising. We share it only with the coach you linked, and only while that link is active or in the read-only period described below.

Unlinking. You can unlink a coach at any time in the app: open Goals, then Account, then Coach, then Unlink coach. Unlinking stops new access immediately. The coach cannot send you new orders after you unlink. Unlinking does not delete your food log.

If a coach's subscription lapses. Existing links stay in place but become read-only for 30 days. During that time the coach can still open the weekly view for entries logged up to the moment the plan became read-only, and cannot invite new clients or send new orders. Read-only access ends 30 days after the lapse. If the coach subscribes again before then, links you have not unlinked are restored. You can unlink during the read-only period.

Deletion. Deleting your account deletes your coach profile, your invite codes, coach orders you sent or received, and both sides of any coach link. See Delete account.

On Android, Coach is purchased through Google Play. The iPhone app does not sell Coach in this version. Invite links open a join page that has no checkout.

GLP-1 Dining Mode (health information)

GLP-1 Dining Mode is optional and off unless you turn it on. Before anything is saved, we ask for your separate permission on its own screen. Your permission covers only what is listed here.

What we collect, only with your permission:

We do not ask for a medication name, dose, prescriber, pharmacy, diagnosis, or insurance information.

Why we use it: only to provide the mode you turned on. That means showing protein-forward, smaller-portion restaurant picks, your protein and water meter, and the reminders you choose. We do not use it for advertising, marketing, profiling, pricing, or to train AI models.

Where it is stored: on this device; we keep it on your device only. We do not send it to our servers, to Supabase, or to a coach. The protein and water taps stay on this device.

Who we share it with: no one. We do not sell it, we do not share it with advertisers, data brokers, or analytics companies, and we do not share it with a nutrition coach you link. Coaches never see your GLP-1 Dining Mode information. We would disclose it only if the law requires it, and we would tell you unless the law forbids that.

Reminders: dose-day and meal reminders are scheduled on your device. Your phone may show them on the lock screen, so you can turn them off or change the text in your phone's notification settings at any time.

Your choices: you can turn off GLP-1 Dining Mode and delete this information at any time in Find → GLP-1 Dining → Turn off and delete. That withdraws your permission, removes the copy on this device, and cancels the reminders. You can also email [email protected] to request a copy, deletion, or correction.

How long we keep it: on this device until you turn the mode off or delete it.

Not medical advice; not HIPAA: TableMacros is not a medical device and does not diagnose, treat, cure, or prevent any medical condition. Talk to your prescriber or a healthcare professional about your medicine and your diet. Montgomery Appworks LLC is not a healthcare provider or a HIPAA covered entity, so HIPAA does not apply to this information. We protect it as described here and as state consumer health privacy laws require. TableMacros is not affiliated with or endorsed by the makers of any GLP-1 medicine.

Location: we do not use geofencing. We do not combine your GLP-1 Dining Mode information with your location, and we never use location to tell when you are near a clinic, pharmacy, or other health-care facility.

State privacy rights: residents of Washington, Nevada, Connecticut, and other states with consumer health or privacy laws have rights to access, delete, and withdraw consent for health information, and can appeal our decision. See our Consumer Health Data Privacy Policy. We answer requests within 45 days. We will never treat you differently for using your rights.

Changes: if we change how we handle this information, we will update this page and its date. We will ask for your permission again in the app before we use the information in a new way.

What we don't do

We don't sell your personal data, share it for advertising, or track you across other companies' apps or websites. The app has no third-party advertising or analytics SDKs.

We never sell or share health information, including GLP-1 Dining Mode information, and we never use it for ads.

Website analytics. Our website, tablemacros.com, and the web version of the app at tablemacros.app use Cloudflare Web Analytics. Cloudflare adds a small script to these pages that sends Cloudflare the page address, referring page, browser and device type, and page-load timing for each visit. It uses no cookies or local storage, doesn't fingerprint or follow you across sites, and we see only aggregate counts (such as visits per page). The iPhone and Android apps don't include it.

Service providers and logs

We use Cloudflare to host tablemacros.com and tablemacros.app (Cloudflare Pages), to run the app's server functions (Pages Functions, including nearby-place lookup, founding-tester signups, and reminder registration), to store founding-tester signups and reminder push subscriptions (Workers KV), and to send the optional reminders you turn on (a Cloudflare Worker). Cloudflare keeps standard request logs (such as IP addresses) for security and rate limiting. Other providers are listed above: Supabase (accounts and synced data), Resend (sign-in email delivery; the email address and the message; Resend uses Amazon SES), RevenueCat (subscription status for App Store, Google Play, and web), Apple and Google (App Store and Google Play purchases), OpenAI (meal-photo estimates, only when you allow them), Stripe (web subscription payments, when you subscribe), Open Food Facts (barcode lookups), the OpenStreetMap-based services named under Location, and the browser push services that deliver optional reminders (Apple, Google, Mozilla, and Microsoft). The About and Feedback screens inside the iPhone and Android apps load typefaces from Google Fonts; that request includes your IP address. The website and tablemacros.app serve fonts from our own server. Each provider processes data only to provide its service to us.

Retention

Account data is kept until you delete it or your account. Server request logs are kept for a short period by our hosting provider. Reminder push subscriptions are kept only while at least one reminder is on.

Consumer health data

Washington's My Health My Data Act, and similar laws in Nevada and Connecticut, give you the right to access consumer health data, delete it, withdraw consent, and appeal. Weight, weigh-ins, and your food log stay on your device, and they sync to Supabase when you are signed in. GLP-1 Dining Mode is optional and is not available in this version. See the Consumer Health Data Privacy Policy. Educational, not medical advice.

Your rights

Depending on where you live (for example California or the EU/UK), you may have the right to access, correct, export or delete your data, and to object to certain processing. Use the in-app tools (export backup, edit profile, delete account) or email us. We won't discriminate against you for using these rights.

Children

TableMacros isn't directed to children under 13, and we don't knowingly collect personal data from them. The Coach plan, including linking an account to a coach, is only for people 18 or older. If you believe a child has given us data, contact us and we'll delete it.

Changes

If we change this policy, we'll update the date above and, for material changes, tell you in the app.

Contact

Montgomery Appworks LLC
9905 S Pennsylvania Ave Ste A, Oklahoma City, OK 73159
[email protected]

Founding testers

If you sign up as a founding tester, we store your email address and the time you signed up. We use it only to send you launch news. The signup form has a separate, optional checkbox, unchecked by default, to also get occasional TableMacros tips and updates. If you tick it, we store that choice with the date and time you opted in. Without it, we won't email you anything except launch news. You can withdraw that consent at any time by emailing [email protected], and you can ask us to delete your signup the same way. We don't sell founding tester emails.

Eating-Out Macro Cheat Sheet

If you request our free Eating-Out Macro Cheat Sheet on tablemacros.com, we store your email address, the time you signed up, and a note that the signup came from the cheat sheet form. This adds you to the founding tester list above and is used the same way: to unlock the download and send launch news, and nothing else unless you tick the separate, optional tips checkbox. Signups are stored in TableMacros' own list on our Cloudflare server and aren't shared with any other app or company. To withdraw consent or delete your signup, email [email protected].

Report a problem

When you use Report a problem in the app or on our website, your email app opens a message to [email protected] with the app version, build, device and browser details (your browser's user agent) and platform filled in. Nothing is sent unless you send the email yourself, and you can edit or remove any of it first. We use it only to answer you and fix the problem.

We do not use your personal data to train large language models.