Greenlens

Every public rating on one cosmetic, the places they disagree kept visible, and a single score whose weighting you control.

Navigate

  • Browse
  • In your home
  • Methodology
  • Criteria
  • Extension
  • How scoring works
  • Account

The one rule

We never blend a score that hides who disagrees. Funding model travels with every rating. Weights are computed at read time and never stored.

Cosmetics only · lead with safetyOpen data via Open Beauty Facts · no EWG/Yuka scraping
As an Amazon Associate, Greenlens earns from qualifying purchases. Affiliate income never changes a rating or ranking.PrivacyTerms
Catalog/Oway COM/curly hair co-wash
curly hair co-wash
Oway COM

curly hair co-wash

hair

Your composite

—OUT OF 100No data
—
Safety
—
Eco
—
Labor
—
Pkg
Find on Amazon↗

Affiliate link. We may earn a commission. It never changes a rating.

In your home

Sort this into a room

Alternatives

Nothing beats this on safety.

Flags

No ingredient flags.

Every rater, every axis

Ingredient safety

    Also screened — no listing found

    • Health Canada Ingredient Hotlist
    • US NTP Report on Carcinogens
    • California Proposition 65
    • IARC Monographs
    • ECHA SVHC Candidate List
    • ANSES Endocrine Disruptors
    • EU Harmonised Classification (CLP Annex VI)

    Environmental

      Also screened — no listing found

      • EU Microplastics Restriction

      no black box

      How this score is built

      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.

      1. 1

        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.

      2. 2

        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.

      3. 3

        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.

      4. 4

        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.

      Weighted by what you care about

      Tune your weights

      composite recomputes live

      +
      Ingredient safetyno rating

      No rater covers this axis for this product, so its weight can't move the score.

      Environmentalno rating

      No rater covers this axis for this product, so its weight can't move the score.

      Laborno rating

      No rater covers this axis for this product, so its weight can't move the score.

      Packagingno rating

      No rater covers this axis for this product, so its weight can't move the score.

      0 means ignored. Higher = more weight in your composite.

      Ingredients, decoded

      Data availability

      Limited·3 of 40 characterized

      Our sources have reference data on 3 of 40 listed ingredients; 37 are uncharacterized in our data — a gap, not a clean bill.

      Every listed ingredient: its function, where our safety lists land, and whether our sources have data on it.
      IngredientWhat it doesSafetyData
      Aqua/Water/Eau OZ→—No flags in our sourcesWell-characterized
      Sodium Coceth Sulfate ND→—Not in our sourcesNo data
      Cocamidopropyl Betaine ND→—Not in our sourcesNo data
      Hypericum Perforatum Extract O→—Not in our sourcesNo data
      Foeniculum Vulgare Oil BD/EO→—Not in our sourcesNo data
      Carapa Guaianensis Seed Oil FT→—Not in our sourcesNo data
      Citrus Limon Peel Oil EO/BD→—Not in our sourcesNo data
      Citrus Aurantium Amara Leaf/ Twig Oil EO→—Not in our sourcesNo data
      Citrus Aurantium Bergamia Extract ND→—Not in our sourcesNo data
      Citrus Nobilis Peel Oil EO→—Not in our sourcesNo data
      Coriandrum Sativum Fruit Oil EO→—Not in our sourcesNo data
      Elettaria Cardamomum Extract ND→—Not in our sourcesNo data
      Myristica Fragrans Extract ND→—Not in our sourcesNo data
      Pelargonium Graveolens Oil EO→—Not in our sourcesNo data
      Piper Nigrum Fruit Oil EO→—Not in our sourcesNo data
      Pogostemon Cablin Extract ND→—Not in our sourcesNo data
      Citrus Aurantium Dulcis Peel Oil EO→—Not in our sourcesNo data
      Soybean Oil Glycereth-8 Esters ND→—Not in our sourcesNo data
      Sodium Myristoyl Glutamate ND→—Not in our sourcesNo data
      Polyglyceryl-4 Caprate ND→—Not in our sourcesNo data
      Disodium Laureth Sulfosuccinate ND→—Not in our sourcesNo data
      Coco-Glucoside ND→—Not in our sourcesNo data
      Glyceryl Oleate ND→—Not in our sourcesNo data
      Guar Hydroxypropyltrimonium Chloride ND→—Not in our sourcesNo data
      Dicaprylyl Ether ND→—Not in our sourcesNo data
      Glycerin ND→—Not in our sourcesNo data
      Lauryl Alcohol ND→—Not in our sourcesNo data
      Polyglyceryl-3 Ricinoleate ND→—Not in our sourcesNo data
      Sodium Babassuamphoacetate ND→—Not in our sourcesNo data
      Hydrolyzed Sweet Almond Protein ND→—Not in our sourcesNo data
      Sodium Chloride ND→—Not in our sourcesNo data
      Citric Acid ND→—Not in our sourcesNo data
      Triethyl Citrate ND→—Not in our sourcesNo data
      Phenethyl Alcohol ND→—Not in our sourcesNo data
      Tocopherol ND→—Not in our sourcesNo data
      Hydrogenated Palm Glycerides Citrate ND→—Not in our sourcesNo data
      Sodium Benzoate→preservativefragranceanticorrosivepreservativefragranceanticorrosiveNo flags in our sourcesWell-characterized
      Potassium Sorbate→preservativefragrancepreservativefragranceNo flags in our sourcesWell-characterized
      Limonene ND→—Not in our sourcesNo data
      Linalool ND→—Not in our sourcesNo data