Coverage & match quality
2 ratings · 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 1 of 10 ingredients: 1 restricted.
Starts at 100; 9 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 5 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
Robust9 of 10 characterized
Our sources have reference data on 9 of 10 listed ingredients; 1 is uncharacterized in our data — a gap, not a clean bill.
| Ingredient | What it does | Safety | Data |
|---|---|---|---|
| Waterantiplaqueskin conditioningsolvent | antiplaqueskin conditioningsolvent | No flags in our sources | Well-characterized |
| Glycerinperfuminghumectantdenaturant | perfuminghumectantdenaturant | No flags in our sources | Well-characterized |
| Sodium Gluconatechelatingskin conditioning | chelatingskin conditioning | No flags in our sources | Well-characterized |
| Natural Fragrance | Not in our sources | No data | |
| Palm Acidcleansingsurfactant - emulsifying | cleansingsurfactant - emulsifying | No flags in our sources | Well-characterized |
| Sodium Chloridefragranceoral carebulking | fragranceoral carebulking | No flags in our sources | Well-characterized |
| Palm Kernel Acidcleansingsurfactant - emulsifying | cleansingsurfactant - emulsifying | No flags in our sources | CosIng-catalogued |
| Pentasodium Pentetatechelating | chelating | EU harmonised CMR (cat. 1)· flagged by 1 of 9raters disagree | Referenced |
| Titanium Dioxideuv filteruv absorbercolorant | uv filteruv absorbercolorant | ANSES CMR-listed· flagged by 5 of 9raters disagree | Referenced |
| Iron Oxides | No flags in our sources | Well-characterized |