Coverage & match quality
1 rating · 1 of 4 axes
no black box
We don't rate products ourselves. We collect what each public rater already says, put every scale on common ground, and keep the disagreements visible instead of averaging them away.
Collect each rater's own score
Every source keeps its native verdict for this product. We never invent a score for an axis a source didn't measure.
Normalize to 0–100, higher = better
Raters can use different scales and directions: some where a low number means safe, some where a high one does. We map them all onto one 0–100 axis and flip the ones that run backwards so the numbers are finally comparable.
Average per axis, but keep the spread
Scores on the same axis become one representative number (their mean). When raters split by 20+ points we flag it and keep every rater's number. A disagreement is never blended into silence.
Your weights make the overall
The ring is the weighted average of the four pillars using your weights. It's computed fresh every time and never stored, so there's no hidden “objective” default.
worked example · Ingredient safety
Greenlens Ingredient Scan
Independent · EU regulatory reference
Flagged 10 of 31 ingredients: 1 prohibited, 1 restricted, 1 of concern, 7 regulated allergens.
Starts at 100; 21 other ingredients carried no recognized regulated hazard. Absence of a flag means no regulated hazard was recognized — not proof of safety. This is one lens; see where raters disagree above.
Why this score
Every ingredient, under all three lenses
The Scan is one opinion. The strict and lenient lenses read the same list and land 89 points apart. See what each one flags, and what it costs.
Tune your weights
composite recomputes live
+No rater covers this axis for this product, so its weight can't move the score.
No rater covers this axis for this product, so its weight can't move the score.
No rater covers this axis for this product, so its weight can't move the score.
Data availability
Robust29 of 31 characterized
Our sources have reference data on 29 of 31 listed ingredients; 2 are uncharacterized in our data — a gap, not a clean bill.
| Ingredient | What it does | Safety | Data |
|---|---|---|---|
| Aquasolvent | solvent | No flags in our sources | Well-characterized |
| Isopentyldiolsolvent | solvent | No flags in our sources | CosIng-catalogued |
| Parfumperfumingfragrance | perfumingfragrance | Transparency concern· flagged by 1 of 9raters disagree | Referenced |
| C12-13 Alketh-9 | Not in our sources | No data | |
| Xylitylglucosidehumectantskin conditioning | humectantskin conditioning | No flags in our sources | CosIng-catalogued |
| Melhumectantemollientmoisturising | humectantemollientmoisturising | No flags in our sources | CosIng-catalogued |
| Sodium Hyaluronatehumectantskin conditioning | humectantskin conditioning | No flags in our sources | Well-characterized |
| Sh-Polypeptide-123skin protecting | skin protecting | No flags in our sources | CosIng-catalogued |
| Saccharomyces Ferment Lysate Filtrateskin conditioning | skin conditioning | No flags in our sources | CosIng-catalogued |
| Ethylhexylglycerindeodorantskin conditioning | deodorantskin conditioning | No flags in our sources | Well-characterized |
| Pelvetia Canaliculata Extractskin protecting | skin protecting | No flags in our sources | CosIng-catalogued |
| Anhydroxylitolhumectantskin conditioning | humectantskin conditioning | No flags in our sources | CosIng-catalogued |
| Maltitolfragrancehumectantmoisturising | fragrancehumectantmoisturising | No flags in our sources | CosIng-catalogued |
| Xylitolhumectantskin conditioning | humectantskin conditioning | No flags in our sources | CosIng-catalogued |
| Benzyl Glycolsolvent | solvent | No flags in our sources | CosIng-catalogued |
| Benzotriazolyl Dodecyl P-Cresoluv absorber | uv absorber | No flags in our sources | CosIng-catalogued |
| Citric Acidfragrancechelatingbuffering | fragrancechelatingbuffering | Health Canada Hotlist — restricted· flagged by 1 of 9raters disagree | Referenced |
| Sodium Citratefragrancechelatingbuffering | fragrancechelatingbuffering | No flags in our sources | Well-characterized |
| Sodium Benzoatepreservativefragranceanticorrosive | preservativefragranceanticorrosive | No flags in our sources | Well-characterized |
| Potassium Sorbatepreservativefragrance | preservativefragrance | No flags in our sources | Well-characterized |
| Raspberry Ketoneperfumingfragranceskin conditioning | perfumingfragranceskin conditioning | No flags in our sources | Well-characterized |
| Benzyl Alcoholpreservativeperfumingsolvent | preservativeperfumingsolvent | EU harmonised skin sensitizer· flagged by 2 of 9raters disagree | Referenced |
| Acetyl Cedreneperfuming | perfuming | EU-regulated fragrance allergen· flagged by 1 of 9raters disagree | Referenced |
| Benzyl Benzoateperfumingantimicrobialsolvent | perfumingantimicrobialsolvent | ANSES endocrine candidate· flagged by 2 of 9raters disagree | Referenced |
| Benzyl Cinnamateperfuming | perfuming | EU-restricted (with limits)· flagged by 2 of 9raters disagree | Referenced |
| Coumarinperfuming | perfuming | ANSES endocrine candidate· flagged by 2 of 9raters disagree | Referenced |
| Linaloolperfumingdeodorant | perfumingdeodorant | EU harmonised skin sensitizer· flagged by 2 of 9raters disagree | Referenced |
| Myroxylon Pereirae Oil/Extract | EU-prohibited· flagged by 2 of 9raters disagree | Referenced | |
| Rose Ketones | Not in our sources | No data | |
| Tetramethyl Acetyloctahydronaphthalenesperfumingfragranceskin conditioning | perfumingfragranceskin conditioning | EU-regulated fragrance allergen· flagged by 1 of 9raters disagree | Referenced |
| Vanillinfragrance | fragrance | EU-regulated fragrance allergen· flagged by 1 of 9raters disagree | Referenced |