Mission Built

MealStack

Privacy.

What the app keeps, what leaves your phone, and how to make it all go away. Short, because there is not much to tell.

Effective October 21, 2026 · Mission Built LLC · Pittsburgh, PA

Mission Built LLC was formed on October 15, 2026. Nothing about what we collect, where it goes, how long we keep it or what you can ask us for changed.

Account
None
Your plan and log
On your phone
Leaves the phone
Stack AI and barcode lookups, after you say yes. Usage data if you say yes.
Sold or advertised
Never

Mission Built makes MealStack. This page is the whole policy.

MealStack is made by Mission Built LLC ("Mission Built"), a Pennsylvania limited liability company in Pittsburgh, Pennsylvania. For the purposes of privacy law, Mission Built LLC is the controller of whatever this page says leaves your phone. There is no parent company, no subsidiary and no partner with access to your data. The app is not open source; this page is where to read what it does with your data, and the What the server holds screen shows you the rest, live.


The app never asks who you are.

MealStack has no sign-up, no login and no password. Nothing you do in the app is tied to your name, email address or phone number, because the app never asks for them. The only identity the server ever sees is a key your phone creates in its secure hardware, which proves a request came from a real copy of MealStack and nothing more.


Everything you put in stays in files on the phone.

Your plan, every day's log, the ingredients you add, the meals and stacks you save, your Stack AI chats, and what you enter in About you: bodyweight, height, age, sex if you chose to say, how you train, and your goal. All of it lives in files inside the app's own container on your iPhone, written under the phone's encryption and protected until the first unlock after a restart. Those files are included in your iCloud or computer backup the way any app's data is; Mission Built has no access to your backups.

Apple Health, each way behind its own switch. With Write the meals you log on, the app writes four numbers for each meal you log into Apple Health, at the time you ate: protein, carbohydrates, fat and calories. Correct or un-log the meal and the app takes those entries back out. With Read food and weight from other apps on, the app reads two things: the food other apps logged today (calories, protein, carbohydrates and fat, and which app logged them), shown beside your totals and never added to them; and your latest weight, read when the app opens and offered on Today and in About you when it is newer than the weight in About you and differs by half a kilo or more. It is never put into About you unless you tap Use it. If you tap Not now, the app keeps that one weigh-in (its weight and date) in a file on your phone so it isn't offered again. MealStack's own entries are left out of what it reads. What it reads stays on the phone. If you put your weight in About you, it goes to Anthropic with every Stack AI request, like everything else in About you, once you have turned Stack AI on. Nothing from Health is used for marketing, advertising or anything but these screens. Both switches are in Settings › Apple Health, and in the Health app.

Your calendar, only if you ask. Check my calendar is off until you turn it on. On, the app reads today's events on the phone so it can offer to move a meal that lands in one. It never changes your calendar, keeps the events only while the app is open, and never sends them anywhere, Stack AI included. If you accept a move, the new meal time is part of your plan like any other.

Location, only for automatic travel. Set travel automatically is off until you turn it on. On, the app asks for your location, remembers where home is, rounded to about a kilometre, and turns Travel on when the phone is more than 100 km from there and off when you are back. The home area and the check stay on the phone; no location is sent anywhere. Turning the switch off stops the watching; Forget home erases the home area.

IronStack, if it is on the same phone. The two apps share a private shelf on your phone that only Mission Built apps can open. MealStack puts there the travel switch (and your rounded home area if you use automatic travel), today's session time when you move it, and, with IronStack times my after-session meals on, the name and contents of the first thing after the session, so IronStack can call it when you finish. It reads the same from IronStack, and: when your last workout started and how long it ran, if you turned on Your last workout in IronStack; how long your last 8 workouts ran, if you said yes to When you usually train in IronStack after it began to include them (if you turned it on earlier, IronStack asks again); and a note that IronStack is installed and when it was last used, for the Double Stacked badges. MealStack uses those workout lengths to plan around a session as long as yours usually is. Until you say yes in IronStack, or while it has fewer than 3 of them, it uses the Usual session length you set in Settings, or 90 minutes. With IronStack times my after-session meals on, MealStack moves today's session to the time an IronStack workout actually started, once per workout, and says so on Today with Undo. Any other move one app makes is offered in the other, never made without asking, and nothing crosses to a server to do any of this.

Your fueling summary, for IronStack's Coach mode. On the same shelf, MealStack keeps a short summary of each of your last 120 days: how many meals went in on time (4 of 5), how many minutes early or late the meal before your session and the shake after it were, your protein, carbohydrates, fat and calories as a percentage of your target, and whether it was a recovery day. Beyond the names of those two meals as they appear on your day, no foods and no amounts. Only IronStack on the same phone can read it, and it stays on the phone unless you link a coach in IronStack and switch Fueling on in Coach mode (it is off until you do, when you accept a coach or later in Settings › Coach mode). Then IronStack sends it with your workouts to your coach through Mission Built's server, as IronStack's privacy page describes, and turning Fueling off later, or ending the link, deletes your coach's copy. Delete all MealStack data removes the summary from the shelf.

This section also serves as the consumer health data notice some states require. The health data involved: the four nutrition figures the app writes to Health with your permission; the food totals from other apps and the weight it reads from Health with your permission; the body measurements you enter in About you; and what you log. Source: you and Apple Health. Purpose: the log, the day, the target, and Stack AI when you turn it on and ask it. Shared with: nobody, except what goes to Anthropic for Stack AI, only after you turn Stack AI on and then only when you ask it something, as described next; with barcode lookups on, the barcode number of a food you scan, to Mission Built's server and, if our server doesn't know it, to Open Food Facts; and your fueling summary, only if you switch Fueling on in IronStack's Coach mode, to the coach you linked there.

Consent and withdrawal. Nothing in this notice is read or shared until you allow it: the Health switches in Settings › Apple Health, and Stack AI only after you turn it on, and then only when you ask. Stack AI is off until you turn it on from its permission screen; Settings › Stack AI turns it off. Turning either off withdraws your consent from then on. Barcode lookups follow the same Stack AI switch. Delete all MealStack data removes the foods you saved from a barcode, and what is on your phone, the entries it wrote to Health, and the server's device record and counters, apart from the one request counter above (if the phone is offline, the next time it opens with a connection); usage data and the accounting record of Stack AI use expire in about ninety days, and the server's barcode lookup count expires on its own within two days. Your rights under Washington's My Health My Data Act and similar laws (to confirm, access, delete and withdraw consent) are the ones in Your rights below, at the same address. Mission Built does not sell consumer health data.


Two things, and you decide both.

Stack AI

Off until you turn it on. Then only when you ask.

Stack AI is how MealStack reaches Mission Built's servers and other services for answers, and only after you turn it on. Some answers come from a lookup on Mission Built's server; others come from an AI, not a person: Claude, made by Anthropic. One yes covers both, and nothing is sent until you ask or scan.

It is off until you turn it on. The first time you open it, the app shows a permission screen that names Anthropic, says what goes to it, asks you to confirm you are 18 or older, and asks first. Nothing goes to Anthropic until you turn Stack AI on, and then only when you ask it something. That yes is the permission this section describes. Turn it off any time in Settings › Stack AI; off, it sends nothing.

Sent to Anthropic, only when you ask:

  • Your question and this chat
  • Your plan and your day: meals, times, what you've eaten, targets, training days and your pantry
  • What you entered in About you: weight, height, age, sex, activity and goal
  • Photos (up to 5) with location removed, and PDFs and files you attach, with their names
  • Links you paste: Mission Built's server opens the page and sends its text
  • Web searches Stack AI runs through Anthropic, written from your question

Never sent: your name, email, Apple ID, your GPS location, contacts, or your calendar.

It goes to Mission Built's server at mealstack-ai.missionbuilt.io (earlier builds use coach.missionbuilt.io until they update; it is the same server code), which runs on Cloudflare. The server passes it to Anthropic's Claude model, checks every suggestion the model makes, and sends the answer back. Web searches are written by Stack AI from your question and run through Anthropic.

What happens to it. Anthropic deletes it within 30 days and doesn't train its models on it. It keeps it longer (up to 2 years) only if a request is flagged for breaking its usage policy. Mission Built keeps a cost count and a lookup count for your phone, never what you said or scanned. An answer from the AI is held for 10 minutes in case your connection drops, then deleted. Lookups are never held. Your chats stay on your phone until you delete them; they are not synced anywhere. Stack AI can be wrong. It isn't medical or nutrition advice. If you ask it to build a new plan, it builds it from the same plan, targets and pantry listed above, and it opens as a preview; nothing changes until you bring it in.

Looked up when you scan a barcode. The camera reads the barcode on your phone; no picture is taken, kept or sent. The barcode number goes to Mission Built's server, with your phone's Stack AI ID so we can stop abuse. No name, account or history goes with it, and we never record what you scanned. If our server doesn't know it, your phone asks Open Food Facts (openfoodfacts.org), a public food database. When it's used, Open Food Facts receives the barcode number, your phone's IP address and the app's name and version, like any website, and its own privacy policy applies. Foods from our server are marked "USDA (barcode)" and foods from Open Food Facts "Open Food Facts". Nothing is saved until you tap Add, and nothing is sent back to Open Food Facts.

To run Stack AI and barcode lookups without accounts, the server keeps one small device record per install, for the allowance: the App Attest key id and the public half of the key your phone created, the receipt Apple issued for it, when it registered and was last seen, a count of how many Stack AI requests that install has made today and this month and roughly what they cost, and, for barcode lookups, a count of lookups in the last two days for the rate limit. It identifies the install, not you, never holds your name, and a reinstall creates a new one.

Usage data

Counts and timings, only if you say yes.

Once your plan is built, the app asks once whether you want to send usage data. Say no and nothing is sent. Say yes and the app sends Mission Built counts and timings: which tabs get used and for how long, when meals get logged against the plan and how, whether ingredients, meals or stacks get added, how Stack AI gets used and what it cost, the app and iOS version, and the iPhone model. It never sends food names, anything from Health, your location or your IP address; the server discards the address and never looks it up. Your time zone name is included so the days line up.

The data is keyed to a hash of the same install key and stays with Mission Built, in its own record on Cloudflare, for about ninety days. Mission Built uses it for two things: accounting for the Stack AI allowance, and deciding what to build next. It is never sent to an analytics company or anyone else. Turn the switch off in Settings and nothing more is sent.

Nothing else

Meal alerts are scheduled on the phone, and the widgets and Lock Screen read the same files the app does; none of them sends anything anywhere.

Apple Watch. With Settings › Apple Watch on (it's off until you say yes), today's meals (their names, times, what's on each plate and when you ate them), what's left of today's targets and your session time, and the time zone your day is kept in, go from your iPhone to MealStack on your Apple Watch over Apple's own link between the two. The watch keeps the latest day for its screen and its complication. Meal names and plates are hidden on the watch face while the watch is locked; the face shows only the time of your next meal, or the protein left. Log it, Not yet and Undo on the watch go back to your iPhone; if your iPhone is out of reach, the watch keeps them until it's back. Your iPhone logs them like any other log, in Apple Health too if Write the meals you log is on; a tap that reaches it after the day is over, or after you turned the watch off, isn't logged. Change on iPhone sends back only which meal: your iPhone shows a notification with its name, and the watch offers the meal through Handoff, titled MealStack and carrying only the meal's id, which Apple shows on your devices signed in to your Apple ID. Nothing about it goes to us or to anyone else, except that if you said yes to usage data, a meal logged from the watch is counted as logged from the watch, like the other ways to log described under Usage data below. Turning it off, or Delete all MealStack data, blanks the watch, taps it was still holding included, the next time it hears from your iPhone.

No advertising identifiers, no third-party software kits on the phone, no tracking in Apple's sense of the word, no selling, no sharing for anyone else's marketing. The App Store privacy label says the same, and Settings › Your data › What leaves the phone lists every kind of event the app can send.


Four companies, each for one job.

Each of them is bound by its own terms and, where it processes data for Mission Built, by a data processing agreement, to protect your data at least as well as this page promises. None of them may use it for their own marketing.

WhoJobWhat they seeWhere
Cloudflare Runs the Stack AI server Sees each Stack AI request in transit and keeps the device record, the allowance counters, an answer for 10 minutes in case your connection drops, and the ninety-day accounting record. Keeps a lookup count for two days and never the barcode. Discards your IP address. Global edge, US account
Anthropic Runs the Claude model behind Stack AI Receives what the app sends when you ask Stack AI something, after you turn Stack AI on, and produces the answer; runs the web searches Stack AI writes from your question. Deletes it within 30 days and does not train its models on it; keeps it longer (up to 2 years) only if a request is flagged for breaking its usage policy. Stack AI is an AI and can be wrong; it isn't medical advice. Handles it under its Data Processing Addendum. United States
Open Food Facts Public food database, asked from your phone The barcode number, your phone's IP address, and the app's name and version, when our server doesn't know a barcode and you've turned on barcode lookups. Its own privacy policy applies; Mission Built sends it nothing else and writes nothing back. France (Open Food Facts association)
Apple Health, TestFlight, the App Store Health receives the macros of meals you log, and gives the app food from other apps and your weight, each only if you allow it. Now and then the app may show Apple's own rating prompt; it never asks in a test build. A rating or review goes to Apple under Apple's terms. A written review is public on the App Store, where Mission Built can read it and reply. The phone keeps only the date and app version of the last ask, and Delete all removes it. Apple's own privacy terms cover TestFlight and the App Store. Per Apple

Menu links: if you give Stack AI a link to a restaurant menu, Mission Built's server fetches that page (your phone never does), reduces it to text, and keeps the text for one day so the same link is not fetched twice. The restaurant sees a request from Cloudflare, not from you.


What is kept, and for how long.

Barcode lookup count Lookup counts for your phone expire on their own within two days. The barcode itself is never kept.
Your plan, logs, ingredients, meals, stacks, About you On your phone until you delete them, or delete the app. Included in your iPhone backup like any other app data.
Today on your Apple Watch Only with Settings › Apple Watch on. The latest day your iPhone sent, until it sends a newer one, and any taps not yet on your iPhone, until they reach it. Turning it off, or Delete all MealStack data, blanks the watch, taps it was holding included, the next time it hears from your iPhone.
Your Stack AI chats On your phone until you delete them. Not synced anywhere.
What you send Stack AI, including photos and files Mission Built never keeps what you said. The answer is held on the server for 10 minutes in case your connection drops, then deleted. Anthropic deletes what you sent within 30 days and doesn't train its models on it. It keeps it longer (up to 2 years) only if a request is flagged for breaking its usage policy.
The device record (App Attest key id, public key, receipt, timestamps) Removed when you delete your data in the app, or on request. Otherwise it goes on its own about 400 days after your phone last reached the Stack AI server. One number stays under the key id with no end date: a counter of your phone's requests, so an old one can't be sent again.
Stack AI allowance counters Today's and this month's counts. Nothing resets them on a schedule. Last month's counts are replaced the first time your phone asks Stack AI in a new month. If it never asks again, they stay until you delete your data in the app, or with no end date if the app is gone.
Accounting record of Stack AI use (Cloudflare) About ninety days, then gone.
Daily totals for the whole app (Mission Built) How many Stack AI requests there were in a day, the tokens, the cost and the refusals, added up for everyone with no install key. Kept by Mission Built for its accounts, with no end date.
Usage data In Mission Built's own record on Cloudflare, about ninety days, then gone. Deleting your data in the app doesn't remove them sooner, but nothing in them can be matched to you once the install's key is gone.

Two buttons on the phone. No email needed.

Settings › Stack AI › What the server holds asks the server, live, for everything it keeps for your install and shows it to you, with a share button. The request is signed by your phone's key, so the server can only ever answer for the install that asked.

Settings › Start over › Delete all MealStack data does the whole job in one tap: it tells the server to delete the install's device record and its allowance counters (usage events can't be deleted one install at a time: they hold only a hash of the install's key and expire in about ninety days), then removes every file on the phone, the entries this app wrote to Health (and blanks MealStack on your Apple Watch the next time it hears from your iPhone), your answer to the usage question, and the install's key. If the phone is offline at that moment, the phone is still wiped and the server's record is deleted the next time the app opens with a connection. If the server can't confirm the install, the key is dropped and the record expires 400 days after it was last used. Turning off Send usage data in Settings withdraws that consent from then on; turning off Stack AI in Settings › Stack AI stops it from sending anything.

The one case a button cannot cover is an app that was deleted before asking: with the key gone, nothing on the server can be matched to you, which also means nothing on the server can identify you. If you want to ask anyway, or ask anything else about your data, email support@missionbuilt.io. Mission Built will confirm within ten days and finish within thirty.

The routes behind those two buttons are tested for isolation on every change to the server (an install can never read or delete another's) and probed every 6 hours in production by two synthetic installs; if a probe ever fails, both routes close until a person has looked.


Wherever you are, the same answer.

You can ask what Mission Built holds that relates to your install, ask for it to be corrected or deleted, ask for a copy, object to or restrict its use, and withdraw any consent you gave, all at the address above, and you will not be treated differently for asking. Under the GDPR, the legal bases are your explicit consent for anything involving health data (Stack AI, Apple Health), your consent for the usage-data question, and Mission Built's legitimate interest in running the Stack AI allowance and keeping the service from being abused. Mission Built has not appointed an EU or UK representative; write to the address above. If you are in the EU, the EEA or the UK you may also complain to your supervisory authority. Under California law, Mission Built does not sell or share personal information and has not done so in the past twelve months.

Mission Built operates from the United States and the companies above process data there, so anything that leaves your phone leaves your country if you are outside the US. Cloudflare and Anthropic each rely on recognised transfer mechanisms such as standard contractual clauses or the EU–US Data Privacy Framework for that.


Stack AI is not a clinician

Stack AI can be wrong, and it isn't medical or nutrition advice. It gives general nutrition information for healthy adults and its numbers are estimates. It is not a doctor or a dietitian, it declines medical questions, and it will not set targets for anyone under 18. Check with your physician before making decisions about your health, and treat what Stack AI says as a starting point, not an instruction.

Age

MealStack is for adults, 18 and over: it sets targets, plans cuts and reads your weight. It is not directed at anyone under 18 and does not knowingly collect anything from them, and Stack AI's permission screen asks you to confirm your age. If you believe someone under 18 has used the app, email the address above and the device record will be removed.


This page changes when the app does.

If what the app collects or shares changes, this page changes first, with a new effective date at the top, and the app's About screen points here. A change that widens what leaves your phone will be asked about in the app before it applies to you. Effective October 21, 2026.