The official procedure, in plain words
How Official Potato works
Restaurant chains publish allergen data item by item. We turn it round: you tick what you avoid, and we show what each chain's own data lists free of it. We do not test food, and we only repeat what the chain itself published.
We start at the chain’s own page
Every night we open each chain’s own allergen page on the chain’s own website, and follow the link that page gives today. That page is the root of trust. If a chain stops linking a file or a vendor feed, we stop reading it the same night, whatever the file still says.
Where a chain publishes through a vendor (for example Nutritionix), we name the vendor on the chain’s page, and use it only while the chain’s own page links to it.
We check the data against itself
Each night’s copy must look like the last one: the same tables and columns, values we recognise, and an item count within a quarter of the last good copy. A few facts that cannot plausibly change are checked every time, such as a cheese pizza listing milk. If marks vanish when a file is read, these checks catch it.
We also compare a chain’s sources with each other: its allergen grid against its own ingredient statements and “contains” lines, and one source against another where it publishes twice. Where they disagree, the item is marked “conflicting — ask staff”, and both quotes go on the contradictions page, with where we read them and when.
We keep a byte-for-byte copy of every file we read, with its fingerprint and the time we fetched it, so any value on this site can be traced to its source on the date we say. We keep these copies for our own checking; we do not publish them.
When anything is off, the chain pauses
If a source fails to load, changes shape, shows a block or challenge page, loses a known fact, or has not been checked in the last 48 hours, the chain is paused. A paused chain shows the date and the reason and links to the chain’s own page. It never shows old data as current.
If a chain’s own date on its data is more than 18 months old, the chain is listed for reference but its items are not sorted for you.
Three dates, never one
Every chain shows three dates: the chain’s own date for its data (on the document, or the vendor file’s timestamp), when we last checked it successfully, and when its content last changed. Together they tell you exactly what you are relying on.
What the words mean
- Listed free of: the chain’s published data lists none of what you ticked. It is a statement about the chain’s data, not about the food on your plate.
- May contain: the chain says the item may contain one of them.
- Not stated: the chain’s data does not say. Not stated does not mean absent.
- Not published by this chain: the chain publishes nothing about that allergen, so nothing can be listed free of it.
- Conflicting — ask staff: the chain’s own sources disagree about this item.
- Contains: the chain lists at least one thing you ticked.
Avoiding gluten also leaves out anything the chain lists with wheat, barley or rye, and needs the chain to publish gluten itself before anything can be listed free of it.
Why this site is only in English
We do not translate this site, and we do not offer a machine translation. The chains publish their allergen data in English, and its meaning rests on small words that translation gets wrong in ways that look right.
Take shellfish. In US allergen labeling, “shellfish” means crustaceans: shrimp, crab and lobster. The everyday Spanish word, mariscos, also takes in clams, oysters and squid, so a translated chart can say something the chain never said. The same happens with “contains” and “may contain”, with “gluten-free” and “wheat-free”, and with a “not” that goes missing.
A wrong word about allergens can put someone in the hospital or kill them. No translation is better than a wrong one. If a chain publishes its own allergen guide in another language, that guide is the one to trust. If you read this page through your browser’s translate button, check every allergen with the staff before you order.
What we take, and what we don’t
- We take facts only: which allergens each chain lists for each item, re-expressed in our own structure. Every item links to the chain’s own source.
- We do not mirror, re-host or re-serve anyone’s file, image or feed, and publish no bulk export of chain data.
- We accept no terms pop-ups and log in to nothing.
- There are no accounts. “Remember my preferences?” on the home page is off until you turn it on; then your ticks and restaurant picks are kept in your own browser, never by us, and turning it off erases them.
- No restaurant has paid for, approved or reviewed anything here. Chain names appear in plain text; we use no logos.
- We add a chain only when its own published allergen data can be read and checked automatically every day.The chains we have looked at but do not cover yet, and why, are on Chains we don’t cover yet.
Our bot
Our fetcher identifies itself honestly with this User-Agent:
OfficialPotatoBot/1.0 (+https://officialpotato.com/how#bot)
- It obeys robots.txt. A robots.txt we cannot read is treated as a reason not to fetch.
- It reads each source about once a day.
- It starts at the chain’s own public allergen page and follows only the links that page gives.
- If you run one of these sites and want us to stop or slow down, write to corrections@officialpotato.com and we will.
Corrections
If we have misread a chain’s data, or a contradiction we list is wrong, tell us at corrections@officialpotato.com. Say which chain and item. We will check the source again and correct or remove what is wrong, and the change will show on the feed.
Restaurants: a contradiction listed here is a place where your own published sources disagree with each other. When you fix the source, the next nightly check marks it resolved with the date, and it stays listed as resolved.
How we describe disagreements
When a chain’s own sources disagree, we say what each one published, where and when, and quote it. Most differences have an ordinary cause: one document was updated before another, two entries are different recipes or portions, or a chart marks an allergen as a precaution. Where a cause like that is plausible, the note names it. We never say what is in the food.
Each kind of disagreement has a plain name, one sentence for diners and one for the company.
A gluten grain is marked, gluten is not
For diners: The chain marks wheat, barley or rye for this item but not gluten, and those grains contain gluten, so ask staff before relying on the gluten entry.
For the company: If you manage this menu: the gluten entry for this item may not have caught up with its wheat, barley or rye entry; marking both the same way removes this note.
An ingredient names an allergen the chart does not mark
For diners: The chain's own ingredient list for this item names an allergen that its allergen chart lists as not contained, so ask staff which is current.
For the company: If you manage this menu: the ingredient list and the allergen chart for this item differ on one allergen; it may be a minor sub-ingredient, or one document may be newer.
The allergen statement and the chart differ
For diners: The item's own "contains" line and the chain's allergen chart name different allergens, so ask staff which is current.
For the company: If you manage this menu: this item's "contains" line and its chart entry name different allergens; one may have been updated first, or the chart may be cautious.
Two of the chain's own sources differ
For diners: Two allergen sources the chain publishes for the same item give different answers, so ask staff which is current.
For the company: If you manage this menu: two of your published allergen sources list this item differently; one may have been updated before the other.
One version's entries appear for another
For diners: A page for one version of a dish carries exactly another version's allergen entries, which differ from its own, so ask staff.
For the company: If you manage this menu: a page for one version of this dish shows the same entries as another version; the page may be sharing one version's data for both.
The same item is listed more than once with different entries
For diners: The chain lists this item more than once and the listings differ on this allergen, so ask staff which one applies to your order.
For the company: If you manage this menu: this item appears more than once with different entries; one listing may have been updated first, or the listings may be different recipes.
The name suggests an allergen the chart does not mark
For diners: The item's name suggests an allergen (cheese, shrimp, peanut) that the chart lists as not contained, so ask staff how it is made.
For the company: If you manage this menu: this item's name suggests an allergen its chart lists as not contained; the recipe may differ from the name, and saying so on the chart would help diners.
Similar entries differ
For diners: Another entry for this dish on the chain's menu (a different size, menu or portion) lists this allergen, so ask staff whether yours does.
For the company: If you manage this menu: similar entries for this dish differ on this allergen; they may be different recipes or portions, and saying which would help diners.
What the chain does not publish
For diners: The chain either publishes no column for this allergen, so this site lists nothing as free of it, or marks it on no item, which may well be accurate; ask staff if you are unsure.
For the company: If you manage this menu: your allergen information has no column for this allergen, or marks it on no item; that may be accurate, and saying so on the page would help diners.
A dish on a chain’s gluten-free or other dietary menu is read as its own recipe. We never compare it with the regular dish of the same name, so a gluten-free egg drop soup and a regular egg drop soup are each judged by their own entries.
If you manage one of these menus
Every note here quotes your own published allergen sources, with where and when we read them. Most differences have an ordinary cause, such as one document updated before another, and each note names one where it is plausible. We assume good faith.
If we have read something wrong, or you have updated a source, write to corrections@officialpotato.com with the chain and the item. We will read the source again. When your sources agree, the next nightly check marks the note resolved, with the date.
About the name
‘Official’ is Russet’s title, not a judgment on any food. No restaurant, agency or inspector stands behind this site, and nothing here says a dish is right for you.
Credits
© 2026 Brian Louden. Operated by Brian Louden · PO Box 25750, Christiansted, VI 00824.
Not affiliated with or endorsed by any restaurant named on this site.
Allergen data on each chain’s page belongs to that chain and is shown as published, with its date.