[ad_1]
Supergoop SPF has become a staple in beauty stores like Sephora and Ulta, as well as in the daily routines of many influencers. They’ve built a reputation for creating sunscreens that not only protect your skin but also feel great to wear. recent legal developments have raised significant doubts about the reliability of their claims. It’s essential for consumers to be informed, especially before making your next SPF purchase. Have you heard about the lawsuits against them? Let’s dive into what’s been happening.
The Allegations Behind the 100% Mineral Lawsuit
In December 2025, a class action lawsuit was initiated against Supergoop in a federal court in California. The complaint claims that Supergoop has misrepresented several products as 100% Mineral, despite containing synthetic and chemically processed ingredients. The products identified in the lawsuit include Resetting 100% Mineral SPF 25, Bright-Eyed 100% Mineral Eye Cream SPF 40, Zinc Screen 100% Mineral Lotion, and Mineral Unseen Sunscreen.
Essentially, when you see 100% Mineral on a label, it implies that the entire formula is mineral-based, not just the active sunscreen ingredient. This lawsuit argues that many consumers would naturally assume this to be true, and I agree. According to the allegations, however, that is not the case with these products.
This distinction matters because consumers opt for mineral sunscreens intentionally. They aim to steer clear of synthetic chemical filters that have raised health concerns. they often pay a premium for what they believe to be a cleaner and safer option, only to find out they might be misled.
Understanding the Reef-Safe Settlement and Past Misleading Claims
This isn’t Supergoop’s first encounter with legal ramifications due to deceptive marketing practices. In June 2025, prosecutors from Santa Clara County revealed that Supergoop had settled for $350,000 over allegations that they marketed their chemical sunscreens as reef-safe or reef-friendly, even though these products contained UV filters harmful to coral reefs.
They labeled chemical sunscreens as “reef-safe.” While that case is now closed, another lawsuit regarding a different misleading claim has emerged. This pattern of behavior highlights the importance of scrutinizing brand claims before trusting them completely.
A Closer Look at the Ingredients in Supergoop’s Chemical Sunscreens
While Supergoop avoids some of the more notorious offenders like oxybenzone and parabens, it’s important to note that their formulations still contain ingredients that have raised significant concerns in scientific studies. Here’s a closer look at some of these controversial components.
AVOBENZONE (3%) — FDA studies indicate that avobenzone is absorbed through the skin into the bloodstream, exceeding safety thresholds even after just one application. It also degrades quickly under sunlight, necessitating chemical stabilizers to maintain efficacy.
OCTOCRYLENE (10%) — This ingredient is present at a high concentration of 10%, which raises concerns as it is absorbed into the skin at levels approximately 14 times higher than the FDA’s safety cut-off. It also breaks down into benzophenone within the body, a compound flagged as a potential carcinogen and hormone disruptor.
OCTISALATE (5%) — Octisalate is absorbed through the skin at levels ten times above the FDA’s safety threshold. The FDA has stated that further research is needed before it can be deemed safe and effective. Data from the EPA also suggests it may interact weakly with estrogen receptors.
POLYMETHYLSILSESQUIOXANE — This silicone powder forms a coating on the skin, providing a smooth texture but not treating the skin. Silicones like this can trap bacteria, clog pores over time, and hinder the absorption of beneficial ingredients.
CHLORPHENESIN — A synthetic preservative highlighted by the EWG for having moderate use restrictions. It has been associated with allergic reactions and immunosuppressive effects and is banned in Japan.
BISMUTH OXYCHLORIDE — A synthetic mineral used for a luminous finish, known to cause skin irritation, clogged pores, and itching, especially with prolonged use. It often triggers adverse reactions in those with sensitive or acne-prone skin.
These claims are not exaggerated; they are substantiated by peer-reviewed research, EWG assessments, and FDA studies. With daily use, these ingredients accumulate in the bloodstream, yet many consumers remain unaware of this critical information.
The Key Takeaway on Supergoop Products
While Supergoop is not the worst brand on the market, they serve as an example of how some companies heavily market clean beauty concepts without fully delivering on their promises. Consumers should remain vigilant. The presence of ingredients I personally avoid, such as chemical SPF and silicones, is concerning. The two legal actions within a year, one resulting in a $350,000 settlement, suggest that their claims may not withstand rigorous examination.
The good news is that you don’t have to choose between effective sun protection and clean formulation. There are genuinely mineral-based sunscreens that utilize zinc oxide as the sole active ingredient, accompanied by a clean supporting formula. The key is to know what to seek and which brands have truly earned their claims.
That’s why I’m here to help! 🙂
Looking for Cleaner Sunscreen Alternatives?
I’ve tested and curated a selection of clean SPF options that I trust and personally use. You can find all the links here. Unsure which products are best for your skin type? Schedule a FREE Consultation with our Holistic Esthetician at your convenience!

Recommended Cleaner Swaps for Your Sunscreen
Coola Hydrating Lotion SPF50- I recommend swapping this with Babo Botanicals Sheer Mineral Lotion SPF50 or Suntegrity Milky Serum SPF50.
ColorScience Face Shield- Consider replacing this with RMS Suncoverup. I use shade Buff.
Ellamis Pro Collagen SPF30- Switch this out for Babo Botanicals Clear Zinc SPF30.
EltaMD Daily Tinted SPF40- I suggest replacing this with Suntegrity Tinted Moisturizer. My shade is Light.
Glow Recipe Watermelon Glow Dewy SPF30- I recommend substituting this for Zatik Mineral SPF30 or Suntegrity SPF30 Primer.
Innisfree Daily Defense SPF50- This can be swapped for Babo Botanicals Daily Sheer Fluid SPF50.
La Roche-Posay Mineral Tinted SPF50- I would replace this with RMS Suncoverup. I use shade Buff.
Naked Sundays Clear Glow Stick SPF50- Consider switching this with Babo Botanicals Sport Stick SPF50 or Suntegrity SPF30 Sport Stick.
Sun Bum Daily SPF50 Face Lotion- I recommend swapping this for Babo Botanicals Sheer Mineral Lotion SPF50.
Tatcha Milky Sunscreen SPF50- I suggest replacing this with Suntegrity Milky Serum SPF50.
Tower 28 SunnyDays Tinted SPF30- I would swap this out for Suntegrity Impeccable Skin. I use shade Buff.
Tower 28 SOS Faceguard SPF30- This can be replaced with Babo Sheer Tinted SPF30.
Supergoop Glowscreen- I recommend swapping this for RMS Supernatural Radiance Serum. My shade is Light.
var mi_version = ‘9.2.4’; var mi_track_user = true; var mi_no_track_reason = ”; var MonsterInsightsDefaultLocations = {“page_location”:”https://www.theorganicbunny.com/supergoop-lawsuits/”,”page_referrer”:”https://www.theorganicbunny.com/tag/supergoop-zinc-screen-lawsuit/”}; if ( typeof MonsterInsightsPrivacyGuardFilter === ‘function’ ) { var MonsterInsightsLocations = (typeof MonsterInsightsExcludeQuery === ‘object’) ? MonsterInsightsPrivacyGuardFilter( MonsterInsightsExcludeQuery ) : MonsterInsightsPrivacyGuardFilter( MonsterInsightsDefaultLocations ); } else { var MonsterInsightsLocations = (typeof MonsterInsightsExcludeQuery === ‘object’) ? MonsterInsightsExcludeQuery : MonsterInsightsDefaultLocations; } var disableStrs = [ ‘ga-disable-G-X53MXPKNL9’, ]; /* Function to detect opted out users */ function __gtagTrackerIsOptedOut() { for (var index = 0; index -1) { return true; } } return false; } /* Disable tracking if the opt-out cookie exists. */ if (__gtagTrackerIsOptedOut()) { for (var index = 0; index < disableStrs.length; index++) { window[disableStrs[index]] = true; } } /* Opt-out function */ function __gtagTrackerOptout() { for (var index = 0; index < disableStrs.length; index++) { document.cookie = disableStrs[index] + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/'; window[disableStrs[index]] = true; } } if ('undefined' === typeof gaOptout) { function gaOptout() { __gtagTrackerOptout(); } } window.dataLayer = window.dataLayer || []; window.MonsterInsightsDualTracker = { helpers: {}, trackers: {}, }; if (mi_track_user) { function __gtagDataLayer() { dataLayer.push(arguments); } function __gtagTracker(type, name, parameters) { if (!parameters) { parameters = {}; } if (parameters.send_to) { __gtagDataLayer.apply(null, arguments); return; } if (type === 'event') { parameters.send_to = monsterinsights_frontend.v4_id; var hookName = name; if (typeof parameters['event_category'] !== 'undefined') { hookName = parameters['event_category'] + ':' + name; } if (typeof MonsterInsightsDualTracker.trackers[hookName] !== 'undefined') { MonsterInsightsDualTracker.trackers[hookName](parameters); } else { __gtagDataLayer('event', name, parameters); } } else { __gtagDataLayer.apply(null, arguments); } } __gtagTracker('js', new Date()); __gtagTracker('set', { 'developer_id.dZGIzZG': true, }); if ( MonsterInsightsLocations.page_location ) { __gtagTracker('set', MonsterInsightsLocations); } __gtagTracker('config', 'G-X53MXPKNL9', {"forceSSL":"true"} ); !function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version=’2.0′; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window, document,’script’, ‘https://connect.facebook.net/en_US/fbevents.js’); fbq(‘init’, ‘2992958620834671’); fbq(‘track’, ‘PageView’); window.gtag = __gtagTracker; (function () { /* https://developers.google.com/analytics/devguides/collection/analyticsjs/ */ /* ga and __gaTracker compatibility shim. */ var noopfn = function () { return null; }; var newtracker = function () { return new Tracker(); }; var Tracker = function () { return null; }; var p = Tracker.prototype; p.get = noopfn; p.set = noopfn; p.send = function () { var args = Array.prototype.slice.call(arguments); args.unshift(‘send’); __gaTracker.apply(null, args); }; var __gaTracker = function () { var len = arguments.length; if (len === 0) { return; } var f = arguments[len – 1]; if (typeof f !== ‘object’ || f === null || typeof f.hitCallback !== ‘function’) { if (‘send’ === arguments[0]) { var hitConverted, hitObject = false, action; if (‘event’ === arguments[1]) { if (‘undefined’ !== typeof arguments[3]) { hitObject = { ‘eventAction’: arguments[3], ‘eventCategory’: arguments[2], ‘eventLabel’: arguments[4], ‘value’: arguments[5] ? arguments[5] : 1, } } } if (‘pageview’ === arguments[1]) { if (‘undefined’ !== typeof arguments[2]) { hitObject = { ‘eventAction’: ‘page_view’, ‘page_path’: arguments[2], } } } if (typeof arguments[2] === ‘object’) { hitObject = arguments[2]; } if (typeof arguments[5] === ‘object’) { Object.assign(hitObject, arguments[5]); } if (‘undefined’ !== typeof arguments[1].hitType) { hitObject = arguments[1]; if (‘pageview’ === hitObject.hitType) { hitObject.eventAction = ‘page_view’; } } if (hitObject) { action = ‘timing’ === arguments[1].hitType ? ‘timing_complete’ : hitObject.eventAction; hitConverted = mapArgs(hitObject); __gtagTracker(‘event’, action, hitConverted); } } return; } function mapArgs(args) { var arg, hit = {}; var gaMap = { ‘eventCategory’: ‘event_category’, ‘eventAction’: ‘event_action’, ‘eventLabel’: ‘event_label’, ‘eventValue’: ‘event_value’, ‘nonInteraction’: ‘non_interaction’, ‘timingCategory’: ‘event_category’, ‘timingVar’: ‘name’, ‘timingValue’: ‘value’, ‘timingLabel’: ‘event_label’, ‘page’: ‘page_path’, ‘location’: ‘page_location’, ‘title’: ‘page_title’, ‘referrer’ : ‘page_referrer’, }; for (arg in args) { if (!(!args.hasOwnProperty(arg) || !gaMap.hasOwnProperty(arg))) { hit[gaMap[arg]] = args[arg]; } else { hit[arg] = args[arg]; } } return hit; } try { f.hitCallback(); } catch (ex) { } }; __gaTracker.create = newtracker; __gaTracker.getByName = newtracker; __gaTracker.getAll = function () { return []; }; __gaTracker.remove = noopfn; __gaTracker.loaded = true; window[‘__gaTracker’] = __gaTracker; })(); } else { console.log(“”); (function () { function __gtagTracker() { return null; } window[‘__gtagTracker’] = __gtagTracker; window[‘gtag’] = __gtagTracker; })(); }
[ad_2]
Here you can find the original content; the photos and images used in our article also come from this source. We are not their authors; they have been used solely for informational purposes with proper attribution to their original source


