Our public rating rubric. Every product in the directory is scored against this exact standard by one piece of code (build_db.py) — nothing is hand-picked, no score is edited by hand, and no product can pay to be listed. Last revised: 2026-10-21. The public version lives at aislescore.com/standard.
Changes from v1.2: one counting rule, approved by Josh on 2026-10-21. A synthetic preservative inside a compound ingredient, as in vegetable oil (soybean, palm, and/or canola oil with TBHQ for freshness), is now deducted (−15) even when that compound already carries a more severe flag, such as the seed oil the TBHQ was added to. Before, the compound carried only its most severe flag, so the TBHQ cost nothing. It still does not add to the ingredient count.
Changes from v1.1: three rubric changes decided by Josh on 2026-09-16 while reviewing the rubric against the Open Food Facts taxonomy during the auto-scoring pivot: undisclosed flavoring ("flavor(s)"/"flavoring" with no "natural" or "artificial" qualifier) is now its own flag (undisclosed_flavor, −5, same tier as natural flavors); artificial dyes now cover all synthetic azo/coal-tar dyes, not only the five US-named ones, still a −25 hard disqualifier; the emulsifiers-of-concern list now names the full mono- and diglyceride ester family (E472a–g) and E488 alongside E471 and DATEM.
Changes from v1.0: seed oils −20 → −25 (one seed-oil hit lands at 75 = Conditional unless offset by the +5 USDA Organic bonus); the "sugar in the first three" rule is now actually enforced; the +3 whole-food and +2 sourcing bonuses were removed (not consistently verifiable from a label); MSG/glutamates (−5) was already in the engine and is now in the public doc; ingredient-counting rules for compound ingredients added.
Every product starts at 100 points. We read the actual ingredient label and deduct points for each item below. The result places the product in one of three tiers:
| Tier | Score | Meaning |
|---|---|---|
| ✅ Approved | 80–100 | Real ingredients. Buy with confidence. |
| ⚠️ Conditional | 60–79 | Mostly fine, but read the receipt — one or two deductions. |
| ❌ Not Approved | 0–59 | Too many red flags. We list it so you know what to skip. |
Where the label data comes from. Most scores are computed automatically from the ingredient list in the product's Open Food Facts record, and the product page says so ("auto-scored"). A product marked "Hand-verified on [date]" was checked against a physical package or label image on that date. Recipes change, so always check the package in your hand. If the ingredient text cannot be read (it is in a language our ingredient names do not cover, or it is not an ingredient list), the product is marked "Needs review" and is not scored until the source record is corrected.
Flag key in parentheses is what goes in ingredients[].flag in the data.
| Flag | What it is | Deduction |
|---|---|---|
EU-banned additives (eu_banned) | Brominated vegetable oil, titanium dioxide, potassium bromate, azodicarbonamide — allowed in the US, banned in the EU. Hard disqualifier. | −30 |
Artificial dyes (artificial_dye) | Red 40, Yellow 5, Yellow 6, Blue 1, Blue 2, any other synthetic dye (E102, E104, E110, E122, E123, E124, E127, E129, E131, E132, E133, E142, E151, E155 and other azo/triarylmethane/xanthene dyes), or "artificial color". Hard disqualifier. | −25 |
Seed oils (seed_oil) | Soybean, canola, corn, cottonseed, sunflower, safflower, grapeseed, rice bran, "vegetable oil" — including expeller-pressed and high-oleic versions | −25 |
High-fructose corn syrup (hfcs) | Any amount. Plain "corn syrup" is not HFCS — leave it unflagged; the sugar rule below catches it | −25 |
Artificial sweeteners (artificial_sweetener) | Aspartame, sucralose, acesulfame potassium, saccharin, neotame | −20 |
Synthetic preservatives (preservative) | BHA, BHT, TBHQ, sodium benzoate, potassium sorbate, calcium propionate, sodium nitrite/nitrate, calcium disodium EDTA, sulfites | −15 |
Artificial flavors (artificial_flavor) | "Artificial flavor(s)" on the label | −15 |
Emulsifiers of concern (emulsifier) | Polysorbate 60/80, carrageenan, mono- and diglycerides (E471, E472a, E472b, E472c, E472d, E472f, E472g), DATEM (E472e), sodium stearoyl lactylate, E488 | −10 |
Natural flavors (natural_flavors) | Undisclosed "natural flavor(s)" — not automatically bad, but not transparent | −5 |
Undisclosed flavoring (undisclosed_flavor) | "Flavor(s)" or "flavoring" on the label with no "natural" or "artificial" qualifier — less transparent than natural flavors, treated the same | −5 |
MSG / glutamates (msg) | Monosodium glutamate, yeast extract, autolyzed yeast, hydrolyzed protein when used as a flavor enhancer | −5 |
| Rule | Detail | Deduction |
|---|---|---|
| Sugar in the first three | Any sugar or syrup among the first three ingredients. Matched words: sugar, syrup, honey, molasses, agave, dextrose, fructose, glucose, sucrose, maltose, cane juice. Stacks with the HFCS flag. | −10 |
| Ingredient count | More than 10 ingredients: −5, then −2 for every additional 5 (11–14: −5, 15–19: −7, 20–24: −9 …) | −5 and up |
| Added sugar per serving | 6–10 g: −5. More than 10 g: −15. | −5 / −15 |
USDA Organic (usda_organic in certifications) | The certification seal, not the word "organic" in the product name | +5 |
Scores are clamped to 0–100.
Any product containing an artificial dye or an EU-banned additive is Not Approved regardless of its total score. The receipt shows this as a separate line.
seasoning (salt, sugar, yeast extract) — counts as one ingredient toward the count rule. Record it as one entry with the full text as its name.msg flag for the yeast extract. If a compound ingredient contains more than one flaggable item, flag it with the most severe one.canola oil with TBHQ for freshness) is deducted on top of that compound's most severe flag, once per compound. It does not add to the ingredient count.vegetable oil (sunflower, corn and/or canola)) are flagged by the worst oil in the list.data/verifications.jsonl.AisleScore publishes ingredient information for general educational purposes only. It is not medical or dietary advice. Always read the physical label before purchasing, especially if you have allergies — formulations change without notice.