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 6 of 27 ingredients: 1 restricted, 1 of concern, 3 regulated allergens.
Starts at 100; 22 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 29 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
Robust26 of 27 characterized
Our sources have reference data on 26 of 27 listed ingredients; 1 is 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 |
| CETYL ALCOHOLfragranceemollientemulsion stabilising | fragranceemollientemulsion stabilising | No flags in our sources | Well-characterized |
| STEARYL ALCOHOLfragranceemollientemulsion stabilising | fragranceemollientemulsion stabilising | No flags in our sources | Well-characterized |
| GLYCERYL STEARATEemollientsurfactant - emulsifying | emollientsurfactant - emulsifying | No flags in our sources | Well-characterized |
| STEARAMIDOPROPYL DIMETHYLAMINEantistatichair conditioningsurfactant - cleansing | antistatichair conditioningsurfactant - cleansing | No flags in our sources | CosIng-catalogued |
| ISOPROPYL MYRISTATEperfumingfragranceemollient | perfumingfragranceemollient | No flags in our sources | Well-characterized |
| LACTIC ACIDhumectantbufferingskin conditioning | humectantbufferingskin conditioning | Health Canada Hotlist — restricted· flagged by 1 of 9raters disagree | Referenced |
| PARFUMperfumingfragrance | perfumingfragrance | Transparency concern· flagged by 1 of 9raters disagree | Referenced |
| PHENOXYETHANOLpreservativeantimicrobial | preservativeantimicrobial | Mild sensitizer for some· flagged by 1 of 9raters disagree | Referenced |
| BEHENTRIMONIUM CHLORIDEpreservativeantistatichair conditioning | preservativeantistatichair conditioning | EU-restricted (with limits)· flagged by 2 of 9raters disagree | Referenced |
| TRISODIUM ETHYLENEDIAMINE DISUCCINATEchelating | chelating | No flags in our sources | Well-characterized |
| PEG-40 HYDROGENATED CASTOR OILsurfactant - cleansingsurfactant - emulsifying | surfactant - cleansingsurfactant - emulsifying | No flags in our sources | CosIng-catalogued |
| LINALOOLperfumingdeodorant | perfumingdeodorant | EU harmonised skin sensitizer· flagged by 2 of 9raters disagree | Referenced |
| LINALYL ACETATEfragrance | fragrance | ANSES endocrine candidate· flagged by 2 of 9raters disagree | Referenced |
| ISOPROPYL ALCOHOLperfumingantifoamingsolvent | perfumingantifoamingsolvent | No flags in our sources | Well-characterized |
| GLYCOLIC ACIDbuffering | buffering | Health Canada Hotlist — restricted· flagged by 1 of 9raters disagree | Referenced |
| ETHYLHEXYLGLYCERINdeodorantskin conditioning | deodorantskin conditioning | No flags in our sources | Well-characterized |
| LIMONENEperfumingdeodorantsolvent | perfumingdeodorantsolvent | ANSES endocrine candidate· flagged by 3 of 9raters disagree | Referenced |
| CAMELLIA SINENSIS LEAF EXTRACTuv absorberfragranceantimicrobial | uv absorberfragranceantimicrobial | No flags in our sources | Well-characterized |
| LAVANDULA OIL/EXTRACT | Not in our sources | No data | |
| GLUCOSEhumectant | humectant | No flags in our sources | Well-characterized |
| GLYCERINperfuminghumectantdenaturant | perfuminghumectantdenaturant | No flags in our sources | Well-characterized |
| CHONDRUS CRISPUS EXTRACTskin conditioningviscosity controlling | skin conditioningviscosity controlling | No flags in our sources | CosIng-catalogued |
| CITRIC ACIDfragrancechelatingbuffering | fragrancechelatingbuffering | Health Canada Hotlist — restricted· flagged by 1 of 9raters disagree | Referenced |
| MALIC ACIDbuffering | buffering | Health Canada Hotlist — restricted· flagged by 1 of 9raters disagree | Referenced |
| SODIUM DEHYDROACETATEpreservative | preservative | No flags in our sources | CosIng-catalogued |
| POTASSIUM SORBATEpreservativefragrance | preservativefragrance | No flags in our sources | Well-characterized |