Editorial policy

How products enter the catalog

Every candidate's full ingredient list is run through our own engine before any other consideration. The normal rule is strict: a product enters the catalog only with zero flagged ingredients, and unjudged main or functional ingredients reject it just as firmly as triggers do — an unjudged hero ingredient is not a pass.

The one exception is the antifungal treatmentscategory: a product qualifies with at least one recognized antifungal active, and any flagged ingredients are listed honestly on its card with a wash-off/leave-on label. All other categories keep the zero-trigger rule.

How ingredients get their statuses

Each dataset entry carries an evidence level (strong, moderate, limited) and its basis in plain words. Statuses rest on primary literature where it exists — every cited paper was fetched and title-matched before it shipped — and on explicitly labeled mechanism reasoning where it does not. Uncertain cases stay "not recognized" rather than being guessed at, and status changes (for example, fatty alcohols or lanolin) require an explicit owner decision, recorded with the reasoning. The full method is on themethodology page.

Corrections

Labels change and we make mistakes. Send either to[email protected] (seecontact for what to include): a wrong verdict, an outdated formula, or a product we should check. Every correction is researched, applied to the dataset, and logged in the public changelog — never silently edited.

AI use

AI has exactly one job in the product: cleaning up messy OCR text from label photos (fixing typos, extracting the ingredient list). It never decides verdicts — the engine and the dataset are the sole source of truth, and cleaned text always lands in an editable field for human review first. Blog drafts may start from AI outlines, but every published word is reviewed by a human before it ships.