How the score is built

Published in full, because a number nobody can audit is worth nothing.

1. Identify the product

The cache on this device, then the shared cache, then Open Beauty Facts and Open Food Facts. A record only counts with an ingredient list.

2. Match every ingredient

Names are normalised to a single canonical form, matched against the reference data, then weighed against the health topics you selected. An ingredient that does not bear on a topic costs that topic nothing.

3. Deduct from 100, per topic

Each health topic starts at 100. Severity sets the deduction; evidence strength scales it down. Nothing is averaged: one well-evidenced serious match is not diluted by a long list of others.

SeverityStrong evidenceModerate evidenceEmerging evidence
High18137
Moderate1074
Low542

4. Read the verdict

Topic scoreVerdict
100, nothing flaggedLow Risk
55 to 99Caution
0 to 54Avoid

Bands apply to each health topic on its own, and the highest-risk topic sets the result. A single high-severity match with strong or moderate evidence sets its topic to Avoid regardless of the score. A topic with nothing flagged reads Low Risk, or Unknown when too little of the label could be read. When the data holds fewer records on a topic than on the others, the result says so. A list read from a photo is rated like any other when the photo was legible, and marked as read from a photo.

Who can influence a result

Brands cannot pay to change a result, or to hold a slot in any list. There is no advertiser input into the reference data.

The reference data

340 curated ingredient records, version 15, last reviewed October 26, 2026. Ingredients it does not cover are classified by an AI classifier, a limited number per product, and marked as model-assisted in their details. Any it does not reach, or cannot assess, stay unrated.