<!-- Methodology & sources | Reef Label -->
Source: https://reeflabel.com/guide/methodology/

# Methodology & sources

How we build the dataset, and exactly how every verdict on this site is computed.

## Products

For each of the 42 brands we list every SPF product currently sold on the brand’s own website. For each product we transcribe the Drug Facts panel — active ingredients with percentages and the full inactive list in label order — and record the exact page it came from. When a brand doesn’t publish the list (some mass-market brands now sell only through retailers) we use the manufacturer’s own label as filed with the FDA on [DailyMed](https://dailymed.nlm.nih.gov/), or a major retailer’s listing, and say so on the product page. If we can’t find a complete list we mark the product “ingredient list incomplete” (13 of 988 products today) and never fill the gap by guessing.

We link to brand-hosted product images rather than copying them. Brands can request corrections at any time.

## Product identifiers

Where a product has an FDA drug label, we list its National Drug Code (NDC), package NDCs with sizes, UPC barcodes and a link to the label on[DailyMed](https://dailymed.nlm.nih.gov/). A label is only linked to a product when the active ingredients, percentages, SPF, format and product name all agree. Close calls were checked by hand against the package text, and when a label could belong to more than one product we leave the identifiers off rather than guess.

## Laws

Each of the 13 locations is sourced to the statute, ordinance or official notice wherever one exists, with the date we last checked it. Where a law was overturned or preempted (for example by a state law) we keep the entry, mark it repealed, and explain why — because it’s still widely cited. Start dates and recorded changes are listed on [law updates](https://reeflabel.com/updates/).

## Ingredients

Our dictionary covers 41 ingredients, each with every label name we know: INCI names, US names, trade names and color index numbers. Matching is case-insensitive and longest-name-first, so “ethylhexyl dimethyl PABA” is recognised as padimate O and not mistaken for PABA.

## Verdicts

One piece of code produces every verdict — on product pages, brand pages, location pages and in the checker:

-   **Named-ingredient bans:** a product is _not allowed_ if any banned ingredient appears in its actives or inactives.
-   **Mineral-only rules:** a product is _not allowed_ if any active ingredient is anything other than zinc oxide or titanium dioxide.
-   **Guidance:** products are shown as meeting or going against the guidance; there is no legal verdict.
-   **Unverified:** the product passes on the ingredients we know, but part of its list is missing and the rule depends on it.
-   **Repealed:** no verdict — there is no enforceable rule.

## Limits

We report whether a formula meets a law as written. We don’t test products, and formulas change without notice. Particle size (“non-nano”) is a brand claim that US labels don’t have to disclose. None of this is legal advice.

Dataset last reviewed September 23, 2026.
