How we check the rules
We do not publish an accuracy percentage yet. This page describes how the rules are built and checked.
Where the rules come from
- Two independent extractions read the published texts (the EU consolidated Regulation and its amending acts, the GB text on legislation.gov.uk, the US federal rules and eight state laws) with separate code.
- Every disagreement is settled against the source by written rules, and each decision is logged with its reason.
- Code copies every number and quote from the source; every quote is string-matched to its snapshot, and every rule carries its source, URL, retrieval date, method and confidence.
- Code checks run on the whole dataset before a release: identifiers and their check digits, dates, product-type scopes, group entries (salts, esters, compounds, preparations), and the worked test formulas of every error class found so far.
- Re-checks: AI verifiers re-check random and targeted samples against the sources between releases, and a labelled test set of formulas is run against the checker.
What the checker never does
- It never passes an ingredient it cannot identify: the answer is NOT_MODELLED.
- It never treats a missing concentration as zero, and it never passes a rule whose product-type wording or condition is not modelled.
- No model runs when you call the API: every answer is computed by code from the stored rules.
Known limits
- Markets: the EU, Great Britain, US federal law and eight US states; no other market yet.
- A raw-material condition (purity, impurities, particle form) cannot be checked from a formula: the answer is NEEDS_ATTENTION.
- Review by a regulatory professional is planned and not done; until then the rules are code-checked and AI-verified only.
Dataset 1.0.0. Found an error? Write to support@cosmeticrules.com with the request and meta.dataset_version.