CINXE.COM

Brazilian Consumer Rights Group Sues Social Media Giants Over Youth Protections

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible" content="ie=edge" /> <!-- HTML Meta Markup --> <title>Brazilian Consumer Rights Group Sues Social Media Giants Over Youth Protections</title> <meta itemprop="image" content="https://www.pymnts.com/wp-content/uploads/2024/07/Meta-AI-Brazil.jpg?w=1000&#038;h=600&#038;crop=1" /> <!-- Link --> <meta name="theme-color" content="#712cf9"> <meta name="msapplication-TileImage" content="https://www.pymnts.com/wp-content/uploads/2023/07/cpi_favicon_270.jpg" /> <link rel="shortcut icon" href="https://www.pymnts.com/wp-content/uploads/2023/07/cpi_favicon_32.jpg" sizes="32x32" /> <link rel="shortcut icon" href="https://www.pymnts.com/wp-content/uploads/2023/07/cpi_favicon_192.jpg" sizes="192x192" /> <link rel="apple-touch-icon-precomposed" href="https://www.pymnts.com/wp-content/uploads/2023/07/cpi_favicon_180.jpg" /> <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="https://www.pymnts.com/feed/" /> <link rel="alternate" type="text/xml" title="RSS .92" href="https://www.pymnts.com/feed/rss/" /> <link rel="alternate" type="application/atom+xml" title="Atom 0.3" href="https://www.pymnts.com/feed/atom/" /> <link rel="pingback" href="https://www.pymnts.com/xmlrpc.php" /> <link rel="dns-prefetch" href="https://www.google.com"> <link rel="dns-prefetch" href="https://stats.g.doubleclick.net"> <link rel="dns-prefetch" href="https://googleads.g.doubleclick.net"> <link rel="dns-prefetch" href="https://fonts.gstatic.com"> <link rel="dns-prefetch" href="https://www.google-analytics.com"> <link rel="dns-prefetch" href="https://www.pymnts.com"> <link rel="preload" href="/wp-content/themes/flex-mag-sixspoke/2020/bootstrap-icons.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> <!-- <script type="text/javascript" src="/wp-content/themes/flex-mag-sixspoke/2020/jquery-3.6.0.slim.min.js?v=1.0"> </script>--> <link rel="preload" as="script" href="https://ak.sail-horizon.com/spm/spm.v1.min.js?ver=5.5.10" /> <script src='https://ak.sail-horizon.com/spm/spm.v1.min.js?ver=5.5.10' type='text/javascript' async></script> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KK94CHFLLe+nY2dmCWGMq91rCGa5gtU4mk92HdvYe+M/SXH301p5ILy+dN9+nJOZ" crossorigin="anonymous"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ENjdO4Dr2bkBIFxQpeoTz1HIcje39Wm4jDKdf19U8gI4ddQ3GYNS7NTKfAdVQSZe" crossorigin="anonymous"> </script> <link rel="stylesheet" href="/wp-content/themes/flex-mag-sixspoke/2020/bootstrap-icons.css"> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link rel="preload" as="style" href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap" rel="stylesheet"> <!-- Font --> <link href="https://fonts.googleapis.com/css?family=Playfair&#43;Display:700,900&amp;display=swap" rel="stylesheet"> <!-- css --> <link rel="stylesheet" href="https://www.pymnts.com/wp-content/themes/flex-mag-sixspoke/cpi-mini-site/cpi.css?v=37"> <!-- Google analytics --> <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script> <script async src="https://www.googletagmanager.com/gtag/js?id=G-3WHRCQ5780"></script> <script> let deviceIsBlockingAnalytics = null; let googleTracker = typeof ga !== 'undefined' && ga.getAll ? ga.getAll()[0] : null; console.log('googleTracker initial', googleTracker); if (!googleTracker) { let count = 0; let intervalId = setInterval(() => { ++count; googleTracker = typeof ga !== 'undefined' && ga.getAll ? ga.getAll()[0] : null; console.log('googleTracker', count, googleTracker); if (googleTracker || count > 5) { clearInterval(intervalId); console.log('tracker', googleTracker); return; } }, 500); } else { console.error('Google Tag Manager is blocked'); deviceIsBlockingAnalytics = true; } let lastUrlViewed = null; function parseCookieHeader() { const header = document.cookie; // Split the header into individual name-value pairs var pairs = header.split(';'); // Create an object to store the cookies var cookies = {}; // Loop through the name-value pairs and store them in the object for (var i = 0; i < pairs.length; i++) { var nameValue = pairs[i].split('='); cookies[nameValue[0].trim()] = nameValue[1]; } // Return the object return cookies; } // function registerPageView(url, tracker) { // console.log('registerPageView', url, tracker); // console.log('deviceIsBlockingAnalytics', deviceIsBlockingAnalytics); // tracker.set('page', url); // tracker.send('pageview', { // 'title': document.title, // 'url': url // }); // gtag("event", "pymnts_device_visit", { // path: url // }); // console.log('title', document.title); // if (!deviceIsBlockingAnalytics) doNotProxyReport(url); // } // let firstTrigger = true; // function triggerPageView (url, scrollingUp = false) { // console.log('triggerPageView', url); // if (!googleTracker) { // let count = 0; // let intervalId = setInterval(() => { // ++count; // if (googleTracker || count > 5) { // clearInterval(intervalId); // console.log('tracker', googleTracker); // registerPageView(url, googleTracker); // return; // } // }, 500); // } else { // console.log('tracker', googleTracker); // registerPageView(url, googleTracker); // } // } const cookies = parseCookieHeader(); let pymntsDeviceId; let storedId = localStorage.getItem('pymntsDeviceId'); if (cookies['pymnts-browser-id']) { pymntsDeviceId = cookies['pymnts-browser-id']; localStorage.setItem('pymntsDeviceId', pymntsDeviceId); } else { if (storedId) pymntsDeviceId = storedId; else pymntsDeviceId = 'unknown'; } console.log('pymntsDeviceId', pymntsDeviceId); if (!storedId || storedId === 'undefined') { localStorage.setItem('pymntsDeviceId', pymntsDeviceId); } /* * Setup GA4 */ window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); const { hostname } = window.location; let gtagCategory = hostname === 'gamma.pymnts.com' ? 'UA-11167465-10' : 'UA-11167465-1'; gtag('config', gtagCategory); console.log('gtag ua category', gtagCategory); gtagCategory = hostname === 'gamma.pymnts.com' ? 'G-NY60TDWHJ9' : 'G-3WHRCQ5780'; gtag('config', gtagCategory); console.log('gtag g4 category', gtagCategory); //gtag('set', {'user_id': pymntsDeviceId}); // Set the user ID using signed-in user_id. setTimeout(() => { gtag("event", "pymnts_device_visit", { path: window.location.pathname, }); }, 1000); let gaIsBlocked = null; let rtIsBlocked = false; let visitedPages = []; let connectionCount = 0; let maxConnectionAttempts = 3; const landingPage = window.location.pathname; const doNotProxyReport = pathname => { console.log('Do not report', pathname); let request = { url: `https://rt.pymnts.com:6300/dnr`, method: 'post', data: { pathname } } axios(request) .then(response => console.log(response.data)) .catch(error => console.error(error)); } async function checkIfGoogleAnalyticsIsBlocked() { let request = { url: 'https://www.google-analytics.com/collect', method: "post", params: { v: 1, tid: 'G-3WHRCQ5780', cid: pymntsDeviceId, t: 'web-view' } } console.log('request', request); let isBlocking; let response; try { response = await axios(request); deviceIsBlockingAnalytics = false; isBlocking = 'false'; console.log("Google Analytics is Allowed!!!!!!!!"); doNotProxyReport(landingPage) } catch (err) { // We are blocked!!! deviceIsBlockingAnalytics = true; isBlocking = 'true'; console.error('Google Analytics is Blocked!!!!!!!'); } } checkIfGoogleAnalyticsIsBlocked(); const recordLinkVisit = () => { const cookies = parseCookieHeader(); console.log('visit cookies', cookies); if (typeof cookies['cpi-org-info'] === 'undefined') return; const orgInfo = decodeURIComponent(cookies['cpi-org-info']).split(' --- '); //console.log(orgInfo); if (orgInfo.length < 2) return; const orderId = orgInfo[1]; const url = `https://www.competitionpolicyinternational.com/tracking/record-visit.php?order=${orderId}`; const request = { url, method: 'get' } axios(request) .then(response => console.log('axios success')) .catch(error => console.error('axios error', error)); } recordLinkVisit(); </script> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <!-- This site is optimized with the Yoast SEO Premium plugin v22.7 (Yoast SEO v23.4) - https://yoast.com/wordpress/plugins/seo/ --> <title>Brazilian Consumer Rights Group Sues Meta, Social Media Giants</title> <meta name="description" content="Brazil’s Collective Defense Institute has filed two substantial lawsuits against Meta and other social media giants." /> <link rel="canonical" href="https://www.pymnts.com/cpi-posts/brazilian-consumer-rights-group-sues-social-media-giants-over-youth-protections/" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="article" /> <meta property="og:title" content="Brazilian Consumer Rights Group Sues Social Media Giants Over Youth Protections | PYMNTS.com" /> <meta property="og:description" content="In a significant legal move, Brazil’s Collective Defense Institute, a consumer advocacy organization, has filed two substantial lawsuits against the" /> <meta property="og:url" content="https://www.pymnts.com/cpi-posts/brazilian-consumer-rights-group-sues-social-media-giants-over-youth-protections/" /> <meta property="og:site_name" content="PYMNTS.com" /> <meta property="article:publisher" content="https://www.facebook.com/pymnts/" /> <meta property="article:modified_time" content="2024-10-29T18:42:48+00:00" /> <meta property="og:image" content="https://www.pymnts.com/wp-content/uploads/2024/07/Meta-AI-Brazil.jpg" /> <meta property="og:image:width" content="1000" /> <meta property="og:image:height" content="623" /> <meta property="og:image:type" content="image/jpeg" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:site" content="@pymnts" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://www.pymnts.com/cpi-posts/brazilian-consumer-rights-group-sues-social-media-giants-over-youth-protections/","url":"https://www.pymnts.com/cpi-posts/brazilian-consumer-rights-group-sues-social-media-giants-over-youth-protections/","name":"Brazilian Consumer Rights Group Sues Meta, Social Media Giants","isPartOf":{"@id":"https://www.pymnts.com/#website"},"primaryImageOfPage":{"@id":"https://www.pymnts.com/cpi-posts/brazilian-consumer-rights-group-sues-social-media-giants-over-youth-protections/#primaryimage"},"image":{"@id":"https://www.pymnts.com/cpi-posts/brazilian-consumer-rights-group-sues-social-media-giants-over-youth-protections/#primaryimage"},"thumbnailUrl":"https://www.pymnts.com/wp-content/uploads/2024/07/Meta-AI-Brazil.jpg","datePublished":"2024-10-29T19:00:07+00:00","dateModified":"2024-10-29T18:42:48+00:00","description":"Brazil’s Collective Defense Institute has filed two substantial lawsuits against Meta and other social media giants.","breadcrumb":{"@id":"https://www.pymnts.com/cpi-posts/brazilian-consumer-rights-group-sues-social-media-giants-over-youth-protections/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://www.pymnts.com/cpi-posts/brazilian-consumer-rights-group-sues-social-media-giants-over-youth-protections/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.pymnts.com/cpi-posts/brazilian-consumer-rights-group-sues-social-media-giants-over-youth-protections/#primaryimage","url":"https://www.pymnts.com/wp-content/uploads/2024/07/Meta-AI-Brazil.jpg","contentUrl":"https://www.pymnts.com/wp-content/uploads/2024/07/Meta-AI-Brazil.jpg","width":1000,"height":623},{"@type":"BreadcrumbList","@id":"https://www.pymnts.com/cpi-posts/brazilian-consumer-rights-group-sues-social-media-giants-over-youth-protections/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.pymnts.com/"},{"@type":"ListItem","position":2,"name":"Brazilian Consumer Rights Group Sues Social Media Giants Over Youth Protections"}]},{"@type":"WebSite","@id":"https://www.pymnts.com/#website","url":"https://www.pymnts.com/","name":"PYMNTS.com","description":"What&#039;s next in payments and commerce","publisher":{"@id":"https://www.pymnts.com/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.pymnts.com/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https://www.pymnts.com/#organization","name":"PYMNTS.com","url":"https://www.pymnts.com/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.pymnts.com/#/schema/logo/image/","url":"https://www.pymnts.com/wp-content/uploads/2023/05/PYMNTS_2023_logo_black-1.png","contentUrl":"https://www.pymnts.com/wp-content/uploads/2023/05/PYMNTS_2023_logo_black-1.png","width":3329,"height":687,"caption":"PYMNTS.com"},"image":{"@id":"https://www.pymnts.com/#/schema/logo/image/"},"sameAs":["https://www.facebook.com/pymnts/","https://x.com/pymnts"]}]}</script> <!-- / Yoast SEO Premium plugin. --> <link rel='dns-prefetch' href='//js.hs-scripts.com' /> <link rel='dns-prefetch' href='//stats.wp.com' /> <link rel='dns-prefetch' href='//fonts.googleapis.com' /> <link rel="alternate" type="application/rss+xml" title="PYMNTS.com &raquo; Feed" href="https://www.pymnts.com/feed/" /> <link rel="alternate" type="application/rss+xml" title="PYMNTS.com &raquo; Comments Feed" href="https://www.pymnts.com/comments/feed/" /> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/www.pymnts.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.7.1"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <!-- pymnts.com is managing ads with Advanced Ads --><script id="pymnt-ready"> window.advanced_ads_ready=function(e,a){a=a||"complete";var d=function(e){return"interactive"===a?"loading"!==e:"complete"===e};d(document.readyState)?e():document.addEventListener("readystatechange",(function(a){d(a.target.readyState)&&e()}),{once:"interactive"===a})},window.advanced_ads_ready_queue=window.advanced_ads_ready_queue||[]; </script> <style id='wp-emoji-styles-inline-css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='all-css-4' href='https://www.pymnts.com/_static/??-eJzTLy/QzcxLzilNSS3WzyrWz01NyUxMzUnNTc0rQeEU5CRWphbp5qSmJyZX6uVm5uklFxfr6OPTDpRD5sM02efaGpobGxkZmBkYGQMARIMu1Q==' type='text/css' media='all' /> <style id='jetpack-sharing-buttons-style-inline-css'> .jetpack-sharing-buttons__services-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:0;list-style-type:none;margin:5px;padding:0}.jetpack-sharing-buttons__services-list.has-small-icon-size{font-size:12px}.jetpack-sharing-buttons__services-list.has-normal-icon-size{font-size:16px}.jetpack-sharing-buttons__services-list.has-large-icon-size{font-size:24px}.jetpack-sharing-buttons__services-list.has-huge-icon-size{font-size:36px}@media print{.jetpack-sharing-buttons__services-list{display:none!important}}.editor-styles-wrapper .wp-block-jetpack-sharing-buttons{gap:0;padding-inline-start:0}ul.jetpack-sharing-buttons__services-list.has-background{padding:1.25em 2.375em} </style> <link rel='stylesheet' id='all-css-6' href='https://www.pymnts.com/wp-content/plugins/contact-form-7/includes/css/styles.css?m=1708458468g' type='text/css' media='all' /> <link rel='stylesheet' id='studio-fonts-css' href='//fonts.googleapis.com/css?family=Oswald%3ALato%3A400%2C700%7CWork+Sans%3A900%7CMontserrat%3A400%2C700%7COpen+Sans%3A800%7CPlayfair+Display%3A400%2C700%2C900%7CQuicksand%7CRaleway%3A200%2C400%2C700%7CRoboto+Slab%3A400%2C700%26subset%3Dlatin%2Clatin-ext&#038;ver=1.0.0' media='all' /> <script type="text/javascript" id="advanced-ads-advanced-js-js-extra"> /* <![CDATA[ */ var advads_options = {"blog_id":"1","privacy":{"enabled":false,"state":"not_needed"}}; /* ]]> */ </script> <script type="text/javascript" src="https://www.pymnts.com/_static/??-eJyVjuEKwjAMhF/ImrmB/hKfJbaxy9ZmdWl1vr1VFPwhghAIXO67C1yTYbGhOFIY6pwLzbfXWkeW9aAr+GUykf2MmT7NdpJMkiGF4lkU0F1QLDmDTiGVY2ALqEr5Gfe+fkvIPcVaegq0mIjeKC+appEenJsi1rd6suM/mCKH3M/FSKi6l5IqfYj7za5r22bbtN1wBxwGZxE=" ></script><link rel="https://api.w.org/" href="https://www.pymnts.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.pymnts.com/wp-json/wp/v2/cpi_posts/2282191" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.pymnts.com/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.7.1" /> <link rel='shortlink' href='https://www.pymnts.com/?p=2282191' /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.pymnts.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.pymnts.com%2Fcpi-posts%2Fbrazilian-consumer-rights-group-sues-social-media-giants-over-youth-protections%2F" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.pymnts.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.pymnts.com%2Fcpi-posts%2Fbrazilian-consumer-rights-group-sues-social-media-giants-over-youth-protections%2F&#038;format=xml" /> <link rel="alternate" type="application/feed+json" title="PYMNTS.com &raquo; JSON Feed" href="https://www.pymnts.com/feed/json/" /> <!-- DO NOT COPY THIS SNIPPET! Start of Page Analytics Tracking for HubSpot WordPress plugin v11.1.40--> <script class="hsq-set-content-id" data-content-id="blog-post"> var _hsq = _hsq || []; _hsq.push(["setContentType", "blog-post"]); </script> <!-- DO NOT COPY THIS SNIPPET! End of Page Analytics Tracking for HubSpot WordPress plugin --> <style>img#wpstats{display:none}</style> <script type="text/javascript"> var advadsCfpQueue = []; var advadsCfpAd = function( adID ){ if ( 'undefined' == typeof advadsProCfp ) { advadsCfpQueue.push( adID ) } else { advadsProCfp.addElement( adID ) } }; </script> <script> var userObject; </script><meta property="article:published_time" content="2024-10-29T15:00:07-04:00" /> <!-- Begin comScore Tag --> <script> var _comscore = _comscore || []; _comscore.push({ c1: "2", c2: "39641934", options: { enableFirstPartyCookie: "true" } }); (function() { var s = document.createElement("script"), el = document.getElementsByTagName("script")[0]; s.async = true; s.src = "https://sb.scorecardresearch.com/cs/39641934/beacon.js"; el.parentNode.insertBefore(s, el); })(); </script> <noscript> <img src="https://sb.scorecardresearch.com/p?c1=2&c2=39641934&cv=3.9.1&cj=1"> </noscript> <!-- End comScore Tag --> <style type="text/css"> .post-cont-out, .post-cont-in { margin-right: 0; } .nav-links { display: none; } .nav-left-wrap { width: 60px; } .nav-logo-out { margin-left: -60px; } .nav-logo-in { margin-left: 60px; } .nav-logo-show { padding-right: 20px; width: 200px; height: 50px; } .nav-logo-show img { width: auto; padding-top: 5px; } .nav-left-width { width: 280px !important; } .nav-logo-out-fade { margin-left: -280px; } .nav-logo-in-fade { margin-left: 280px; } .share-count, .feat-info-views { display: none; }</style> <style type="text/css" id="custom-background-css"> body.custom-background { background-color: #f9f9f9; } </style> <link rel="icon" href="https://www.pymnts.com/wp-content/uploads/2022/11/cropped-PYMNTS-Icon-512x512-1.png?w=32" sizes="32x32" /> <link rel="icon" href="https://www.pymnts.com/wp-content/uploads/2022/11/cropped-PYMNTS-Icon-512x512-1.png?w=192" sizes="192x192" /> <link rel="apple-touch-icon" href="https://www.pymnts.com/wp-content/uploads/2022/11/cropped-PYMNTS-Icon-512x512-1.png?w=180" /> <meta name="msapplication-TileImage" content="https://www.pymnts.com/wp-content/uploads/2022/11/cropped-PYMNTS-Icon-512x512-1.png?w=270" /> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s);j.async=true;j.src="https://load.gtm.pymnts.com/4gb8jtcwxmzux.js?"+i;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','dzrxseq=aWQ9R1RNLVdWRldDRDk1JmFzPXk%3D&page=1');</script> <!-- End Google Tag Manager --> </head> <body class="d-flex flex-column" style="min-height:100vh;"> <div class="container-scroller" id="headerContainerScroller"> <div class="container"> <header class="blog-header lh-1 py-3"> <!-- <div class="d-flex flex-wrap flex-row border-bottom border-light"> <div id="cpi-verify" class="my-auto"> <ul class="nav col-12 col-md-auto"> <li><a class="px-2 link-dark" href="#" style="font-size:.9rem;"> Account</a> </li> </ul> </div> <div id="cpi-cart" class="text-end my-auto"> <i class="bi bi-cart-fill fs-5 text-secondary"></i> </div> </div> --> <div class="row flex-nowrap justify-content-between align-items-center g-1"> <div class="col col-md-3 col-lg-4 order-2 order-md-3 order-lg-1 align-self-center"> <ul class="nav col-12 col-md-auto flex-column flex-md-row justify-content-end justify-content-lg-start" id="utilityNav"> <!-- <li class="ps-2 ps-lg-0 d-none order-2 d-lg-block my-auto"><a class="nav-link py-1 link-secondary text-end text-md-start" style="font-size:.9rem;" href="http://www.pymnts.com/cpi/account-management">Verify Email</a> </li> --> <!-- IF THE USER IS LOGGED IN --> <li class="ps-2 ps-lg-0 order-1 my-auto d-none d-md-block"> <p class="p-0 text-end text-md-start mb-0"><a href="https://www.pymnts.com/cpi/account-management/" class="fw-bold text-uppercase" style="font-size:.8rem;"></a></p> </li> <!-- END USER IS LOGGED IN --> <!-- <li class="ps-2 ps-lg-0"><a class="p-0 py-md-1 link-secondary text-end text-md-start d-block d-lg-none" href="http://www.pymnts.com/cpi/account-management"><i class="bi bi-person-circle fs-3"></i></a> </li> --> </ul> <!-- <a class="link-secondary" href="https://www.competitionpolicyinternational.com/subscribe/">Subscribe</a>&nbsp<span class="text-secondary">|</span>&nbsp<a class="link-secondary" href="https://www.competitionpolicyinternational.com/cpi-subscriptions/">Join</a> --> </div> <div class="col-7 col-md-4 col-lg-4 px-2 ps-md-0 pe-md-3 order-1 order-lg-2 align-self-center"> <div class="text-center"> <a class="blog-header-logo text-dark" href="https://www.pymnts.com/cpi"> <img src="https://www.pymnts.com/wp-content/uploads/2023/03/CPI_Logo_Black-1.svg" width="100%" height="50px" class="img-fluid"> </a> <div class="d-block mt-1 mt-md-0"> <small><i>A PYMNTS Company</i></small> </div> </div> </div> <div class="col-md-4 col-lg-3 d-none d-md-block text-end text-lg-start order-md-2 order-lg-3"> <!-- <form class="col-12 col-lg-auto my-auto d-none d-md-block text-end me-3" role="search"> <input type="search" class="form-control" placeholder="Search" aria-label="Search"> </form> --> <form role="search" method="get" id="" action="https://www.pymnts.com/" class="col-12 col-lg-auto my-auto d-none d-md-block text-end me-3"> <input type="hidden" name="post_type" value="cpi_posts" /> <div class="input-group my-auto"> <input class="form-control" type="text" value="" name="s" id="s" placeholder="Search" /> <div class="input-group-append"> <button type="submit" class="input-group-text" style="border-top-left-radius: 0;border-bottom-left-radius: 0;height: 100%;" /> <i class="bi bi-search"></i> </button> </div> </div> </form> </div> <div class="col-2 col-md col-lg-auto my-auto text-end order-4"> <a class="link-white me-3 position-relative" href="https://www.competitionpolicyinternational.com/cart/" role="button"> <i class="bi bi-cart fs-4"></i> <!--<span class="position-absolute top-0 start-100 translate-middle badge rounded-pill bg-success"> 1 <span class="visually-hidden">unread messages</span> </span>--> </a> </div> </div> </header> <div class="nav-scroller py-1"> <nav class="nav d-flex justify-content-start justify-content-md-evenly"> <a class="p-2 link-primary fw-bold" href="https://www.pymnts.com/cpi/subscriptions">Pricing</a><a class="p-2 link-secondary" href="https://www.pymnts.com/cpi/latest-news-for-cpi/">News</a><a class="p-2 link-secondary" href="https://www.pymnts.com/cpi/cpi-column/">Columns</a><a class="p-2 link-secondary" href="https://www.pymnts.com/cpi_category/antitrust-chronicle-2024/">Antitrust Chronicles</a><a class="p-2 link-secondary" href="https://www.pymnts.com/cpi_category/techreg-chronicle-2024/">TechREG Chronicles</a><a class="p-2 link-secondary" href="https://www.pymnts.com/cpi/cpi-blog/">Blog o' Blogs</a><a class="p-2 link-secondary" href="https://www.competitionpolicyinternational.com/category/cpi-events/">Events</a><a class="p-2 link-secondary" href="https://www.competitionpolicyinternational.com/category/cpi-tv">CPI TV</a><a class="p-2 link-secondary" href="https://www.competitionpolicyinternational.com/category/cpi-books/">Books</a> <a class="my-auto px-2 link-secondary d-inline d-md-none" href="#"><i class="bi bi-search text-dark fw-bold"></i></a> <!-- <a class="p-2 link-secondary" href="/audio/">Audio</a> --> <!-- <a class="p-2 link-secondary" href="https://www.competitionpolicyinternational.com/category/cpi-journal/">CPI Journal</a> --> <!-- <a class="p-2 link-secondary" href="https://www.competitionpolicyinternational.com/category/library-recently-published/">Library</a> --> </nav> </div> </div> </div><style> .cpi-article img { max-width: 100%; height: auto; } </style> <script> const postType = 'default'; </script> <div class="main mt-3 mb-5 my-md-5" id="singleContainer"> <div class="container"> <div class="row" id="articlePost"> <div class="col-12 col-lg-8 ms-auto" id="insertArticle"> <div class="row"> <div class="col-12 my-auto"> <h1 class="my-auto blog-post-title text-center"> Brazilian Consumer Rights Group Sues Social Media Giants Over Youth Protections </h1> <div class="row mt-3"> <div class="col-8 col-md-9 my-auto"> <span class="post-info-text fs-6 text-uppercase">By</span> <span class="author-name vcard fs-6 text-uppercase fw-bold" itemprop="author"> <a href="https://www.pymnts.com/author/nhoch/" title="Posts by CPI" rel="author" class="fs-6">CPI</a> </span> <span class="fs-6 d-none d-md-inline">&nbsp;|&nbsp;</span> <span class="fs-6 text-uppercase d-block d-md-inline">October 29, 2024</span> </div> <div class="col-4 col-md-3 my-auto"> <!-- Share icons --> <a href="https://www.facebook.com/sharer.php?u=https://www.pymnts.com/cpi-posts/brazilian-consumer-rights-group-sues-social-media-giants-over-youth-protections/" class="link-dark"><i class="bi bi-facebook pe-2 fs-6"></i></a> <a href="https://twitter.com/intent/tweet?text=Brazilian+Consumer+Rights+Group+Sues+Social+Media+Giants+Over+Youth+Protections&url=https://www.pymnts.com/cpi-posts/brazilian-consumer-rights-group-sues-social-media-giants-over-youth-protections/" class="link-dark"><i class="bi bi-twitter-x pe-2 fs-6"></i></a> <a href="https://www.linkedin.com/sharing/share-offsite/?url=https://www.pymnts.com/cpi-posts/brazilian-consumer-rights-group-sues-social-media-giants-over-youth-protections/" class="link-dark"><i class="bi bi-linkedin pe-2 fs-6"></i></a> <a href="mailto:?subject=Brazilian+Consumer+Rights+Group+Sues+Social+Media+Giants+Over+Youth+Protections&body=I+found+this+article+interesting+and+want+to+share+it+with+you.+Check+it+out:+https://www.pymnts.com/cpi-posts/brazilian-consumer-rights-group-sues-social-media-giants-over-youth-protections/" class="link-dark"><i class="bi bi-envelope-fill pe-2 fs-6"></i></a> <a href="javascript:window.print()" class="link-dark"><i class="bi bi-printer-fill fs-6"></i></a> </div> </div> </div> <div class="row mt-4 mx-auto"> <div class="col-12 px-0 cpi-article"> <img src="https://www.pymnts.com/wp-content/uploads/2024/07/Meta-AI-Brazil.jpg" class="mb-5" width="100%" height="auto" /> <p>In a significant legal move, Brazil’s Collective Defense Institute, a consumer advocacy organization, has filed two substantial lawsuits against the Brazilian subsidiaries of TikTok, Kwai, and Meta Platforms (META.O), seeking a total of 3 billion reais ($525.27 million). The lawsuits, according to petitions reviewed<a href="https://www.reuters.com/technology/brazil-institute-sues-social-media-giants-525-million-over-excessive-use-by-2024-10-28/" target="_blank" rel="noopener"><strong> by Reuters</strong></a>, claim these companies failed to implement robust protections to limit unrestricted access and usage by minors on their platforms.</p> <p>This action aligns with a broader push in Brazil to regulate social media, especially as the nation has recently grappled with a contentious public debate over online responsibility. Social media regulations became a priority following a protracted clash between X owner Elon Musk and a Brazilian Supreme Court justice. That dispute concluded with X incurring large fines, highlighting the country&#8217;s dedication to enforcing accountability on social media platforms.</p> <p>The lawsuits filed by the Collective Defense Institute are not solely about financial penalties; they emphasize the need for these companies to actively protect young users. The suits call for clear guidelines and tools that safeguard children’s and teenagers&#8217; data while also addressing concerns over mental health impacts from excessive screen time and social media addiction.</p> <p><strong>Read more: <a href="https://www.pymnts.com/cpi-posts/meta-releases-ai-that-can-check-and-improve-other-ai-without-human-input/" target="_blank" rel="noopener">Meta Releases AI That Can Check and Improve Other AI Without Human Input</a></strong></p> <p>Citing a range of studies that document potential harms from unsupervised use of social media, particularly by children and teens, the lawsuits urge social media companies to adopt specific changes. &#8220;It is urgent that measures be adopted to modify algorithm functions, adjust data processing for users under 18 and strengthen supervision for teenagers aged 13 and older,&#8221; said Lillian Salgado, one of the attorneys involved in the case, per Reuters. She added that such standards are already prevalent in more developed nations, pushing for similar protections in Brazil to foster a safer digital environment for the country&#8217;s youth.</p> <p>In response to the legal action, Meta Platforms issued a statement affirming its commitment to the safety of younger users. The company, which owns popular platforms such as Facebook, Instagram and WhatsApp, noted that it has been investing in youth safety tools for over a decade, developing over 50 resources aimed at supporting teenagers and their guardians. Meta also announced a new “Teen Account” feature on Instagram set to launch in Brazil, which will place automatic restrictions on the profiles that teenagers can view and who can contact them.</p> <p><strong>Source: <a href="https://www.reuters.com/technology/brazil-institute-sues-social-media-giants-525-million-over-excessive-use-by-2024-10-28/" target="_blank" rel="noopener">Reuters</a></strong></p> </div> </div> </div> </div> <div class="d-none d-lg-block col-3 ms-5 me-auto small" id="sidebar-container"> <!-- Inster sidebar content here --> <h4 class="fst-italic">Featured News</h4> <p class="mt-3"> <a href="https://www.pymnts.com/cpi-posts/australia-passes-strict-social-media-ban-for-under-16s/" class="mb-0 fw-bold">Australia Passes Strict Social Media Ban for Under-16s</a><br> <small>Nov 28, 2024 by <a href="https://www.pymnts.com/author/nhoch/" title="Posts by CPI" rel="author">CPI</a> </small> </p> <p class="mt-3"> <a href="https://www.pymnts.com/cpi-posts/google-appeals-ruling-overhaul-of-play-store-in-epic-games-lawsuit/" class="mb-0 fw-bold">Google Appeals Ruling Overhaul of Play Store in Epic Games Lawsuit</a><br> <small>Nov 28, 2024 by <a href="https://www.pymnts.com/author/nhoch/" title="Posts by CPI" rel="author">CPI</a> </small> </p> <p class="mt-3"> <a href="https://www.pymnts.com/cpi-posts/ftc-investigates-uber-for-alleged-subscription-violations/" class="mb-0 fw-bold">FTC Investigates Uber for Alleged Subscription Violations</a><br> <small>Nov 28, 2024 by <a href="https://www.pymnts.com/author/nhoch/" title="Posts by CPI" rel="author">CPI</a> </small> </p> <p class="mt-3"> <a href="https://www.pymnts.com/cpi-posts/indias-watchdog-launches-investigation-into-googles-real-money-gaming-policies/" class="mb-0 fw-bold">India&#8217;s Watchdog Launches Investigation Into Google&#8217;s Real-Money Gaming Policies</a><br> <small>Nov 28, 2024 by <a href="https://www.pymnts.com/author/nhoch/" title="Posts by CPI" rel="author">CPI</a> </small> </p> <p class="mt-3"> <a href="https://www.pymnts.com/cpi-posts/microsoft-under-ftc-scrutiny-for-cloud-ai-and-licensing-practices/" class="mb-0 fw-bold">Microsoft Under FTC Scrutiny for Cloud, AI, and Licensing Practices</a><br> <small>Nov 28, 2024 by <a href="https://www.pymnts.com/author/nhoch/" title="Posts by CPI" rel="author">CPI</a> </small> </p> <h4 class="fst-italic mt-4">Antitrust Mix by CPI</h4> <p class="mt-3"> <a href="https://www.pymnts.com/cpi-posts/antitrust-chronicle-moats-entrenchment/" class="mb-0 fw-bold">Antitrust Chronicle® – Moats &#038; Entrenchment</a><br> <small>Nov 29, 2024 by <a href="https://www.pymnts.com/author/boydj/" title="Posts by CPI" rel="author">CPI</a> </small> </p> <p class="mt-3"> <a href="https://www.pymnts.com/cpi-posts/assessing-the-potential-for-antitrust-moats-and-trenches-in-the-generative-ai-industry/" class="mb-0 fw-bold">Assessing the Potential for Antitrust Moats and Trenches in the Generative AI Industry</a><br> <small>Nov 29, 2024 by Allison Holt, Sushrut Jain & Ashley Zhou </small> </p> <p class="mt-3"> <a href="https://www.pymnts.com/cpi-posts/how-sep-hold-up-can-lead-to-entrenchment/" class="mb-0 fw-bold">How SEP Hold-up Can Lead to Entrenchment</a><br> <small>Nov 29, 2024 by Jay Jurata, Elena Kamenir & Christie Boyden </small> </p> <p class="mt-3"> <a href="https://www.pymnts.com/cpi-posts/the-role-of-moats-in-unlocking-economic-growth/" class="mb-0 fw-bold">The Role of Moats in Unlocking Economic Growth</a><br> <small>Nov 29, 2024 by <a href="https://www.pymnts.com/author/boydj/" title="Posts by CPI" rel="author">CPI</a> </small> </p> <p class="mt-3"> <a href="https://www.pymnts.com/cpi-posts/overcoming-moats-and-entrenchment-disruptive-innovation-in-generative-ai-may-be-more-successful-than-regulation/" class="mb-0 fw-bold">Overcoming Moats and Entrenchment: Disruptive Innovation in Generative AI May Be More Successful than Regulation</a><br> <small>Nov 29, 2024 by Simon Chisholm & Charlie Whitehead </small> </p> <div class="sticky-top mt-3"> <h4 class="fst-italic mt-4">Subscribe to our newsletter</h4> <form class="sailthru-nl-signup" method="post" action="https://link.competitionpolicyinternational.com/s/daily_nl" data-list="daily_nl" > <div class="mb-3"> <label for="exampleInputEmail1" class="form-label">Your email address</label> <input type="email" class="form-control" required name="email"> </div> <div class="nl-signup-success m-0 p-0 mt-3 mb-3 d-none alert text-success" role="alert"> Thank you for subscribing </div> <div class="nl-signup-error m-0 p-0 mt-3 mb-3 d-none alert text-danger" role="alert"> <span class="nl-signup-error-msg"></span> </div> <button type="submit" class="btn btn-primary">Submit</button> </form> </div> </div> </div> </div> </div> <script> const config = { host: window.location.hostname, links: JSON.parse('{"current":"https:\/\/www.pymnts.com\/cpi-posts\/brazilian-consumer-rights-group-sues-social-media-giants-over-youth-protections\/","latest":["https:\/\/www.pymnts.com\/cpi-posts\/australia-passes-strict-social-media-ban-for-under-16s\/","https:\/\/www.pymnts.com\/cpi-posts\/google-appeals-ruling-overhaul-of-play-store-in-epic-games-lawsuit\/","https:\/\/www.pymnts.com\/cpi-posts\/ftc-investigates-uber-for-alleged-subscription-violations\/","https:\/\/www.pymnts.com\/cpi-posts\/indias-watchdog-launches-investigation-into-googles-real-money-gaming-policies\/","https:\/\/www.pymnts.com\/cpi-posts\/microsoft-under-ftc-scrutiny-for-cloud-ai-and-licensing-practices\/","https:\/\/www.pymnts.com\/cpi-posts\/eu-fines-pierre-cardin-and-ahlers-e5-7-million-for-anti-competitive-practices\/","https:\/\/www.pymnts.com\/cpi-posts\/samsung-ends-antitrust-dispute-with-broadcom-after-five-months\/","https:\/\/www.pymnts.com\/cpi-posts\/class-action-filed-against-kroger-and-albertsons-over-worker-no-poach-agreements\/","https:\/\/www.pymnts.com\/cpi-posts\/south-african-minister-appeals-block-on-vodacoms-fiber-acquisition\/","https:\/\/www.pymnts.com\/cpi-posts\/cma-study-most-uk-supermarket-loyalty-discounts-are-legitimate\/","https:\/\/www.pymnts.com\/cpi-posts\/uk-to-reassess-electric-vehicle-mandates-amid-industry-warnings\/","https:\/\/www.pymnts.com\/cpi-posts\/hsbc-loses-legal-challenge-over-e32-million-eu-antitrust-fine\/","https:\/\/www.pymnts.com\/cpi-posts\/texas-led-states-sue-investment-firms-over-alleged-electricity-price-manipulation\/","https:\/\/www.pymnts.com\/cpi-posts\/fifa-faces-antitrust-lawsuit-in-us-federal-court-over-puerto-rico-soccer-dispute\/","https:\/\/www.pymnts.com\/cpi-posts\/us-judge-orders-no-delay-in-google-antitrust-trial-despite-potential-shift-in-administration\/","https:\/\/www.pymnts.com\/cpi-posts\/google-revamps-search-results-in-europe-amid-eu-scrutiny\/","https:\/\/www.pymnts.com\/cpi-posts\/tech-giants-urge-australian-government-to-delay-controversial-social-media-bill\/","https:\/\/www.pymnts.com\/cpi-posts\/eus-margrethe-vestager-urges-regulators-to-be-bolder-as-she-steps-down\/","https:\/\/www.pymnts.com\/cpi-posts\/brazils-antitrust-regulator-orders-apple-to-lift-restrictions-on-in-app-payment-methods\/","https:\/\/www.pymnts.com\/cpi-posts\/british-police-reduce-presence-on-x-over-misinformation-fears\/","https:\/\/www.pymnts.com\/cpi-posts\/regulators-raid-amazon-japan-accused-of-pressuring-sellers-to-slash-prices\/","https:\/\/www.pymnts.com\/cpi-posts\/justice-department-raises-concerns-over-proposed-418m-settlement-in-realtors-case\/","https:\/\/www.pymnts.com\/cpi-posts\/google-faces-dojs-final-arguments-in-antitrust-showdown-over-ad-tech\/","https:\/\/www.pymnts.com\/cpi-posts\/meta-faces-april-trial-over-ftc-antitrust-allegations\/","https:\/\/www.pymnts.com\/cpi-posts\/uk-watchdog-clears-spreadex-sale-of-sporting-index-amid-monopoly-fears\/","https:\/\/www.pymnts.com\/cpi-posts\/unicredit-shakes-up-italian-banking-with-e10-billion-bid-for-banco-bpm\/","https:\/\/www.pymnts.com\/cpi-posts\/french-government-in-talks-to-acquire-atos-key-technology-assets-for-e500-million\/","https:\/\/www.pymnts.com\/cpi-posts\/corning-moves-to-resolve-eu-antitrust-probe-with-exclusivity-deal-changes\/","https:\/\/www.pymnts.com\/cpi-posts\/indias-antitrust-body-rejects-apples-plea-to-halt-investigation-report\/","https:\/\/www.pymnts.com\/cpi-posts\/swisscoms-fastweb-vodafone-italia-merger-gains-momentum-with-antitrust-approval-pending\/","https:\/\/www.pymnts.com\/cpi-posts\/novo-holdings-nears-eu-approval-for-16-5-billion-catalent-acquisition\/","https:\/\/www.pymnts.com\/cpi-posts\/australia-drops-plan-to-fine-tech-giants-for-misinformation-spread\/","https:\/\/www.pymnts.com\/cpi-posts\/michael-jordans-racing-team-drops-antitrust-appeal-against-nascar\/","https:\/\/www.pymnts.com\/cpi-posts\/eu-closes-apple-e-book-antitrust-probe-after-complaint-dropped\/","https:\/\/www.pymnts.com\/cpi-posts\/antitrust-suits-target-top-frozen-potato-companies-for-alleged-collusion\/","https:\/\/www.pymnts.com\/cpi-posts\/spanish-minister-defends-record-as-flood-crisis-casts-shadow-on-eu-role\/","https:\/\/www.pymnts.com\/cpi-posts\/uk-antitrust-regulator-signals-flexibility-in-merger-reviews-to-boost-economic-growth\/","https:\/\/www.pymnts.com\/cpi-posts\/us-supreme-court-declines-to-hear-appeal-in-google-antitrust-records-dispute\/","https:\/\/www.pymnts.com\/cpi-posts\/matt-gaetz-withdraws-from-consideration-for-us-attorney-general-amid-controversy\/","https:\/\/www.pymnts.com\/cpi-posts\/morocco-fines-us-pharma-firm-viatris-over-merger-notification-breach\/","https:\/\/www.pymnts.com\/cpi-posts\/fcc-chairwoman-rosenworcel-announces-resignation\/","https:\/\/www.pymnts.com\/cpi-posts\/european-regulators-target-amazons-marketplace-practices\/","https:\/\/www.pymnts.com\/cpi-posts\/justice-department-officially-recommends-breaking-up-google\/","https:\/\/www.pymnts.com\/cpi-posts\/pbms-push-back-against-ftc-filing-lawsuit-over-regulatory-actions\/","https:\/\/www.pymnts.com\/cpi-posts\/amazon-faces-legal-setback-in-antitrust-lawsuit-over-pricing-practices\/","https:\/\/www.pymnts.com\/cpi-posts\/google-allegedly-encouraged-evidence-destruction-to-dodge-antitrust-scrutiny-report\/","https:\/\/www.pymnts.com\/cpi-posts\/veteran-doj-prosecutor-joins-farella-braun-martel-as-partner\/","https:\/\/www.pymnts.com\/cpi-posts\/duckduckgo-urges-eu-to-expand-google-probes-over-compliance-issues\/","https:\/\/www.pymnts.com\/cpi-posts\/apple-seeks-dismissal-of-doj-antitrust-case-in-latest-big-tech-legal-battle\/","https:\/\/www.pymnts.com\/cpi-posts\/new-european-cloud-regulator-aims-to-tackle-unfair-licensing-practices\/","https:\/\/www.pymnts.com\/cpi-posts\/merger-creates-north-americas-largest-hard-rock-lithium-producer\/","https:\/\/www.pymnts.com\/cpi-posts\/nebraska-files-antitrust-suit-against-truck-manufacturers-over-diesel-truck-phase-out\/","https:\/\/www.pymnts.com\/cpi-posts\/meta-to-challenge-indias-data-sharing-restrictions-on-whatsapp\/","https:\/\/www.pymnts.com\/cpi-posts\/sony-in-talks-to-acquire-kadokawa-expanding-its-entertainment-portfolio\/","https:\/\/www.pymnts.com\/cpi-posts\/indian-news-agency-sues-openai-accuses-chatgpt-of-using-content-without-permission\/","https:\/\/www.pymnts.com\/cpi-posts\/eu-to-decide-on-nvidias-acquisition-of-israeli-ai-startup-runai-by-december-20\/","https:\/\/www.pymnts.com\/cpi-posts\/california-enacts-legislation-to-regulate-use-of-generative-ai-in-healthcare\/","https:\/\/www.pymnts.com\/cpi-posts\/doj-seeks-historic-chrome-browser-divestiture-in-antitrust-case-against-google\/","https:\/\/www.pymnts.com\/cpi-posts\/uk-clears-googles-ai-investment-in-anthropic-no-antitrust-probe\/","https:\/\/www.pymnts.com\/cpi-posts\/indias-watchdog-bans-whatsapp-data-sharing-for-five-years-fines-meta-25-4m\/","https:\/\/www.pymnts.com\/cpi-posts\/major-us-potato-processors-face-price-fixing-allegations-in-new-suits\/","https:\/\/www.pymnts.com\/cpi-posts\/french-watchdog-demands-separation-of-kindred-brands-by-fdj-following-acquisition\/","https:\/\/www.pymnts.com\/cpi-posts\/italian-court-overturns-e5-million-fine-on-enis-plenitude-over-price-hike-dispute\/","https:\/\/www.pymnts.com\/cpi-posts\/data-center-construction-firms-face-eu-raids-over-potential-no-poach-agreements\/","https:\/\/www.pymnts.com\/cpi-posts\/australian-regulator-seeks-feedback-on-vocus-tpg-3-4b-deal\/","https:\/\/www.pymnts.com\/cpi-posts\/italian-antitrust-authority-launches-investigation-into-potential-competition-restrictions-in-shipping-sector\/","https:\/\/www.pymnts.com\/cpi-posts\/us-supreme-court-declines-to-hear-states-appeal-in-google-antitrust-case\/","https:\/\/www.pymnts.com\/cpi-posts\/spirit-airlines-files-for-chapter-11-bankruptcy-amid-mounting-losses-and-merger-fallout\/","https:\/\/www.pymnts.com\/cpi-posts\/exxon-mobil-to-lay-off-nearly-400-employees-in-texas-following-merger\/","https:\/\/www.pymnts.com\/cpi-posts\/us-department-of-justice-updates-guidance-on-corporate-compliance-programs\/","https:\/\/www.pymnts.com\/cpi-posts\/pennsylvanias-antitrust-efforts-to-save-charleroi-pyrex-plant-hit-legal-roadblock\/","https:\/\/www.pymnts.com\/cpi-posts\/airbus-ceo-spacex-model-would-violate-eu-antitrust-rules\/","https:\/\/www.pymnts.com\/cpi-posts\/nascar-clears-path-for-23xi-front-row-to-race-amid-antitrust-fight\/","https:\/\/www.pymnts.com\/cpi-posts\/elon-musk-expands-openai-suit-adds-microsoft-over-antitrust-allegations\/","https:\/\/www.pymnts.com\/cpi-posts\/tapestry-scraps-8-5-billion-merger-with-capri-amid-regulatory-hurdles\/","https:\/\/www.pymnts.com\/cpi-posts\/trumps-nominee-for-attorney-general-could-intensify-big-tech-battles\/","https:\/\/www.pymnts.com\/cpi-posts\/in-regulatory-first-cfpb-pushes-to-supervise-googles-financial-offerings\/","https:\/\/www.pymnts.com\/cpi-posts\/apple-faces-3-billion-lawsuit-in-uk-over-icloud-monopoly-allegations\/","https:\/\/www.pymnts.com\/cpi-posts\/eu-issues-major-antitrust-fine-against-meta-for-facebook-marketplace\/","https:\/\/www.pymnts.com\/cpi-posts\/eu-probes-novo-holdings-16-5-billion-acquisition-of-catalent\/","https:\/\/www.pymnts.com\/cpi-posts\/eu-court-rejects-deutsche-telekoms-challenge-to-vodafone-deal\/","https:\/\/www.pymnts.com\/cpi-posts\/swisscom-gains-italian-approval-for-vodafone-deal-awaits-antitrust-decision\/","https:\/\/www.pymnts.com\/cpi-posts\/lufthansa-ita-airways-deal-back-on-track-after-last-minute-negotiations\/","https:\/\/www.pymnts.com\/cpi-posts\/directvs-9-75-billion-dish-acquisition-hinges-on-bondholder-agreement\/","https:\/\/www.pymnts.com\/cpi-posts\/supreme-court-deliberates-on-nvidias-bid-to-halt-investor-lawsuit-over-cryptocurrency\/","https:\/\/www.pymnts.com\/cpi-posts\/squire-patton-boggs-expands-antitrust-team-with-high-profile-hires\/","https:\/\/www.pymnts.com\/cpi-posts\/judge-rules-meta-must-face-ftc-antitrust-trial-over-instagram-whatsapp-acquisitions\/","https:\/\/www.pymnts.com\/cpi-posts\/teresa-ribera-prepares-to-tackle-big-tech-and-green-growth-as-eus-next-antitrust-chief\/"]}'), sidebarSelector: '.sidebar-wrap', articleSelector: '[id^="article-number-"]', containerSelector: '#articlePost', insertSelector: '#insertArticle' }; const state = { nextArticleIndex: 0, loadedArticles: [], currentArticle: null, currentPath: window.location.pathname, currentTitle: document.title, pathTitles: [], lastUrlViewed: null, partialsAlreadyLoaded: new Set(), showingArticleId: 'orig', sidebarFreezeTrigger: null, isLoading: false, scrollRAF: null // For requestAnimationFrame }; // Utility functions const $ = selector => document.querySelector(selector); const $$ = selector => document.querySelectorAll(selector); /** * Creates an HTML element with specified attributes * @param {HTMLElement|string} parent - Parent element or selector * @param {string} tag - HTML tag name * @param {string} [className] - CSS class name * @param {string} [innerHTML] - Inner HTML content * @param {Object} [attributes] - Additional attributes * @param {Object} [style] - Inline styles * @returns {HTMLElement} - Created element */ const createElement = (parent, tag, className, innerHTML, attributes = {}, style = {}) => { const element = document.createElement(tag); if (parent) { (typeof parent === 'string' ? $(parent) : parent).appendChild(element); } if (className) { element.className = className; } if (innerHTML) { element.innerHTML = innerHTML; } Object.entries(attributes).forEach(([key, value]) => element.setAttribute(key, value)); Object.entries(style).forEach(([key, value]) => element.style[key] = value); return element; }; // Core functionality /** * Loads the next article * @param {boolean} [isFirst=false] - Whether this is the first article load * @returns {Promise<boolean>} - Whether the article was successfully loaded */ async function loadNextArticle(isFirst = false) { if (state.isLoading || state.nextArticleIndex >= config.links.latest.length) { return false; } state.isLoading = true; const nextUrl = config.links.latest[state.nextArticleIndex++]; if (state.partialsAlreadyLoaded.has(nextUrl)) { state.isLoading = false; return false; } try { const response = await fetch(`${nextUrl}?postType=partial`); if (!response.ok) throw new Error('Network response was not ok'); const data = await response.text(); state.partialsAlreadyLoaded.add(nextUrl); state.currentArticle = createElement( $(config.insertSelector), 'div', null, data, { id: `article-number-${state.nextArticleIndex}`, 'data-url': nextUrl } ); state.currentPath = nextUrl; updateArticleMetadata(state.currentArticle); hideContainerScroller(state.currentArticle); triggerPageView(new URL(nextUrl).pathname, isFirst); addDivToIframes(); state.isLoading = false; return true; } catch (error) { console.error('Error loading next article:', error); state.isLoading = false; return false; } } /** * Updates metadata for the newly loaded article * @param {HTMLElement} article - The article element */ function updateArticleMetadata(article) { const h1 = article.querySelector('h1'); state.currentTitle = h1.innerText; state.pathTitles.push({ path: state.currentPath, title: state.currentTitle }); } /** * Hides the container scroller in the loaded article * @param {HTMLElement} article - The article element */ function hideContainerScroller(article) { const containerScroller = article.querySelector('.container-scroller'); if (containerScroller?.classList) { containerScroller.classList.add('d-none'); } } /** * Triggers a page view for analytics * @param {string} url - The URL of the page view * @param {boolean} [isFirst=false] - Whether this is the first page view */ function triggerPageView(url, isFirst = false) { const triggerView = () => { if (url === state.lastUrlViewed) { return; } const info = state.pathTitles.find(entry => entry.path.includes(url)); if (!info) { return; } state.lastUrlViewed = url; if (window.googleTracker) { window.googleTracker.set('page', url); window.googleTracker.send('pageview', { 'title': info.title }); } console.log('Page view registered:', info.title, url); }; isFirst ? setTimeout(triggerView, 12000) : triggerView(); } /** * Handles scrolling behavior */ function handleScrolling() { const scrollPosition = window.scrollY; updateCurrentArticle(scrollPosition); updateSidebarPosition(); if (window.innerHeight + scrollPosition >= document.body.offsetHeight - 1000) { loadNextArticle(); } } /** * Updates the current article based on scroll position * @param {number} scrollPosition - Current scroll position */ function updateCurrentArticle(scrollPosition) { const articles = $$(config.articleSelector); let currentArticle = null; if (scrollPosition < window.innerHeight) { resetToOriginalArticle(); return; } for (const article of articles) { const { offsetTop, offsetHeight } = article; if (scrollPosition >= offsetTop - window.innerHeight / 2 && scrollPosition < offsetTop + offsetHeight) { currentArticle = article; break; } } if (currentArticle && currentArticle.id !== state.showingArticleId) { updatePageForArticle(currentArticle); } } /** * Updates the page URL and title for the current article * @param {HTMLElement} article - The current article element */ function updatePageForArticle(article) { if (!article) { return; } state.showingArticleId = article.id; state.currentPath = article.dataset.url; state.currentTitle = article.querySelector('h1').innerText; document.title = state.currentTitle; history.replaceState(null, '', state.currentPath); triggerPageView(new URL(state.currentPath).pathname); } /** * Resets the view to the original article */ function resetToOriginalArticle() { state.showingArticleId = 'orig'; triggerPageView(new URL(config.links.current).pathname, true); history.replaceState(null, '', config.links.current); state.currentTitle = $('h1').innerText; document.title = state.currentTitle; } /** * Updates the sidebar position based on scroll */ function updateSidebarPosition() { const sidebar = $(config.sidebarSelector); if (!sidebar) return; const { bottom } = sidebar.getBoundingClientRect(); const containerRect = $(config.containerSelector).getBoundingClientRect(); if (state.sidebarFreezeTrigger && window.scrollY < state.sidebarFreezeTrigger) { resetSidebarPosition(sidebar); } else if (bottom <= window.innerHeight) { freezeSidebarPosition(sidebar, containerRect); } } /** * Resets the sidebar to its original position * @param {HTMLElement} sidebar - The sidebar element */ function resetSidebarPosition(sidebar) { state.sidebarFreezeTrigger = null; Object.assign(sidebar.style, { position: 'static', bottom: 'auto' }); } /** * Freezes the sidebar position * @param {HTMLElement} sidebar - The sidebar element * @param {DOMRect} containerRect - The bounding rectangle of the article container */ function freezeSidebarPosition(sidebar, containerRect) { if (sidebar.style.position !== 'fixed') { Object.assign(sidebar.style, { position: 'fixed', bottom: '0px', width: `${(containerRect.width * 0.25) - 24}px` }); state.sidebarFreezeTrigger = window.scrollY; } } /** * Adds a wrapper div to iframes for responsive behavior */ function addDivToIframes() { $$('iframe').forEach(iframe => { const wrapper = createElement(null, 'div', 'ratio ratio-16x9 mb-3'); iframe.parentNode.insertBefore(wrapper, iframe); wrapper.appendChild(iframe); }); } // Event listeners const scrollHandler = () => { cancelAnimationFrame(state.scrollRAF); state.scrollRAF = requestAnimationFrame(handleScrolling); }; window.addEventListener('scroll', scrollHandler, { passive: true }); window.addEventListener('DOMContentLoaded', () => { addDivToIframes(); loadNextArticle(true); }); // Cleanup window.addEventListener('beforeunload', () => { window.removeEventListener('scroll', scrollHandler); cancelAnimationFrame(state.scrollRAF); }); </script> </div> <footer class="blog-footer"> <div class="container mx-auto"> <div class="row mx-0 mx-md-5 py-4"> <div class="col-12 col-md-3 text-center text-md-start"> <a href="https://www.pymnts.com/cpi/" class="w-100"> <img src="https://www.pymnts.com/wp-content/uploads/2023/03/CPI_Logo_Black-1.svg" width="100%" height="40" class="img-fluid"> </a> <div class="d-block text-black text-center mt-1 mb-3 my-md-0"> <a href="https://www.competitionpolicyinternational.com/category/cpi-tv/" class="text-black text-uppercase fw-normal">CPI TV</a>&nbsp;|&nbsp; <a href="https://www.competitionpolicyinternational.com/subscribe/" class="text-black text-uppercase fw-normal">Subscribe</a> </div> </div> <div class="col-12 col-md-9 text-center"> <div class="row row-cols-3 g-0"> <div class="col text-center"> <h4 class="text-black mb-3">About</h4> <ul class="nav flex-column"> <li class="nav-item mb-2"><a href="https://www.pymnts.com/cpi/about-us/" class="nav-link p-0 text-black">About Us</a></li> <li class="nav-item mb-2"><a href="https://www.pymnts.com/cpi/our-editorial-policy/" class="nav-link p-0 text-black">Editorial Policy</a> </li> <li class="nav-item mb-2"><a href="https://www.pymnts.com/cpi/editorial-advisory-board/" class="nav-link p-0 text-black">Editorial Advisory Board</a> </li> </ul> </div> <div class="col text-center"> <h4 class="text-black mb-3">Getting Started</h4> <ul class="nav flex-column"> <li class="nav-item mb-2"><a href="https://www.competitionpolicyinternational.com/contact/" class="nav-link p-0 text-black">Contact Us</a> </li> <li class="nav-item mb-2"><a href="https://www.pymnts.com/cpi/promote-more-engage-more-connect-more/" class="nav-link p-0 text-black">Partnerships</a> </li> <li class="nav-item mb-2"><a href="https://www.competitionpolicyinternational.com/subscribe/" class="nav-link p-0 text-black">Newsletters</a> </li> </ul> </div> <div class="col text-center"> <h4 class="text-black mb-3">Follow CPI</h4> <ul class="nav flex-row justify-content-center"> <li class="nav-item mx-2"><a href="https://www.instagram.com/compolinter/"><i class="bi bi-instagram fs-4 text-black"></i></a></li> <li class="nav-item mx-2"><a href="https://www.linkedin.com/company/competition-policy-international/"><i class="bi bi-linkedin fs-4 text-black"></i></a> </li> <li class="nav-item mx-2"><a href="https://twitter.com/CompPolicyInt"><i class="bi bi-twitter-x fs-4 text-black"></i></a></li> <li class="nav-item mx-2"><a href="https://vimeo.com/competitionpolicyint"><i class="bi bi-vimeo fs-4 text-black"></i></a> </li> </ul> </div> </div> </div> </div> <div class="container"> <div class="row mt-5"> <div class="col-12 text-center"> © Competition Policy International 2024 </div> </div> <div class="row"> <div class="col-12 text-center"> <a href="https://www.pymnts.com/cpi/terms-conditions-cpi#cpiPrivacy" class="p-0 text-black smaller">Privacy Policy</a>&nbsp;<span class="smaller">|</span>&nbsp;<a href=https://www.pymnts.com/cpi/terms-conditions-cpi/" class="p-0 text-black smaller">Terms &amp; Conditions</a> </div> </div> </div> </div> </footer> </body>

Pages: 1 2 3 4 5 6 7 8 9 10