91³Ô¹ÏÍø

Watch CBS News

AI-generated porn site Mr. Deepfakes shuts down after service provider pulls support

One of the largest websites dedicated to deepfake pornography announced that it has shut down after a critical service provider withdrew its support, effectively halting the site's operations. 

Mr. Deepfakes, created in 2018, has been by researchers as "the most prominent and mainstream marketplace" for deepfake porn of celebrities, as well as individuals with no public presence. On Sunday, the website's landing page featured a "Shutdown Notice," saying it would not be relaunching.

The site allowed users to upload and view deepfake porn videos created using artificial intelligence. Forums on the site allowed users to buy and sell custom nonconsensual deepfake content, as well as discuss practices for making deepfakes.  The owner of the site remains unknown. 

The shutdown comes just days after Congress passed the "Take It Down Act," which makes it a federal crime to post nonconsensual sexual imagery, including explicit deepfakes. The legislation, backed by first lady Melania Trump, requires social media platforms and other websites to remove images and videos within 48 hours after a victim's request. 

While it's not clear if the website's termination was related to the Take It Down Act, it's the latest step in a crackdown on nonconsensual sexual imagery. 

Henry Ajder, an expert on AI and deepfakes, told CBS News that "this is a moment to celebrate," describing the website as the "central node" of deepfake abuse. 

Ajder said the issue of nonconsensual deepfake imagery will not go away but disbanding the largest archive of deepfake porn is "a step in the right direction." He said it makes the content less accessible and scatters the community of users, likely pushing them toward less mainstream platforms such as Telegram. 

"I'm sure those communities will find a home somewhere else but it won't be this home and I don't think it'll be as big and as prominent. And I think that's critical," Ajder said.

Ajder said he wants to see more legislation introduced globally and an increase in public awareness to help tackle the issue of nonconsensual sexual deepfake imagery. 

"We're starting to see people taking it more seriously and we're starting to see the kind of societal infrastructure needed to react better than we have, but we can never be complacent with how much resource and how much vigilance we need to give," Ajder said. 

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=fd53910ecf4604072044ab7c46d9b028'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });