Public ruleset · v2026.07.0

Exactly how we decide what's safe.

Every verdict is produced by this versioned ruleset — not a language model. It's public because you deserve to see the reasoning, and to catch us if we're wrong.

34Prohibited rules
4Risk rules
6Allow phrases
<20ppm FDA threshold

Exact-token matching is deliberate: it's why maltodextrin is not flagged as malt, and buckwheat is not flagged as wheat.

Prohibited — outright gluten

A match here can never be marked safe (forced to not_safe).

TermMatchNote
wheatexact_tokenWheat contains gluten.
durumexact_tokenDurum is a wheat species.
semolinaexact_tokenSemolina is milled durum wheat.
speltexact_tokenSpelt is a wheat species.
kamutexact_tokenKamut (khorasan) is a wheat species.
farroexact_tokenFarro is a wheat species.
einkornexact_tokenEinkorn is a wheat species.
emmerexact_tokenEmmer is a wheat species.
grahamexact_tokenGraham flour is whole wheat.
freekehexact_tokenFreekeh is roasted green wheat.
bulgurexact_tokenBulgur is cracked wheat.
couscousexact_tokenCouscous is made from wheat semolina.
seitanexact_tokenSeitan is concentrated wheat gluten.
matzoexact_tokenMatzo is made from wheat.
matzahexact_tokenMatzah is made from wheat.
farinaexact_tokenFarina is a wheat cereal.
fuexact_tokenFu is dried wheat gluten.
barleyexact_tokenBarley contains gluten.
ryeexact_tokenRye contains gluten.
triticaleexact_tokenTriticale is a wheat-rye hybrid.
maltexact_tokenMalt is derived from barley.
malt vinegarphraseMalt vinegar is not distilled and retains gluten from barley.
malt extractphraseMalt extract is barley-derived.
malt syrupphraseMalt syrup is barley-derived.
malt flavoringphraseMalt flavoring is typically barley-derived.
malt flavourphraseMalt flavour (intl spelling) is typically barley-derived.
malted barleyphraseMalted barley contains gluten.
barley maltphraseBarley malt contains gluten.
brewers yeastphraseBrewer's yeast is typically grown on spent barley mash.
brewer yeastphraseBrewer's yeast (alt phrasing).
hydrolyzed wheat proteinphraseHydrolyzed wheat protein contains gluten.
wheat flourphraseWheat flour contains gluten.
wheat germphraseWheat germ contains gluten.
wheat branphraseWheat bran contains gluten.

Risk — nuanced, never safe

A match can never be safe; the best case is a controlled cross-contamination risk.

TermMatchNote
wheat starchphraseWheat starch may be specially processed <20ppm (Codex) but is not inherently safe; requires verification.
oatsexact_tokenNon-certified oats carry cross-contamination risk from shared equipment.
oatexact_tokenNon-certified oat ingredient; cross-contamination risk.
oatmealexact_tokenNon-certified oatmeal; cross-contamination risk.

Allow phrases

These label phrases suppress an overlapping grain token so we don't flag a genuinely-safe product. They only ever reduce false positives — they can never turn a real grain into a “safe.”

PhraseWhy
certified gluten free oatsCertified GF oats are tested <20ppm; suppress the `oats` risk token.
gluten free oatsGF-labeled oats bear an FDA <20ppm claim; suppress the `oats` risk token.
certified gluten free rolled oatsCommon label phrasing for certified GF rolled oats.
gluten free rolled oatsGF-labeled rolled oats.
certified gluten free oat flourCertified GF oat flour.
wheat freeNegation claim; prevents the `wheat` token from firing on `wheat-free`. Other grains still screen.

Changes to this ruleset happen only through a reviewed pull request, gated by a 60+-fixture golden test suite. Verdicts store the exact ruleset version that produced them, so every decision stays auditable.