<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width,initial-scale=1" />
  <meta name="theme-color" content="#0EA5E9" />
  <title>Resource Library — takedowns</title>
  <meta name="description" content="Resource library: practical guides for NCII response, content creator protection, and bulk takedown workflows. Built for survivors, advocates, agencies, and creators." />
  <meta name="keywords" content="NCII resources, takedown guides, content creator resources, advocate resources" />
  <meta name="author" content="takedowns" />
  <meta name="robots" content="index, follow, max-snippet:-1, max-image-preview:large" />
  <link rel="canonical" href="https://takedowns.vesamuni.com/article" />

  <meta property="og:type" content="website" />
  <meta property="og:site_name" content="takedowns by vesamuni" />
  <meta property="og:title" content="Resource Library — takedowns" />
  <meta property="og:description" content="Practical guides for NCII response and content creator protection." />
  <meta property="og:url" content="https://takedowns.vesamuni.com/article" />
  <meta property="og:image" content="https://takedowns.vesamuni.com/public/og/blog.png" />
  <meta property="og:locale" content="en_US" />

  <meta name="twitter:card" content="summary_large_image" />
  <meta name="twitter:title" content="Resource Library — takedowns" />
  <meta name="twitter:description" content="Practical guides for NCII response and content creator protection." />
  
  <link rel="manifest" href="/public/manifest.json" />
  <!-- Premium Fonts -->
  <link rel="preconnect" href="https://fonts.googleapis.com">
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  <link href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet">
  <!-- CSS-PRELOAD -->
  <link rel="preload" as="style" href="/public/css/marketing.css?v=3.11-skyclean" />

  
  <link rel="stylesheet" href="/public/css/marketing.css?v=4-light" />
  <script src="/public/js/marketing-css-fix.js" defer></script>
  
  <style>
    /* Article Layout Specific Extensions */
    .article-container {
      max-width: 960px;
      margin: 0 auto;
      padding-top: 180px;
      padding-bottom: 140px;
    }
    
    .article-grid {
      display: grid;
      grid-template-columns: 240px 1fr;
      gap: 4rem;
    }
    
    .article-sidebar {
      position: sticky;
      top: 120px;
      height: fit-content;
    }
    
    .sidebar-meta {
      border-bottom: 1px solid var(--border);
      padding-bottom: 1.5rem;
      margin-bottom: 1.5rem;
    }
    
    .meta-label {
      font-family: var(--font-mono);
      font-size: 12px;
      color: var(--fg-muted);
      text-transform: uppercase;
      margin-bottom: 0.5rem;
      display: block;
    }
    
    .meta-val {
      color: var(--fg-secondary);
      font-size: 14.5px;
      margin-bottom: 1rem;
      display: block;
    }
    
    .outline-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
    }
    
    .outline-list a {
      color: var(--fg-muted);
      text-decoration: none;
      font-size: 14.5px;
      transition: color 0.2s;
    }
    
    .outline-list a:hover {
      color: var(--fg);
    }
    
    .article-body {
      color: var(--fg-secondary);
      font-size: 17.5px;
      line-height: 1.8;
      max-width: 680px;
    }
    
    .article-body h1 {
      font-family: var(--font-ui);
      font-size: 48px;
      font-weight: 500;
      line-height: 1.1;
      color: var(--fg);
      margin-bottom: 2rem;
      letter-spacing: -1.5px;
    }
    
    .article-body h1 em {
      font-family: var(--font-editorial);
      font-style: italic;
      font-weight: 400;
    }
    
    .article-body p {
      margin-bottom: 1.5rem;
    }
    
    .article-body h2 {
      font-family: var(--font-ui);
      font-size: 24px;
      font-weight: 500;
      color: var(--fg);
      margin: 2.5rem 0 1rem;
      letter-spacing: -0.5px;
    }
    
    .article-body ul {
      margin-bottom: 1.5rem;
      padding-left: 1.5rem;
    }
    
    .article-body li {
      margin-bottom: 0.5rem;
    }
    
    @media (max-width: 900px) {
      .article-grid {
        grid-template-columns: 1fr;
        gap: 3rem;
      }
      .article-sidebar {
        position: static;
        border-bottom: 1px solid var(--border);
        padding-bottom: 2rem;
        margin-bottom: 1rem;
      }
    }
  </style>
  <!-- JSON-LD: JSONLD-BREADCRUMB -->
  <script type="application/ld+json">
  {
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Home",
      "item": "https://takedowns.vesamuni.com/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Blog",
      "item": "https://takedowns.vesamuni.com/blog"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "Article",
      "item": "https://takedowns.vesamuni.com/article"
    }
  ]
}

    function esc(s){return String(s==null?'':s).replace(/[&<>"']/g,c=>({'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;',"'":'&#39;'}[c]));}


  </script>
  <!-- JSON-LD: JSONLD-ARTICLE -->
  <script type="application/ld+json">
  {
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "takedowns — Article",
  "description": "Long-form article on NCII protection, DMCA workflows, or content creator recovery.",
  "author": {
    "@type": "Organization",
    "name": "Vesamuni Cybersecurity",
    "url": "https://takedowns.vesamuni.com/"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Vesamuni Cybersecurity",
    "url": "https://takedowns.vesamuni.com/",
    "logo": {
      "@type": "ImageObject",
      "url": "https://takedowns.vesamuni.com/public/og/logo.png"
    }
  },
  "mainEntityOfPage": "https://takedowns.vesamuni.com/article",
  "inLanguage": "en"
}
  </script>
</head>
<body>

  <div class="radial-glow"></div>
  <div class="grid-bg"></div>

  <!-- Mobile Overlay Menu -->
  <div class="mobile-menu-overlay" id="mobileMenu" aria-hidden="true" role="dialog">

        <div class="mobile-menu-section">
      <div class="mobile-menu-section-label">Main</div>
      <div class="mobile-menu-links">
        <a href="/">Home</a>
        <a href="/features">Features</a>
        <a href="/pricing">Pricing</a>
      </div>
    </div>
    <div class="mobile-menu-section">
      <div class="mobile-menu-section-label">For You</div>
      <div class="mobile-menu-links">
        <a href="/for-survivors">For Survivors</a>
        <a href="/for-creators">For Creators</a>
      </div>
    </div>
    <div class="mobile-menu-section">
      <div class="mobile-menu-section-label">Resources</div>
      <div class="mobile-menu-links">
        <a href="/how-it-works">How It Works</a>
        <a href="/who-it-helps">Who It Helps</a>
        <a href="/blog">Blog</a>
      </div>
    </div>
    <div class="mobile-menu-actions">
      <a href="/login" class="btn btn-secondary" style="width: 100%;">Sign in</a>
      <a href="/register" class="btn btn-primary" style="width: 100%; background-color: var(--fg); color: var(--bg);">Create account</a>
    </div>
    <div class="mobile-menu-footer">
      <a href="/privacy">Privacy</a>
      <a href="/terms">Terms</a>
      <a href="/cookies">Cookies</a>
      <a href="/dmca">DMCA</a>
      <a href="/acceptable-use">Acceptable Use</a>
    </div>
  </div>

  <!-- Floating Navigation -->
  <div class="nav-wrapper" id="navWrapper">
    <nav class="nav-pill" id="navPill" aria-label="Main Navigation">
      <a href="/#top" class="brand" aria-label="takedowns home">
        <div class="brand-logo" aria-hidden="true">
          <img src="/public/og/logo-mark.png" alt="" width="32" height="32" />
        </div>
        <span>takedowns</span>
      </a>


            <div class="nav-links">
        <a href="/">Home</a>
        <a href="/features">Features</a>
        <div class="nav-item-dropdown" data-dropdown>
          <button type="button" class="nav-trigger" aria-haspopup="true" aria-expanded="false">For You</button>
          <div class="nav-dropdown" role="menu">
            <a href="/for-survivors" role="menuitem">
              <span class="nav-dropdown-title">For Survivors</span>
              <span class="nav-dropdown-desc">Confidential, self-serve recovery</span>
            </a>
            <a href="/for-creators" role="menuitem">
              <span class="nav-dropdown-title">For Creators</span>
              <span class="nav-dropdown-desc">OnlyFans, Fansly, webcam protection</span>
            </a>
          </div>
        </div>
        <div class="nav-item-dropdown" data-dropdown>
          <button type="button" class="nav-trigger" aria-haspopup="true" aria-expanded="false">Resources</button>
          <div class="nav-dropdown" role="menu">
            <a href="/how-it-works" role="menuitem">
              <span class="nav-dropdown-title">How It Works</span>
              <span class="nav-dropdown-desc">Five steps from reference to removal</span>
            </a>
            <a href="/who-it-helps" role="menuitem">
              <span class="nav-dropdown-title">Who It Helps</span>
              <span class="nav-dropdown-desc">Survivors, advocates, agencies, creators</span>
            </a>
            <a href="/blog" role="menuitem">
              <span class="nav-dropdown-title">Blog</span>
              <span class="nav-dropdown-desc">Practical guides and case studies</span>
            </a>
          </div>
        </div>
        <a href="/pricing">Pricing</a>
      </div>

      <div class="nav-actions">
        <a href="/login" class="btn btn-text" style="color: var(--fg-secondary); padding: 8px 16px;">Sign in</a>
        <a href="/register" class="btn btn-primary">Create account</a>
      </div>

      <button class="burger-btn" id="burgerBtn" aria-label="Toggle Menu" aria-expanded="false">
        <svg viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5"
          stroke-linecap="round" stroke-linejoin="round">
          <line x1="3" y1="6" x2="21" y2="6" class="line-top"></line>
          <line x1="3" y1="12" x2="21" y2="12" class="line-mid"></line>
          <line x1="3" y1="18" x2="21" y2="18" class="line-bot"></line>
        </svg>
      </button>
    </nav>
  </div>

  <!-- Article View -->
  <main class="article-container container">
    <div class="article-grid">
      
      <!-- Sticky Sidebar -->
      <aside class="article-sidebar">
        <div class="sidebar-meta">
          <span class="meta-label">Category</span>
          <span class="meta-val" id="artCategory">Safety Guide</span>
          
          <span class="meta-label">Published</span>
          <span class="meta-val" id="artDate">Jun 18, 2026</span>
          
          <span class="meta-label">Reading Time</span>
          <span class="meta-val" id="artReadTime">6 min read</span>
        </div>
        
        <div>
          <span class="meta-label">Resources Navigation</span>
          <ul class="outline-list">
            <li><a href="/blog">&larr; Back to blog hub</a></li>
            <li><a href="/trust">Trust &amp; Security</a></li>
            <li><a href="/contact">Get Direct Support</a></li>
          </ul>
        </div>
      </aside>
      
      <!-- Main Content -->
      <article class="article-body" id="artBody">
        <!-- Dynamic Article Content Injected Here -->
      </article>
      
    </div>
  </main>

  <!-- Footer -->
  <footer class="app-footer">
    <div class="container">
      <div class="footer-grid">
        <div class="footer-brand">
          <a href="/#top" class="brand" aria-label="takedowns home">
            <div class="brand-logo" aria-hidden="true">
              <img src="/public/og/logo-mark.png" alt="" width="32" height="32" />
            </div>
            <span>takedowns</span>
          </a>
          <p>We find leaked content and get it removed. Free for survivors of non-consensual sharing.</p>
        </div>

        <div class="footer-col">
          <h4>Product</h4>
          <ul>
            <li><a href="/#features">Features</a></li>
            <li><a href="/#pricing">Pricing</a></li>
            <li><a href="/#how-it-works">How It Works</a></li>
            <li><a href="/blog">Blog</a></li>
          </ul>
        </div>

        <div class="footer-col">
          <h4>Company</h4>
          <ul>
            <li><a href="/about">About</a></li>
            <li><a href="/contact">Contact</a></li>
            <li><a href="/#who-it-helps">Who It Helps</a></li>
          </ul>
        </div>

        <div class="footer-col">
          <h4>Legal and Trust</h4>
          <ul>
            <li><a href="/trust">Trust and Privacy</a></li>
            <li><a href="/login">Sign in</a></li>
            <li><a href="/register">Create account</a></li>
          </ul>
        </div>
      </div>

      <div class="footer-helplines" style="margin: 32px 0 24px; padding: 24px; border-radius: 14px; background: rgba(99,102,241,0.06); border: 1px solid rgba(99,102,241,0.12);">
        <h4 style="font-size: 13px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--accent); margin-bottom: 12px; font-weight: 600;">
          If you need help right now
        </h4>
        <p style="font-size: 14.5px; line-height: 1.55; margin-bottom: 14px;">
          These are free, confidential, and they don't sell you anything. Talk to them first — they're excellent.
        </p>
        <ul style="list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; font-size: 14px;">
          <li><strong>StopNCII.org</strong> — free hash-based blocking</li>
          <li><strong>CCRI 1-844-878-2274</strong> — 24/7, multilingual</li>
          <li><strong>UK RPH 0345 6000 459</strong> — free, international</li>
          <li><strong>NCMEC 1-800-843-5678</strong> — under 18</li>
        </ul>
      </div>

      <div class="footer-bottom">
        <span>&copy; 2026 takedowns. Built under Vesamuni Cybersecurity.</span>
        <div class="footer-bottom-links">
          <a href="/trust#privacy">Privacy</a>
          <a href="/trust">Security</a>
          <a href="/trust">Terms</a>
        </div>
      </div>
    </div>
  </footer>

  <script src="/public/js/marketing.js" defer></script>
  
  <script>
    // Articles Database
    const ARTICLES = {
      "1": {
        category: "Safety Guide",
        date: "Jun 18, 2026",
        readTime: "6 min read",
        title: "What to do if a private image of you was shared",
        html: `
          <h1>What to do if a private image of you was shared</h1>
          <p>Take a breath. This is fixable. The order below is what works.</p>

          <h2>1. Lock down your accounts first</h2>
          <p>Before you start sending takedown notices, make sure no one else can read your email, your cloud, or your messages. Turn on two-factor authentication everywhere. Change the password on the account you suspect was compromised. If someone knows where you are right now, that's the priority — call someone you trust.</p>

          <h2>2. Save the evidence before you do anything else</h2>
          <p>Screenshot the URL, the page title, the username that posted it, and the timestamp. Save the image file itself. Don't delete anything yet. Don't reply to the person who shared it. Don't pay anyone who offers to take it down for a fee — that is extortion, and most of those services never deliver.</p>

          <h2>3. Send the takedown notices</h2>
          <p>Most major platforms have a non-consensual intimate imagery form. Meta, Reddit, X, Discord, Google, Bing, and most mainstream adult hosts have one. Under the US TAKE IT DOWN Act, covered platforms must remove valid NCII reports within 48 hours. Send to each host where the image is up, including any leak aggregators.</p>
          <p>You can do this by hand with our <a href="/for-survivors">/for-survivors</a> workflow, or hand it off to us — for survivors of non-consensual sharing, full removal is free.</p>

          <h2>4. Talk to someone</h2>
          <p>You don't have to do this alone. Free, confidential, 24/7:</p>
          <ul>
            <li><strong>StopNCII.org</strong> — blocks future uploads across 9 platforms before they happen.</li>
            <li><strong>CCRI Helpline 1-844-878-2274</strong> — US, 24/7, interpretation in 100+ languages.</li>
            <li><strong>Revenge Porn Helpline 0345 6000 459</strong> — UK and international, free.</li>
            <li><strong>NCMEC 1-800-843-5678</strong> — if you're under 18, or were when the image was taken.</li>
          </ul>
        `
      },
      "2": {
        category: "Regulatory",
        date: "Jun 15, 2026",
        readTime: "4 min read",
        title: "How takedown notices actually work",
        html: `
          <h1>How takedown notices actually work</h1>
          <p>A takedown notice is a written request to a host, registrar, or platform asking them to remove content. The legal grounds vary — copyright, privacy law, the new federal TAKE IT DOWN Act — but the structure is similar: identify the URL, state that the content is unlawful or unauthorized, give the host a way to reach you.</p>

          <h2>What the host has to do</h2>
          <p>Under the US DMCA and the TAKE IT DOWN Act (effective for covered platforms May 19, 2026), a host that receives a valid notice has to act quickly. DMCA: "expeditiously." TAKE IT DOWN: within 48 hours. If they don't, they lose their safe-harbour protection from liability.</p>
          <p>In practice, most major platforms respond inside 24 to 72 hours. Smaller hosts, tube sites, and leak aggregators vary — some never respond at all, which is when you escalate to the registrar or the search engine.</p>

          <h2>What a valid notice needs</h2>
          <p>Three things, no more:</p>
          <ul>
            <li>The exact URL where the content lives.</li>
            <li>A statement that the content was posted without consent (or that you own the copyright and didn't authorise the upload).</li>
            <li>A way for the host to reach you.</li>
          </ul>
          <p>You don't have to send your real name on the notice itself. In fact, for adult-content creators, you should not — we file under our company name by default.</p>
        `
      },
      "3": {
        category: "Legal Guide",
        date: "Jun 11, 2026",
        readTime: "5 min read",
        title: "Saving evidence the way a court will accept",
        html: `
          <h1>Saving evidence the way a court will accept</h1>
          <p>If you might ever go to court — civil suit against the poster, criminal referral, or a complaint to the FTC for a missed 48-hour window — what you saved on day one matters more than what you saved a month later.</p>

          <h2>Screenshots aren't enough on their own</h2>
          <p>A screenshot can be edited. A URL can change. A screenshot can't prove that the page existed at a particular time, or that a server returned a particular HTTP header, or that the embedded media hash matches the one you see in your records.</p>

          <h2>What to save</h2>
          <ul>
            <li>The full URL of the page.</li>
            <li>The exact time you saw it (screenshot your phone's clock too).</li>
            <li>The full page source — Ctrl+U or "Save As" complete HTML. This includes headers, scripts, and any embedded media references.</li>
            <li>The image or video file itself, untouched, with its original file hash.</li>
          </ul>
          <p>Put all of it in a single folder with a date in the filename. Don't reorganise later.</p>

          <h2>Don't pay the host</h2>
          <p>If a site offers to remove your content for a fee, that is extortion under most state NCII laws. Don't pay. Send a notice. If they ignore it, escalate.</p>
        `
      },
      "4": {
        category: "Platforms",
        date: "Jun 08, 2026",
        readTime: "5 min read",
        title: "How long platforms actually take to act",
        html: `
          <h1>How long platforms actually take to act</h1>
          <p>There's no single answer. It depends on the platform, the size of the host, and the country. Here are the rough rules of thumb.</p>

          <h2>Big platforms (Meta, Google, X, Reddit, TikTok, Discord)</h2>
          <p>For NCII reports on the dedicated forms, expect 24 to 72 hours. Most act faster. If they don't act in 48 hours and you're in the US, that's a TAKE IT DOWN Act violation you can report to the FTC.</p>

          <h2>Mid-tier hosts (Discord servers, smaller social sites, content hosts)</h2>
          <p>1 to 7 days, depending on whether they have a real trust-and-safety team or just a contact form. If no response in 7 days, escalate to the registrar (for domain-level takedown) or to the search engines (for de-listing).</p>

          <h2>Tube sites, leak aggregators, pirate forums</h2>
          <p>Some respond. Most don't. The realistic move here is: send the notice anyway (it builds a paper trail), de-list from Google and Bing (which usually works inside 1-3 business days), and accept that the source page may stay up while the search results clear. The user is now hard to find.</p>

          <h2>What we do about it</h2>
          <p>Every notice we send is logged. We re-check the URL on a schedule. If it's still up after the expected window, we re-dispatch with the previous failure context attached. We tell you either way.</p>
        `
      },
      "5": {
        category: "Advocacy",
        date: "Jun 02, 2026",
        readTime: "4 min read",
        title: "A guide for support organisations",
        html: `
          <h1>A guide for support organisations</h1>
          <p>If you run a case-management team for NCII survivors, the work is mostly not technical — it's the emotional load of reading a queue of horrible content, the slow pace of host responses, and the constant risk of secondary trauma for your staff. Software should make that easier, not add to it.</p>

          <h2>What your team actually needs</h2>
          <ul>
            <li>One case per client. No shared inboxes. No "the case is in someone's browser tabs."</li>
            <li>Role-based access. Your advocates see only their assigned cases. Your admin staff see aggregates, not the content.</li>
            <li>Bulk dispatch. If you're handling 50 cases a week, you can't be filing notices one at a time.</li>
            <li>Audit logs. Who saw what, when, and what they did. For your own records and for any oversight body.</li>
          </ul>

          <h2>What we built for that</h2>
          <p>Our Agency plan covers all four. We charge per seat, not per takedown, so the cost stays predictable as your caseload grows. Talk to us if you want a walkthrough — <a href="/contact">/contact</a>.</p>

          <h2>What software can't do</h2>
          <p>It can't be the helpline. It can't replace trauma-informed support. For your clients who need to talk to someone, point them at CCRI (US) or the Revenge Porn Helpline (UK & international). Both are free.</p>
        `
      },
      "6": {
        category: "Creators",
        date: "Jun 24, 2026",
        readTime: "5 min read",
        title: "A creator's guide to proactive leak protection",
        html: `
          <h1>A creator's guide to proactive leak protection</h1>
          <p>If you publish on OnlyFans, Fansly, a webcam platform, or any subscription-based channel, leaks are an operational reality — not a one-time event. The workflow below is what keeps a single leak from snowballing into dozens of re-uploads across tube sites, free clip networks, and public Telegram channels.</p>

          <h2>1. Fingerprint your published catalogue</h2>
          <p>Upload a reference set of your published media — typically watermarked or lower-resolution copies. We hash them on your device and index the fingerprints. As you publish new content, add it incrementally. Originals never leave your storage.</p>

          <h2>2. Watch the pirate sources, not the mainstream ones</h2>
          <p>The high-risk surface is not the major platforms you control. It's the long tail of tube aggregators, free clip sites, Reddit cross-posts, and public Telegram channels. Configure monitoring to cover that surface, and run scheduled re-scans on a cadence that matches your publication rate.</p>

          <h2>3. Dispatch in bulk, not one at a time</h2>
          <p>Review a batch of findings, sign a single DMCA notice, broadcast to every matched host at once. Per-host abuse contacts and templates are looked up automatically. One click, many removals — that's the throughput that keeps up with leak propagation.</p>

          <h2>4. Catch the re-uploads</h2>
          <p>Successful removals aren't the end. The same fingerprint stays in the index, and we keep watching. If the same content reappears on a new host, you'll see it in the queue and a re-dispatch sends a fresh notice to that host's abuse contact.</p>

          <h2>5. Pay per content, not per month</h2>
          <p>If you publish intermittently, a monthly subscription is the wrong shape. Our Creator plan is priced per-takedown, so you only pay for what actually gets removed. Combine that with continuous monitoring and you have a workflow that scales with your catalogue, not your calendar.</p>

          <h2>What this isn't</h2>
          <p>This is a workflow tool, not legal counsel. For case-specific legal questions — counter-notices, jurisdiction-specific copyright, or platform-specific performer agreements — talk to a lawyer who knows the adult creator space. We handle the volume; your counsel handles the nuance.</p>
        `
      }
    };

    // Client-side Router
    const params = new URLSearchParams(window.location.search);
    const artId = params.get('id') || '1';
    const article = ARTICLES[artId] || ARTICLES["1"];
    
    document.getElementById('artCategory').innerText = article.category;
    document.getElementById('artDate').innerText = article.date;
    document.getElementById('artReadTime').innerText = article.readTime;
    document.getElementById('artBody').innerHTML = article.html;
    
    // Set Page Title
    const titleText = article.title.replace(/<\/?[^>]+(>|$)/g, ""); // strip em tag
    document.title = `${titleText} — takedowns`;
  </script>
</body>
</html>
