Showing source for: https://fileshot.io/
Duration: 0.580465s
Server: cloudflare

<!DOCTYPE html>
<html data-uxpolish831="20260831-uxpolish831" lang="en" data-theme="dark" data-navmoney1="20260924-navmoney1">
<head data-homespeed909="20260902-drawerfix909" data-drawerfix909="20260902-drawerfix909" data-fs-hometbt5="20260830-hometbt5" data-fs-tbtlcpfix1="20260830-tbtlcpfix1" data-fs-homedup1="20260830-cwvfinal1" data-nofouc831b="20260831-nofouc831b" data-psifix906-home="20260902-psifix906">
<meta charset="utf-8">
<link rel="preload" href="/fonts/plusjakarta-v12-latin.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="/fonts/play-v21-latin-700.woff2" as="font" type="font/woff2" crossorigin data-playpre1>
    <meta name="wot-verification" content="ca0ccb4c12f178ef6bca"/>
<meta name="yandex-verification" content="1c8cf32258e640fd" />
<meta name="6a97888e-site-verification" content="4c323c71c0e340f01eb0fd3343c703d9">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="preload" href="/logonew-nav.png" as="image" type="image/png" fetchpriority="high">

<title>FileShot.io &mdash; Private File Host &amp; Secure File Sharing</title>
<meta name="description" content="FileShot is a free file host for secure, encrypted file sharing. Zero-knowledge encryption, large file transfers, QR codes, and custom links. Pro plans from $10/mo with password protection. HIPAA-ready.">
<meta name="keywords" content="file sharing, secure file transfer, private uploads, temporary file hosting, password protected files, zero-knowledge uploads, FileShot">
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
<meta name="googlebot" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
<link rel="canonical" href="https://fileshot.io/">
<link rel="manifest" href="/manifest.json">

<!-- Open Graph / Facebook -->
<meta property="og:type" content="website">
<meta property="og:url" content="https://fileshot.io/">
<meta property="og:locale" content="en_US">
<meta property="og:title" content="FileShot.io - Fast, Private File Sharing with Zero-Knowledge Encryption">
<meta property="og:description" content="Share large files instantly with zero-knowledge encryption. Free: 50 GB storage. Pro: $10/mo, 100 GB per file, password protection. Creator: $24/mo, 300 GB per file. Professional: $38/mo, HIPAA-ready with BAA.">
<meta property="og:image" content="https://fileshot.io/crozdesk-ss1-homepage.png">
<meta property="og:image:width" content="1480">
<meta property="og:image:height" content="987">
<meta property="og:image:alt" content="FileShot.io - Fast, Private File Sharing">
<meta property="og:site_name" content="FileShot.io">

<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:url" content="https://fileshot.io/">
<meta name="twitter:title" content="FileShot.io - Fast, Private File Sharing">
<meta name="twitter:description" content="Share large files securely with zero-knowledge encryption. Free plan available.">
<meta name="twitter:image" content="https://fileshot.io/crozdesk-ss1-homepage.png">
<meta name="twitter:site" content="@fileshotio">
<meta name="twitter:creator" content="@fileshotio">

<!-- Structured Data -->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "name": "FileShot.io",
      "url": "https://fileshot.io/",
      "logo": "https://fileshot.io/logonew.png",
      "sameAs": [
        "https://twitter.com/fileshotio",
        "https://github.com/fileshot"
      ],
      "contactPoint": {
        "@type": "ContactPoint",
        "contactType": "customer support",
        "email": "[email protected]"
      }
    },
    {
      "@type": "WebSite",
      "name": "FileShot.io",
      "url": "https://fileshot.io/",
      "potentialAction": {
        "@type": "SearchAction",
        "target": "https://fileshot.io/?s={search_term_string}",
        "query-input": "required name=search_term_string"
      }
    },
    {
      "@type": "WebApplication",
      "name": "FileShot",
      "url": "https://fileshot.io/",
      "description": "Share large files securely with zero-knowledge encryption. Free unlimited storage, QR codes, and custom links.",
      "applicationCategory": "UtilityApplication",
      "operatingSystem": "Any (Web-based)",
      "offers": [
        {"@type":"Offer","name":"Free Plan","price":"0","priceCurrency":"USD","description":"10 GB per file, 50 GB storage, zero-knowledge encryption"},
        {"@type":"Offer","name":"Pro Plan","price":"5","priceCurrency":"USD","description":"100 GB per file, receive inbox, verified badge, priority support"},
        {"@type":"Offer","name":"Creator Plan","price":"12","priceCurrency":"USD","description":"300 GB per file, API access, webhooks, custom branding"},
        {"@type":"Offer","name":"Professional Plan","price":"19","priceCurrency":"USD","description":"HIPAA-ready with BAA, 500 GB per file, dedicated support, compliance features"}
      ],
      "featureList": ["Zero-knowledge encryption","Password protection (Pro+)","Custom share links","QR code generation","Unlimited storage (Free plan)","Large file support","No registration required"],
      "aggregateRating": {"@type":"AggregateRating","ratingValue":"4.8","ratingCount":"127","bestRating":"5","worstRating":"1"},
      "provider": {"@type":"Organization","name":"FileShot.io"}
    }
  ]
}
</script>

<!-- Favicons -->
<link rel="icon" type="image/x-icon" href="https://fileshot.io/favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="https://fileshot.io/favicon.ico">
<link rel="icon" type="image/png" sizes="32x32" href="https://fileshot.io/favicon.ico">
<link rel="icon" type="image/png" sizes="48x48" href="https://fileshot.io/favicon.ico">
<link rel="icon" type="image/webp" sizes="any" href="https://fileshot.io/dragndropicon.webp">
<link rel="apple-touch-icon" sizes="180x180" href="https://fileshot.io/dragndropicon.webp">
<link rel="shortcut icon" href="https://fileshot.io/favicon.ico">

<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://fileshot.io/"}]}</script>
<link rel="dns-prefetch" href="//cdnjs.cloudflare.com">
<link rel="dns-prefetch" href="//js.stripe.com">




    <noscript></noscript>
<!-- nofouc831b 20260831-nofouc831b -->



<script id="cssapplydelay1" data-nofouc831b="20260831-nofouc831b">(function(){function flip(){document.querySelectorAll('link[data-fs-css-async]').forEach(function(e){e.media='all';});}if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',flip);else flip();})();</script>
<style id="psifix906-cls">.mode-panels,.mode-bar,.nav-links-d{min-height:48px}.page{min-height:100vh}</style>
        <noscript></noscript>
    <noscript></noscript><script id="fs-beacon904" data-plan904="20260902-plan904">(function(){try{var k="fs_sid",s=sessionStorage.getItem(k)||((crypto.randomUUID&&crypto.randomUUID())||String(Date.now()));sessionStorage.setItem(k,s);var p={event:"page_beacon",url:location.pathname,referrer:document.referrer||"",session_id:s,source:"fe"};var b=JSON.stringify(p);if(navigator.sendBeacon){navigator.sendBeacon("/api/user/analytics/track",new Blob([b],{type:"application/json"}));}else{fetch("/api/user/analytics/track",{method:"POST",credentials:"include",keepalive:true,headers:{"Content-Type":"application/json"},body:b});}}catch(e){}})();</script>
        <style id="home-fp908" data-homelay908="20260902-drawerfix909" data-homeham1="20261008-homeham1">:root{--bg:#080808;--bg2:#111;--t1:#e4e4e4;--t2:#c2c2c2;--bdr:#2a2a2a;--a:#f7963a}html,body{margin:0;background:var(--bg);color:var(--t1);font-family:system-ui,-apple-system,Segoe UI,sans-serif}#nav.glass,#nav{position:sticky;top:0;z-index:100}#drawer{display:none}#drawer.open{display:flex!important}.ham{display:flex!important}@media(min-width:1101px){.ham{display:none!important}}.nav-links-d{display:none!important}@media(min-width:1101px){.nav-links-d{display:flex!important}}/*homeham1: match home-bundle max-width:1100 — was 901 vs 1100 deadlock*/.mode-panel:not(.is-active){opacity:.001}.fc-icon .fc-icon-static{width:80px;height:80px;border-radius:16px;background:rgba(250,56,0,.12);display:block}</style>
    <link rel="stylesheet" href="/home-bundle.min.css?v=20261008-feux1" data-homelay908="20260902-drawerfix909">
<style id="fs-drawer-vd" data-plan924-drawer="1">#drawer{display:none;position:fixed;top:68px;left:18px;right:18px;z-index:199;border-radius:var(--r16);padding:12px;flex-direction:column;gap:4px;max-height:calc(100vh - 82px);overflow-y:auto}#drawer.open{display:flex!important}</style>
<!-- internallink3xx1:20261003 -->
<style id="fshex1">html body:not(#fshex){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='48'%3E%3Cpath d='M14 0L28 8V24L14 32L0 24V8ZM14 32V48' fill='none' stroke='%23ffffff' stroke-opacity='.05'/%3E%3C/svg%3E")!important;background-size:28px 48px!important;background-repeat:repeat!important}html.light-theme body:not(#fshex),html[data-theme=light] body:not(#fshex){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='48'%3E%3Cpath d='M14 0L28 8V24L14 32L0 24V8ZM14 32V48' fill='none' stroke='%23b0602a' stroke-opacity='.09'/%3E%3C/svg%3E")!important}</style>    <link rel="alternate" hreflang="en" href="https://fileshot.io/">
    <link rel="alternate" hreflang="x-default" href="https://fileshot.io/">
</head>
<body class="has-hybrid-bg">

<!-- NoScript fallback: shown in Tor Browser Safest mode and other JS-disabled environments -->
<noscript>
  <div style="background:#1a1a1a;color:#e0e0e0;font-family:sans-serif;padding:2rem;text-align:center;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;">
    <img src="/logonew-nav.png" alt="FileShot.io" width="120" height="15" decoding="async" style="opacity:.9;">
    <p style="color:#fa6a2a;font-size:1.5rem;margin:0;font-weight:700">JavaScript is required</p>
    <p style="max-width:480px;line-height:1.7;color:#bbb;margin:0">
      FileShot uses client-side AES-256-GCM encryption &mdash; all encryption happens in your browser using JavaScript.
      Without JS, the encryption engine cannot run and files cannot be encrypted or decrypted safely.
    </p>
    <div style="background:#222;border:1px solid #333;border-radius:8px;padding:1.25rem 1.75rem;max-width:480px;text-align:left;">
      <p style="margin:0 0 .75rem;color:#fa6a2a;font-weight:700;">Using Tor Browser?</p>
      <p style="margin:0;color:#bbb;line-height:1.7;">
        You appear to be on <strong style="color:#e0e0e0">Safest</strong> security level, which blocks all JavaScript.
        To use FileShot on Tor, click the <strong style="color:#e0e0e0">Shield icon</strong> in the toolbar and
        select <strong style="color:#e0e0e0">Standard</strong> or <strong style="color:#e0e0e0">Safer</strong> level.
        FileShot does not track you or run any third-party analytics in a meaningful way &mdash; all encryption is verified open-source.
      </p>
    </div>
    <p style="color:#666;font-size:.85rem;margin:0">
      Zero-knowledge encryption source: <a href="https://github.com/FileShot/FileShotZKE" style="color:#fa6a2a">github.com/FileShot/FileShotZKE</a>
    </p>
  </div>
</noscript>

<!-- Trial Banner -->
<div id="trialBanner" style="display: none; background: linear-gradient(135deg, rgba(255, 90, 31, 0.1), rgba(255, 45, 0, 0.1)); backdrop-filter: blur(10px); border-bottom: 1px solid rgba(255, 90, 31, 0.2); color: #ff5a1f; padding: 14px 24px; text-align: center; font-weight: 600; position: sticky; top: 0; z-index: 1000; font-size: 14px;">
  <span style="display: inline-flex; align-items: center; gap: 8px;">
    <svg style="width: 16px; height: 16px; flex-shrink: 0;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>
    You have <span data-days-remaining>7</span> days of Pro features free
    <a href="/pricing" style="color: #ff5a1f; text-decoration: underline; margin-left: 12px; cursor: pointer;">Upgrade</a>
  </span>
</div>

<!-- LIVE BG: WebGL aurora + floating particles (fileshot-bg.js) -->
<canvas id="fileshotGLCanvas" aria-hidden="true" hidden></canvas><canvas id="fileshotParticles" aria-hidden="true" hidden></canvas>

<div class="page">

<!-- -- NAV ---------------------------------------------------------- -->
<nav id="nav" class="glass">
  <div class="nav-in wrap">
    <a href="/" class="nav-logo">
      <img src="/logonew-nav.png" alt="FileShot.io" width="160" height="40" fetchpriority="high" decoding="async">
    </a>
    <div class="nav-links-d" style="align-items:center;gap:2px" data-homeham1="20261008-homeham1">
      <a href="/pricing"    class="nav-lnk">Pricing</a>
      <a href="/security"   class="nav-lnk">Security</a>
      <a href="/inbox"     class="nav-lnk">Inbox</a>
      <a href="/p2p"        class="nav-lnk">P2P</a>
      <a href="/chat"       class="nav-lnk">Chat</a>
      <a href="/desktop" class="nav-lnk">Desktop</a>
      <!-- Tools dropdown -->
      <div class="nav-dd">
        <button class="nav-dd-btn" type="button">
          Tools
          <svg viewBox="0 0 24 24"><polyline points="6 9 12 15 18 9"/></svg>
        </button>
        <div class="nav-dd-menu">
          <a href="/tools/converter"     class="nav-dd-item"><svg viewBox="0 0 24 24"><polyline points="17 1 21 5 17 9"/><path d="M3 11V9a4 4 0 0 1 4-4h14"/><polyline points="7 23 3 19 7 15"/><path d="M21 13v2a4 4 0 0 1-4 4H3"/></svg>File Converter</a>
          <a href="/tools/pdf"           class="nav-dd-item"><svg viewBox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/></svg>PDF Editor</a>
          <a href="/tools/paste"         class="nav-dd-item"><svg viewBox="0 0 24 24"><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"/><rect x="8" y="2" width="8" height="4" rx="1" ry="1"/></svg>Secure Paste</a>
          <a href="/tools/compressor"    class="nav-dd-item"><svg viewBox="0 0 24 24"><polyline points="4 14 10 14 10 20"/><polyline points="20 10 14 10 14 4"/><line x1="10" y1="14" x2="21" y2="3"/><line x1="3" y1="21" x2="14" y2="10"/></svg>File Compressor</a>
          <a href="/tools/download-video-from-url" class="nav-dd-item"><svg viewBox="0 0 24 24"><polygon points="23 7 16 12 23 17 23 7"/><rect x="1" y="5" width="15" height="14" rx="2"/></svg>Video Downloader</a>
          <div class="nav-dd-divider" style="height:1px;background:var(--bdr,rgba(255,255,255,.08));margin:.35rem .5rem"></div>
          <a href="/tools/" class="nav-dd-item nav-dd-view-all"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="7" height="7"/><rect x="14" y="3" width="7" height="7"/><rect x="14" y="14" width="7" height="7"/><rect x="3" y="14" width="7" height="7"/></svg>View all tools (22)</a>
        </div>
      </div>
    </div>
    <div class="nav-actions">
      <button class="theme-btn" id="themeToggle" type="button" title="Toggle theme">
        <svg id="themeIcon" viewBox="0 0 24 24"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/></svg>
      </button>
      <a href="/account-dashboard.html" id="loginBtn" class="btn btn-pri btn-sm nav-cta-d">Sign in</a>
      <button class="ham" id="hamBtn" type="button" aria-label="Menu">
        <span></span><span></span><span></span>
      </button>
    </div>
  </div>
</nav>

<!-- Mobile drawer -->
<div id="drawer" class="glass">
  <a href="/pricing" class="nav-lnk" onclick="closeDr()">Pricing</a>
  <a href="/inbox" class="nav-lnk" onclick="closeDr()">Inbox</a>
  <a href="/p2p" class="nav-lnk" onclick="closeDr()">P2P</a>
  <a href="/chat" class="nav-lnk" onclick="closeDr()">Encrypted Chat</a>
  <a href="/desktop" class="nav-lnk" onclick="closeDr()">Desktop App</a>
  <a href="/extension" class="nav-lnk" onclick="closeDr()">Browser Extension</a>
  <div class="dr-section">
    <button class="dr-section-toggle" id="drToolsBtn" type="button" onclick="toggleDrTools()">Tools<svg viewBox="0 0 24 24"><polyline points="6 9 12 15 18 9"/></svg></button>
    <div class="dr-sub" id="drToolsSub">
      <a href="/tools/converter" onclick="closeDr()"><svg viewBox="0 0 24 24"><polyline points="17 1 21 5 17 9"/><path d="M3 11V9a4 4 0 0 1 4-4h14"/><polyline points="7 23 3 19 7 15"/><path d="M21 13v2a4 4 0 0 1-4 4H3"/></svg>File Converter</a>
      <a href="/tools/pdf" onclick="closeDr()"><svg viewBox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/></svg>PDF Editor</a>
      <a href="/tools/archive" onclick="closeDr()"><svg viewBox="0 0 24 24"><polyline points="21 8 21 21 3 21 3 8"/><rect x="1" y="3" width="22" height="5"/><line x1="10" y1="12" x2="14" y2="12"/></svg>Archive Builder</a>
      <a href="/tools/paste" onclick="closeDr()"><svg viewBox="0 0 24 24"><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"/><rect x="8" y="2" width="8" height="4" rx="1" ry="1"/></svg>Secure Paste</a>
      <a href="/tools/compressor" onclick="closeDr()"><svg viewBox="0 0 24 24"><polyline points="4 14 10 14 10 20"/><polyline points="20 10 14 10 14 4"/><line x1="10" y1="14" x2="21" y2="3"/><line x1="3" y1="21" x2="14" y2="10"/></svg>File Compressor</a>
      <a href="/tools/download-video-from-url" onclick="closeDr()"><svg viewBox="0 0 24 24"><polygon points="23 7 16 12 23 17 23 7"/><rect x="1" y="5" width="15" height="14" rx="2"/></svg>Video Downloader</a>
      <a href="/tools/video-to-gif" onclick="closeDr()"><svg viewBox="0 0 24 24"><rect x="2" y="2" width="20" height="20" rx="2.5"/><path d="M10 8l6 4-6 4V8z"/></svg>Video to GIF</a>
      <a href="/tools/" class="nav-dd-view-all" onclick="if(typeof closeDr==='function')closeDr();"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="7" height="7"/><rect x="14" y="3" width="7" height="7"/><rect x="14" y="14" width="7" height="7"/><rect x="3" y="14" width="7" height="7"/></svg>View all tools (22)</a>
    </div>
  </div>
  <div class="dr-login">
    <div id="mobileAccountSection" class="dr-section" style="display:none;border-top:none;margin-top:0;padding-top:0">
      <button class="dr-section-toggle" id="drAccountBtn" type="button">
        <span>My Account</span>
        <div style="display:flex;align-items:center;gap:6px">
          <span class="tier-badge" id="tierBadge" style="display:none"></span>
          <svg viewBox="0 0 24 24"><polyline points="6 9 12 15 18 9"/></svg>
        </div>
      </button>
      <div class="dr-sub" id="drAccountSub">
        <a href="/account-dashboard.html"><svg viewBox="0 0 24 24"><rect x="3" y="3" width="7" height="7"/><rect x="14" y="3" width="7" height="7"/><rect x="14" y="14" width="7" height="7"/><rect x="3" y="14" width="7" height="7"/></svg>Dashboard</a>
        <a href="/my-files.html"><svg viewBox="0 0 24 24"><path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"/></svg>File Manager</a>
        <a href="/account-dashboard.html#inbox"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21.2 8.4c.5.38.8.97.8 1.6v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 .8-1.6l8-6a2 2 0 0 1 2.4 0l8 6z"/><polyline points="3 10 12 16 21 10"/></svg>Inbox</a>
        <button class="dr-login-btn" id="mobileAccountUpgrade" type="button" style="display:none;padding:8px 12px;font-size:.82rem;color:var(--ah)">Try Pro Free</button>
      </div>
    </div>
    <button class="dr-login-btn" type="button" id="mobileLoginBtn">Sign in</button>
    <a href="/" class="btn btn-pri btn-sm" onclick="closeDr();return true" style="display:block;text-align:center;padding:11px;font-size:.9rem;border-radius:var(--r12);margin:6px 0 2px">Upload a file</a>
  </div>
</div>

<main id="main">
<!-- -- HERO ---------------------------------------------------------- -->
<section class="hero wrap">
  <h1 class="hero-h1">Private. <em>Unlimited.</em> Instant.</h1>
  <p class="hero-sub">Encrypted in your browser before upload.<br><span style="white-space:nowrap">No account needed.</span></p>

  <!-- MODE BAR -->
  <div class="mode-bar">
    <button class="mode-btn active" id="modeUpload" type="button">
      <svg viewBox="0 0 24 24"><polyline points="16 16 12 12 8 16"/><line x1="12" y1="12" x2="12" y2="21"/><path d="M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3"/></svg>
      Encrypted Upload
    </button>
    <button class="mode-btn" id="modeP2P" type="button">
      <svg viewBox="0 0 24 24"><path d="M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"/></svg>
      P2P Direct
    </button>
  </div>

  <!-- -- UPLOAD SECTION --------------------------------------------- -->
  <div class="card-wrap" id="uploadSection">
    <div class="mode-panels" id="modePanels">

    <!-- -- UPLOAD CARD -- -->
    <div id="uploadCard" class="mode-panel is-active">

      <!-- Upload zone -->
      <div class="uz glass" id="uploadBox">
        <div class="uz-glow" id="uzGlow"></div>
        <!-- Hidden inputs required by app.js bail-out check -->
        <input type="file" id="fileInput" multiple style="display:none">
        <input type="file" id="folderInput" webkitdirectory multiple style="display:none">
        <div class="uz-in">
          <div class="uz-ic" id="uzIc">
            <span class="ring ring-1"></span>
            <span class="ring ring-2"></span>
            <span class="ring ring-3"></span>
            <svg viewBox="0 0 24 24"><polyline points="16 16 12 12 8 16"/><line x1="12" y1="12" x2="12" y2="21"/><path d="M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3"/></svg>
          </div>
          <div>
            <p class="uz-title">Drop files to encrypt &amp; share</p>
            <p class="uz-sub">Any format &middot; Instant link &middot; Unlimited downloads</p>
          </div>
          <div class="uz-enc">
            <svg viewBox="0 0 24 24"><rect x="3" y="11" width="18" height="11" rx="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></svg>
            AES-256-GCM &mdash; Encrypted before upload
          </div>
          <!-- Hidden choose-files button (app.js optional guard) -->
          <button id="chooseFilesBtn" type="button" style="display:none" tabindex="-1">Choose Files</button>
        </div>
      </div>

      <!-- -- UPLOAD OPTIONS (shown by app.js after files selected) -- -->
      <div id="uploadOptions" class="glass" style="display:none;margin-top:8px">
        <div class="tabs">
          <button class="tab on" id="tabBasic" type="button">Basic</button>
          <button class="tab"    id="tabAdv" type="button">Advanced</button>
        </div>

        <!-- Basic pane -->
        <div class="pane on" id="pane-basic">
          <div class="opt-grid">
            <div class="opt-cell">
              <div style="display:flex;align-items:center;gap:5px">
                <label for="expirationInput">Expiration (days)</label>
                <span class="opt-tip" role="img" aria-label="How many days until the file link expires. Recipients won't be able to download after this date." data-tip="How many days until the file link expires. Recipients won't be able to download after this date."></span>
              </div>
              <input type="number" id="expirationInput" placeholder="90 (default)" min="1">
            </div>
            <div class="opt-cell">
              <div style="display:flex;align-items:center;gap:5px">
                <label for="maxDownloads">Max Downloads</label>
                <span class="opt-tip" role="img" aria-label="Limit how many times the file can be downloaded. Leave blank for unlimited." data-tip="Limit how many times the file can be downloaded. Leave blank for unlimited."></span>
              </div>
              <input type="number" id="maxDownloads" placeholder="Unlimited" min="1">
            </div>
            <div class="opt-cell">
              <div class="tog-row" style="gap:6px">
                <span id="pwProtectLabel" style="font-size:.82rem;font-weight:600;color:var(--t1);flex-shrink:0;display:flex;align-items:center;gap:4px">Password <span class="opt-tip" role="img" aria-label="Require a password before downloading. The password is never sent to our servers. Decryption happens locally in the recipient's browser." data-tip="Require a password before downloading. The password is never sent to our servers &mdash; decryption happens locally in the recipient's browser."></span></span>
                <div id="zkePasswordGroup" style="display:none;flex:1;min-width:0;align-items:center;gap:5px">
                  <div class="pw-input-wrap zke-password-wrap" style="flex:1;min-width:0">
                    <input type="password" id="zkePassword" placeholder="Enter password" autocomplete="new-password" data-lpignore="true" data-1p-ignore="true" data-form-type="other">
                    <button type="button" id="toggleZkePasswordVisibility" class="pw-in-btn pw-in-eye" title="Show password" aria-label="Show password">
                      <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></svg>
                    </button>
                    <button type="button" id="copyZkePasswordBtn" class="pw-in-btn pw-in-copy" title="Copy password" aria-label="Copy password">
                      <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg>
                    </button>
                  </div>
                  <button class="pw-gen" id="generateZkePassword" type="button" style="padding:4px 8px;font-size:.72rem">Gen</button>
                </div>
                <label class="sw" style="flex-shrink:0;position:relative"><input type="checkbox" id="zeroKnowledgeEnabled"><span class="sw-t"></span><span class="sw-k"></span></label>
              </div>
            </div>
            <div class="opt-cell">
              <div class="tog-row" style="gap:6px">
                <span id="customPageLabel" style="font-size:.78rem;font-weight:600;color:var(--t1);flex-shrink:0;display:flex;align-items:center;gap:4px">Custom page <span class="opt-tip" role="img" aria-label="Design a branded download page with custom colors, header, preview layout, and more." data-tip="Design a branded download page with custom colors, header, preview layout, and more."></span></span>
                <span id="customPageStatus" style="font-size:.7rem;color:var(--t2);flex:1;text-align:right;display:none">Configured</span>
                <button id="customPageEditBtn" type="button" style="display:none;padding:3px 8px;font-size:.7rem;border-radius:var(--r8);border:1px solid var(--bdr);background:rgba(255,255,255,.06);color:var(--t2);cursor:pointer;flex-shrink:0">Edit</button>
                <label class="sw" style="flex-shrink:0;position:relative"><input type="checkbox" id="enableCustomPage"><span class="sw-t"></span><span class="sw-k"></span></label>
              </div>
            </div>
            <!-- Chat option (shown when logged in by app.js) -->
            <div id="basicChatItem" style="display:none">
              <div class="opt-cell" style="margin-top:0">
                <div class="tog-row">
                  <label style="display:flex;align-items:center;gap:4px">
                    <svg style="width:12px;height:12px;vertical-align:-1px;stroke:var(--ah);fill:none;stroke-width:2" viewBox="0 0 24 24"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg>
                    Chat
                    <span class="opt-tip" role="img" aria-label="Add an encrypted chat room to the download page so recipients can message you." data-tip="Add an encrypted chat room to the download page so recipients can message you."></span>
                  </label>
                  <label class="sw"><input type="checkbox" id="chatRoomEnabled"><span class="sw-t"></span><span class="sw-k"></span></label>
                </div>
              </div>
            </div>
            <!-- Sell Files / Set Price (shown when logged in by app.js) -->
            <div id="basicPriceItem" style="display:none">
              <div class="opt-cell" style="margin-top:0">
                <div class="tog-row">
                  <label style="flex-shrink:0;white-space:nowrap;display:flex;align-items:center;gap:4px">
                    <svg style="width:12px;height:12px;vertical-align:-1px;stroke:var(--ah);fill:none;stroke-width:2" viewBox="0 0 24 24"><line x1="12" y1="1" x2="12" y2="23"/><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/></svg>
                    Sell
                    <span class="opt-tip" role="img" aria-label="Set a price and sell your file. Buyers pay via Stripe. You keep 91% of every sale." data-tip="Set a price and sell your file. Buyers pay via Stripe. You keep 91% of every sale."></span>
                  </label>
                  <div id="paidAccessPriceInline" style="display:none;flex:1;max-width:140px;margin:0 6px">
                    <input type="number" id="filePrice" min="0" step="0.01" placeholder="$0.99" style="width:100%;padding:4px 7px;border-radius:var(--r8);border:1px solid var(--bdr);background:rgba(0,0,0,.22);color:var(--t1);font-size:.75rem;font-family:inherit;text-align:center">
                  </div>
                  <label class="sw"><input type="checkbox" id="enablePaidAccess"><span class="sw-t"></span><span class="sw-k"></span></label>
                </div>
                <!-- Sell description: appears when sell is enabled -->
                <div id="sellDescRow" style="display:none;padding:5px 0 2px">
                  <textarea id="sellDescription" class="sell-desc-textarea" placeholder="Describe what buyers get (e.g. what's in the file, how it's useful). Optional." maxlength="500" rows="2"></textarea>
                  <div style="text-align:right;font-size:0.65rem;color:var(--t2);margin-top:2px"><span id="sellDescCount">0</span>/500</div>
                </div>
              </div>
            </div>
            <!-- Login hint (shown by app.js for logged-out users) -->
            <div id="uploadLoginHint" style="display:none;grid-column:span 2">
              <div class="tog-row" style="padding:8px 0">
                <span style="font-size:.8rem;color:var(--t2)">
                  <a href="/account-dashboard.html" style="color:var(--ah);font-weight:600">Sign in</a> to unlock chat, custom pages &amp; more
                </span>
              </div>
            </div>
          </div>
          <div class="act-row">
            <button class="btn-chg" id="changeFilesBtn2" type="button">Change files</button>
            <button class="btn btn-pri" id="uploadBtn" type="button">
              <svg style="width:14px;height:14px;stroke:#fff;fill:none;stroke-width:2" viewBox="0 0 24 24"><polyline points="16 16 12 12 8 16"/><line x1="12" y1="12" x2="12" y2="21"/><path d="M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3"/></svg>
              Encrypt &amp; Upload
            </button>
          </div>
        </div>

        <!-- Advanced pane -->
        <div class="pane" id="pane-adv">
          <div style="display:flex;gap:8px;flex-wrap:wrap">
            <div style="flex:1;min-width:280px">
              <div class="adv-row" data-pro="link">
                <svg viewBox="0 0 24 24"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg>
                <span>Custom Link Slug</span><span class="pro-tag">CREATOR</span>
              </div>
              <!-- Custom link expansion panel  ->  shown/hidden by handleProFeatureClick -->
              <div id="customLinkGroup" style="display:none;margin:-2px 0 6px 0;padding:8px 12px 10px;background:var(--bg-secondary,rgba(255,255,255,.05));border-radius:0 0 var(--r8,8px) var(--r8,8px);border:1px solid var(--bdr,rgba(255,255,255,.12));border-top:none">
                <div style="font-size:.74rem;color:var(--t2,rgba(255,255,255,.55));margin-bottom:7px">Set a readable slug, e.g. <code style="font-size:.73rem">my-album</code></div>
                <input type="text" id="customLink" placeholder="e.g. my-album" autocomplete="off" maxlength="60" style="width:100%;box-sizing:border-box;padding:5px 9px;border-radius:var(--r8,8px);border:1px solid var(--bdr,rgba(255,255,255,.14));background:var(--bg-primary,rgba(0,0,0,.3));color:var(--t1,#fff);font-size:.8rem;font-family:inherit">
                <div style="margin-top:4px;font-size:.71rem;color:var(--t2,rgba(255,255,255,.45))">Letters, numbers, hyphens. Availability checked on upload.</div>
              </div>
            </div>

            <div style="flex:1;min-width:280px">
              <div class="adv-row" data-pro="schedule">
                <svg viewBox="0 0 24 24"><rect x="3" y="4" width="18" height="18" rx="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/></svg>
                <span>Schedule / Reminder</span><span class="pro-tag">PRO</span>
              </div>
              <!-- Schedule / Reminder expansion panel  ->  shown/hidden by handleProFeatureClick -->
              <div id="scheduleGroup" style="display:none;margin:-2px 0 6px 0;padding:8px 12px 10px;background:var(--bg-secondary,rgba(255,255,255,.05));border-radius:0 0 var(--r8,8px) var(--r8,8px);border:1px solid var(--bdr,rgba(255,255,255,.12));border-top:none">
                <div style="font-size:.74rem;color:var(--t2,rgba(255,255,255,.55));margin-bottom:8px">Delay availability and get an email reminder before expiry. Require an expiration date to use reminders.</div>
                <div style="margin-bottom:8px">
                  <label for="availableAtInput" style="font-size:.75rem;color:var(--t2,rgba(255,255,255,.55));display:block;margin-bottom:3px">Available from (optional)</label>
                  <input type="datetime-local" id="availableAtInput" style="width:100%;box-sizing:border-box;padding:5px 9px;border-radius:var(--r8,8px);border:1px solid var(--bdr,rgba(255,255,255,.14));background:var(--bg-primary,rgba(0,0,0,.3));color:var(--t1,#fff);font-size:.8rem;font-family:inherit">
                  <div style="margin-top:3px;font-size:.71rem;color:var(--t2,rgba(255,255,255,.45))">Leave blank to make available immediately after upload.</div>
                </div>
                <div>
                  <label for="remindBeforeSelect" style="font-size:.75rem;color:var(--t2,rgba(255,255,255,.55));display:block;margin-bottom:3px">Expiry reminder</label>
                  <select id="remindBeforeSelect" style="width:100%;box-sizing:border-box;padding:5px 9px;border-radius:var(--r8,8px);border:1px solid var(--bdr,rgba(255,255,255,.14));background:var(--bg-primary,rgba(0,0,0,.3));color:var(--t1,#fff);font-size:.8rem;font-family:inherit">
                    <option value="">No reminder</option>
                    <option value="1">1 hour before expiry</option>
                    <option value="6">6 hours before expiry</option>
                    <option value="12">12 hours before expiry</option>
                    <option value="24">1 day before expiry</option>
                    <option value="48">2 days before expiry</option>
                    <option value="72">3 days before expiry</option>
                    <option value="168">1 week before expiry</option>
                  </select>
                  <div style="margin-top:3px;font-size:.71rem;color:var(--t2,rgba(255,255,255,.45))">Email sent to your account address. Only works when the file has an expiration date set.</div>
                </div>
              </div>
            </div>
          </div>
          <div class="act-row" style="margin-top:11px">
            <button class="btn-chg" type="button">Change files</button>
            <button class="btn btn-pri" id="advUploadBtn" type="button">
              <svg style="width:14px;height:14px;stroke:#fff;fill:none;stroke-width:2" viewBox="0 0 24 24"><polyline points="16 16 12 12 8 16"/><line x1="12" y1="12" x2="12" y2="21"/><path d="M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3"/></svg>
              Encrypt &amp; Upload
            </button>
          </div>
        </div>
      </div>

      <!-- -- UPLOAD RESULT (hidden, shown by app.js after upload) -- -->
      <div id="uploadResult" class="upload-result" style="display:none;margin-top:8px">
        <div class="res-head">
          <div class="res-chk">
            <svg id="uploadSuccessCheckmark" viewBox="0 0 24 24" style="width:48px;height:48px"><circle cx="12" cy="12" r="10" stroke="#22c55e" stroke-width="2" fill="none" opacity="0.25"/><polyline points="8 12 11 15 16 9" stroke="#22c55e" stroke-width="2.5" fill="none" stroke-linecap="round" stroke-linejoin="round" class="chk-stroke"/></svg>
          </div>
          <div style="text-align:center;flex:1">
            <div class="res-title">Your files are ready</div>
            <div class="res-meta" id="uploadSummaryText"></div>
          </div>
        </div>
        <!-- Link bar -->
        <div class="link-bar">
          <input type="text" readonly id="downloadLink" placeholder="Generating secure link...">
          <button id="copyBtn" type="button">Copy link</button>
        </div>
        <!-- ZKE password + share row (desktop: inline, mobile: stacked) -->
        <div class="share-pw-combined">
        <!-- ZKE password result row -->
        <div id="zkePasswordContainerResult" style="display:none">
          <div class="pw-res">
            <span>Password:</span>
            <input type="password" id="zkePasswordResult" readonly>
            <button class="ibtn" id="togglePasswordBtnResult" type="button" title="Toggle visibility">
              <svg viewBox="0 0 24 24"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></svg>
            </button>
            <button class="ibtn" id="copyZkePasswordBtnResult" type="button" title="Copy password">
              <svg viewBox="0 0 24 24"><rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg>
            </button>
          </div>
        </div>
        <!-- Share row -->
        <div class="share-row">
          <span class="share-lbl">Share:</span>
          <button class="ibtn" id="qrBtn" type="button" title="Show QR Code">
            <svg viewBox="0 0 24 24"><rect x="3" y="3" width="7" height="7" rx="1"/><rect x="14" y="3" width="7" height="7" rx="1"/><rect x="3" y="14" width="7" height="7" rx="1"/><rect x="14" y="14" width="3" height="3"/><rect x="18" y="14" width="3" height="3"/><rect x="14" y="18" width="3" height="3"/><rect x="18" y="18" width="3" height="3"/></svg>
          </button>
          <button class="ibtn" type="button" title="Share on X" data-share="twitter">
            <svg viewBox="0 0 24 24" fill="currentColor" stroke="none"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.747l7.732-8.845L1.254 2.25H8.08l4.26 5.633zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>
          </button>
          <button class="ibtn" type="button" title="Share on WhatsApp" data-share="whatsapp">
            <svg viewBox="0 0 24 24" fill="currentColor" stroke="none"><path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 0 1-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 0 1-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 0 1 2.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0 0 12.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 0 0 5.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 0 0-3.48-8.413z"/></svg>
          </button>
          <button class="ibtn" type="button" title="Share via Email" data-share="email">
            <svg viewBox="0 0 24 24"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"/><polyline points="22,6 12,13 2,6"/></svg>
          </button>
          <button class="ibtn" id="embedBtn" type="button" title="Get embed code">
            <svg viewBox="0 0 24 24"><polyline points="16 18 22 12 16 6"/><polyline points="8 6 2 12 8 18"/></svg>
          </button>
          <span class="share-sep"></span>
          <button class="ibtn ibtn-del" id="deleteFileBtn" type="button" title="Delete file">
            <svg viewBox="0 0 24 24"><polyline points="3 6 5 6 21 6"/><path d="M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6"/><path d="M10 11v6"/><path d="M14 11v6"/></svg>
          </button>
          <button class="ibtn" id="uploadAnotherBtn" type="button" title="Upload another file">
            <svg viewBox="0 0 24 24"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg>
          </button>
        </div>
        </div><!-- /.share-pw-combined -->
        <!-- Stacked results container (multiple files) -->
        <div id="uploadResultsContainer" style="display:none;margin-top:10px">
          <div id="uploadResultsVisible" style="display:flex;flex-direction:column;gap:8px"></div>
          <div id="uploadResultsOverflow" style="display:none;max-height:400px;overflow-y:auto;margin-top:8px"></div>
        </div>
        <!-- Post-upload login hint -->
        <div id="postUploadLoginHint" style="display:none">
          <div class="res-foot" style="margin-top:10px">
            <span><a href="/account-dashboard.html" style="color:var(--ah);font-weight:600">Sign in</a> to manage, edit &amp; track your files</span>
          </div>
        </div>
        <div class="res-foot">
          <span>Want unlimited expiry + custom links?</span>
          <a href="/pricing" id="resUpgradeBtn" onclick="event.preventDefault();if(window.fsToolQuota&&typeof window.fsToolQuota.startProUpgrade==='function'){window.fsToolQuota.startProUpgrade('home-result');}else if(typeof window.upgradeToPremium==='function'){window.upgradeToPremium('pro','home-result');}else{window.location.href='/pricing';}return false;" class="btn btn-acc btn-sm">Upgrade to Pro &rarr;</a>
        </div>
      </div>

      <!-- -- UPLOAD PROGRESS (below result modal during partial uploads) -- -->
      <div id="uploadProgress" class="glass upload-progress-panel" style="display:none;margin-top:12px;border-radius:var(--r24)">
        <div class="upload-progress-inner">
          <div class="upload-progress-ring">
            <svg viewBox="0 0 36 36" style="transform:rotate(-90deg)">
              <circle cx="18" cy="18" r="15.915" pathLength="100" fill="none" stroke="rgba(255,255,255,.1)" stroke-width="2.5"></circle>
              <circle id="uploadRingValue" cx="18" cy="18" r="15.915" pathLength="100" fill="none"
                stroke="var(--ah)" stroke-width="2.5" stroke-linecap="round"
                style="stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .3s"></circle>
            </svg>
            <div class="upload-progress-ring-pct">
              <span id="uploadPercent">0%</span>
            </div>
          </div>
          <div class="upload-progress-content">
            <div id="progressText" class="upload-progress-title">Encrypting &amp; uploading...</div>
            <div class="upload-progress-foot">
              <div class="upload-progress-stats">
                <span>Queue: <span id="uploadQueueMeta">&ndash;</span></span>
                <span>&middot;</span>
                <span>Speed: <span id="uploadAvgSpeed">&ndash;</span></span>
                <span>&middot;</span>
                <span>ETA: <span id="uploadRemaining">&ndash;</span></span>
              </div>
              <div class="upload-progress-track-wrap">
                <div class="progress-bar upload-progress-track">
                  <div id="progressFill" class="progress-fill"></div>
                </div>
              </div>
              <div class="upload-progress-actions">
                <button class="btn-chg" id="uploadCancelBtn" type="button">Cancel</button>
                <button class="btn-progress-action" id="uploadViewLinkBtn" type="button" style="display:none">View file</button>
                <button class="btn-progress-action" id="uploadCopyPasswordBtn" type="button" style="display:none">Copy password</button>
              </div>
            </div>
          </div>
        </div>
      </div>

      <!-- Selected files panel (shown by app.js after file selection) -->
      <div id="selectedFilesPanel" style="display:none;border-radius:var(--r16);background:rgba(250,56,0,.06);border:1px solid rgba(250,56,0,.16)">
        <div class="fs-sf-hd" style="display:flex;align-items:center;justify-content:space-between">
          <span id="selectedFilesTitle" style="font-size:.85rem;font-weight:700;color:var(--t1)">Files selected</span>
          <button id="changeFilesBtn" type="button" class="btn-chg">Change</button>
        </div>
        <div id="selectedFilesList" style="display:flex;flex-direction:column;gap:4px"></div>
      </div>

      <!-- Embed modal (hidden, used by app.js #embedBtn handler) -->
      <div id="embedModal" style="display:none;margin-top:8px;padding:12px 16px;border-radius:var(--r12);background:rgba(255,255,255,.03);border:1px solid var(--bdr)">
        <p style="font-size:.8rem;color:var(--t2);margin-bottom:6px">Embed code:</p>
        <textarea id="embedCode" rows="3" readonly style="width:100%;padding:6px 9px;border-radius:var(--r8);border:1px solid var(--bdr);background:rgba(0,0,0,.22);color:var(--t1);font-family:var(--mono);font-size:.75rem;resize:none"></textarea>
        <button id="copyEmbedBtn" type="button" class="btn-chg" style="margin-top:5px;padding:4px 10px;font-size:.75rem;height:auto;min-height:auto;line-height:1.2">Copy embed</button>
      </div>
    </div><!-- /uploadCard -->

    <!-- -- P2P CARD -- -->
    <div id="p2pCard" class="glass mode-panel">
      <div class="p2p-head" style="justify-content:flex-end;">
        <div style="flex:1">
        </div>
      </div>
      <div class="p2p-status-row">
        <span class="p2p-dot" id="p2pDot"></span>
        <span id="p2pStatus">Status: idle</span>
      </div>
      <div class="p2p-drop" id="p2pDrop">
        <div class="p2p-drop-glow" id="p2pDropGlow"></div>
        <div class="p2p-drop-in">
          <div class="p2p-drop-ic">
            <span class="ring ring-1"></span>
            <span class="ring ring-2"></span>
            <span class="ring ring-3"></span>
            <svg viewBox="0 0 24 24"><path d="M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"/><line x1="12" y1="5" x2="12" y2="19"/><polyline points="8 9 12 5 16 9"/></svg>
          </div>
          <div>
            <p class="p2p-drop-title">Drop files to send peer-to-peer</p>
            <p class="p2p-drop-sub">Transfer starts the moment peer connects</p>
          </div>
          <input type="file" id="p2pFileInput" style="display:none" multiple>
          <button class="btn btn-pri btn-sm" id="p2pChooseBtn" type="button">Choose File</button>
        </div>
      </div>
      <div style="margin-top:6px;margin-bottom:12px">
        <div style="height:5px;background:rgba(255,255,255,.07);border-radius:9999px;overflow:hidden"><div id="p2pProgressFill" style="width:0%;height:100%;background:var(--grad);transition:width .3s;border-radius:inherit"></div></div>
        <div id="p2pTransferText" style="font-size:.75rem;color:var(--t2);margin-top:4px">No transfer yet.</div>
        <div id="p2pDownloadArea" style="margin-top:8px;display:none"></div>
      </div>
      <div class="p2p-link-row">
        <input type="text" readonly id="p2pShareLink" value="Generating link...">
        <button id="copyP2pLinkBtn" type="button">Copy link</button>
      </div>
      <div style="display:flex;gap:6px;margin-bottom:14px">
        <button id="p2pReconnectBtn" type="button" style="display:none;padding:6px 12px;font-size:.78rem;background:rgba(255,255,255,.05);border:1px solid var(--bdr);border-radius:var(--r8);color:var(--t2);cursor:pointer">Reconnect</button>
        <button id="p2pNewLinkBtn" type="button" style="display:none;padding:6px 12px;font-size:.78rem;background:rgba(255,255,255,.05);border:1px solid var(--bdr);border-radius:var(--r8);color:var(--t2);cursor:pointer">New link</button>
      </div>
      <div style="border-top:1px solid rgba(255,255,255,.06);padding-top:10px;margin-top:2px">
        <div id="p2pChatMessages" style="min-height:50px;max-height:130px;overflow-y:auto;margin-bottom:8px;font-size:.78rem;color:var(--t2)"></div>
        <div style="display:flex;gap:6px">
          <input id="p2pChatInput" type="text" placeholder="Type a message..." autocomplete="off" style="flex:1;padding:7px 10px;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.08);border-radius:var(--r8);color:var(--t1);font-family:inherit;font-size:.82rem">
          <button id="p2pChatSendBtn" type="button" style="padding:7px 12px;background:rgba(255,255,255,.05);border:1px solid var(--bdr);border-radius:var(--r8);color:var(--t2);cursor:pointer;font-family:inherit;font-size:.82rem">Send</button>
        </div>
        <div id="p2pChatHint" style="font-size: 0.75rem;color:var(--t3);margin-top:4px">Chat connects when the peer connects.</div>
      </div>
      <div id="p2pFallback" style="display:none;margin-top:10px;padding:10px 14px;border:1px dashed rgba(255,255,255,.12);border-radius:var(--r12)">
        <div style="font-size:.8rem;font-weight:700;color:var(--t2);margin-bottom:4px">Having trouble connecting?</div>
        <div id="p2pFallbackText" style="font-size:.77rem;color:var(--t3);line-height:1.5">If WebRTC or signaling is blocked on this network, try Reconnect or use file upload instead.</div>
        <div id="p2pFallbackDiag" style="font-size: 0.75rem;color:var(--t3);margin-top:4px;display:none"></div>
      </div>
      <p style="font-size: 0.75rem;color:var(--t2);line-height:1.55;padding:10px 0 0">
        Share the link with the recipient. When they open it, the transfer starts automatically. Both devices must be online simultaneously.
      </p>
    </div>

    </div><!-- /modePanels -->
  </div><!-- /uploadSection -->

  <!-- Trustpilot widget -->
  <div class="rv" style="margin-top:18px;margin-bottom:4px">
    <div class="tp-widget glass">
      <div class="tp-stars">
        <svg class="tp-star" viewBox="0 0 24 24"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></svg>
        <svg class="tp-star" viewBox="0 0 24 24"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></svg>
        <svg class="tp-star" viewBox="0 0 24 24"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></svg>
        <svg class="tp-star" viewBox="0 0 24 24"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></svg>
        <svg class="tp-star" viewBox="0 0 24 24"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></svg>
      </div>
      <span class="tp-label">5.0</span>
      <span class="tp-count">on</span>
      <span class="tp-tp">&#9733; Trustpilot</span>
    </div>
  </div>

  <div class="hero-eye pill" style="margin-top:14px"><span class="hero-dot"></span> Zero-knowledge &middot; Unlimited &middot; Free</div>

  <!-- Trust pills -->
  <div class="trust-row rv d3">
    <a href="/security" class="tpill"><svg viewBox="0 0 24 24"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>Zero-knowledge</a>
    <span class="tpill"><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg>No account required</span>
    <span class="tpill"><svg viewBox="0 0 24 24"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/><polyline points="9 12 11 14 15 10"/></svg>Unlimited Downloads</span>
    <span class="tpill"><svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>P2P live</span>
  </div>

</section>

<div class="divider wrap"></div>

<!-- -- FEATURES ------------------------------------------------------ -->
<section class="sec wrap" style="padding-top:28px">
  <!-- Security badges -->
  <div class="sec-badges-wrap rv d4" style="padding-bottom:28px">
    <p class="sec-badges-label">Verified by</p>
    <div class="sec-badges">
      <a href="https://developer.mozilla.org/en-US/observatory/analyze?host=fileshot.io" class="sec-badge" target="_blank" rel="noopener">
        <img src="/img/badges/mozilla.svg" alt="Mozilla" class="sec-badge-logo" width="96" height="22" loading="lazy">
        <span class="sec-badge-grade">A+</span>
        <div class="sec-badge-info"><span class="sec-badge-name">Observatory</span><span class="sec-badge-score">Mozilla &middot; 115/100</span></div>
      </a>
      <a href="https://securityheaders.com/?q=fileshot.io&amp;followRedirects=on" class="sec-badge" target="_blank" rel="noopener">
        <img src="/img/badges/snyk.svg" alt="Snyk" class="sec-badge-logo snyk" width="28" height="28" loading="lazy">
        <span class="sec-badge-grade">A+</span>
        <div class="sec-badge-info"><span class="sec-badge-name">SecurityHeaders</span><span class="sec-badge-score">Snyk &middot; 6/6</span></div>
      </a>
      <a href="https://www.ssllabs.com/ssltest/analyze.html?d=fileshot.io" class="sec-badge" target="_blank" rel="noopener">
        <img src="/img/badges/qualys.svg" alt="Qualys" class="sec-badge-logo qualys" width="26" height="26" loading="lazy">
        <span class="sec-badge-grade">A+</span>
        <div class="sec-badge-info"><span class="sec-badge-name">SSL Labs</span><span class="sec-badge-score">Qualys &middot; TLS 1.3</span></div>
      </a>
      <a href="https://transparencyreport.google.com/safe-browsing/search?url=fileshot.io" class="sec-badge" target="_blank" rel="noopener">
        <img src="/img/badges/google.svg" alt="Google" class="sec-badge-logo google" width="74" height="16" loading="lazy">
        <span class="sec-badge-safe">Safe</span>
        <div class="sec-badge-info"><span class="sec-badge-name">Safe Browsing</span><span class="sec-badge-score">Google &middot; 0 threats</span></div>
      </a>
      <a href="https://www.virustotal.com/gui/url/6c8f151a71dadcd5a24e824bf1921fdf64f93a73862dd098b8b53f52b51204ce" class="sec-badge" target="_blank" rel="noopener">
        <img src="/img/badges/virustotal.svg" alt="VirusTotal" class="sec-badge-logo vt" width="90" height="16" loading="lazy">
        <span class="sec-badge-clean">0/95</span>
        <div class="sec-badge-info"><span class="sec-badge-name">VirusTotal</span><span class="sec-badge-score">All vendors clean</span></div>
      </a>
      <a href="https://www.immuniweb.com/ssl/fileshot.io/VapMc5S2/" class="sec-badge" target="_blank" rel="noopener">
        <img src="/img/badges/immuniweb.svg" alt="ImmuniWeb" class="sec-badge-logo immuniweb" width="80" height="20" loading="lazy">
        <span class="sec-badge-grade">A+</span>
        <div class="sec-badge-info"><span class="sec-badge-name">SSL Security</span><span class="sec-badge-score">Post-Quantum ready</span></div>
      </a>
      <a href="/security" class="sec-badge">
        <svg class="sec-badge-logo" viewBox="0 0 24 24" width="22" height="22" fill="none" stroke="#f7963a" stroke-width="1.8"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/><rect x="10" y="10" width="4" height="5" rx="1"/><path d="M14 10V8a2 2 0 10-4 0v2"/></svg>
        <span class="sec-badge-grade" style="color:var(--t1)">E2E</span>
        <div class="sec-badge-info"><span class="sec-badge-name">Zero Knowledge</span><span class="sec-badge-score">AES-256-GCM &middot; Client-side</span></div>
      </a>
      <a href="https://internet.nl/site/fileshot.io/3884647/" class="sec-badge" target="_blank" rel="noopener">
        <img src="/img/badges/internetnl.svg" alt="Internet.nl" class="sec-badge-logo internetnl" width="100" height="18" loading="lazy">
        <span class="sec-badge-grade">98%</span>
        <div class="sec-badge-info"><span class="sec-badge-name">Internet.nl</span><span class="sec-badge-score">IPv6 &middot; DNSSEC &middot; RPKI</span></div>
      </a>
      <a href="https://www.cloudflare.com/" class="sec-badge" target="_blank" rel="noopener">
        <img src="/img/badges/cloudflare.svg" alt="Cloudflare" class="sec-badge-logo cloudflare" width="100" height="18" loading="lazy">
        <span class="sec-badge-safe">Protected</span>
        <div class="sec-badge-info"><span class="sec-badge-name">Cloudflare</span><span class="sec-badge-score">CDN &middot; WAF &middot; DDoS</span></div>
      </a>
    </div>
  </div>
  <div class="divider wrap" style="margin-bottom:28px"></div>
  <div class="rv" style="margin-bottom:48px;text-align:center">
    <div class="pill">Why FileShot</div>
    <h2 class="sec-h2" style="max-width:520px;margin-inline:auto">Privacy isn&rsquo;t a feature. It&rsquo;s the foundation.</h2>
    <p class="sec-p" style="max-width:440px;margin-inline:auto">Every decision starts with: can the server read this? Personal information, large file transfers, sensitive documents &mdash; the answer is always no.</p>
  </div>
  
  <!-- Mobile tabs: shown via CSS only on =600px -->
  <div class="ftabs-wrap rv d1">
    <div class="ftabs">
      <button class="ftab active" type="button">Privacy &amp; Security</button>
      <button class="ftab" type="button">More Features</button>
    </div>
  </div>
  <!-- Desktop grid (hidden on mobile) -->
  <div class="feat-grid feat-grid-full rv d1">
    <div class="fc glass rv">
      <div class="fc-icon"><span class="fc-icon-static" data-lottie="https://assets-v2.lottiefiles.com/a/676f02b0-1189-11ee-9780-23510fa549e4/RNBvkrC0Mk.lottie" aria-hidden="true"></span></div>
      <h3 class="fc-h3">AES-256-GCM Encryption</h3>
      <p class="fc-p">Encryption runs entirely in your browser via WebCrypto. The server only ever receives ciphertext it cannot open.</p>
      <span class="fc-badge">Zero-knowledge</span>
    </div>
    <div class="fc glass rv d1">
      <div class="fc-icon"><span class="fc-icon-static" data-lottie="https://assets-v2.lottiefiles.com/a/da8d9286-116e-11ee-aeac-07c47fa5efd8/wB5QNMxWkX.lottie" aria-hidden="true"></span></div>
      <h3 class="fc-h3">Key in URL Fragment</h3>
      <p class="fc-p">Decryption keys live only in the <code style="background:rgba(255,255,255,.07);padding:0 4px;border-radius:3px;font-size:.85em">#fragment</code> &mdash; browsers never transmit it to the server. Invisible by design.</p>
    </div>
    <div class="fc glass rv d2">
      <div class="fc-icon"><span class="fc-icon-static" data-lottie="https://assets-v2.lottiefiles.com/a/e2478cc0-8553-11ef-8820-cb4fb3b202f4/9F4Lmh815R.lottie" aria-hidden="true"></span></div>
      <h3 class="fc-h3">Streaming Encryption</h3>
      <p class="fc-p">Files never fully load into memory. FSZK streaming processes in 512&thinsp;KB chunks &mdash; flat RAM use, any file size.</p>
    </div>
    <div class="fc glass rv">
      <div class="fc-icon"><span class="fc-icon-static" data-lottie="https://assets-v2.lottiefiles.com/a/cd7966e4-0509-11ef-af83-1f0d763a25e5/PnSqy1Jbmp.lottie" aria-hidden="true"></span></div>
      <h3 class="fc-h3">Expiry &amp; Burn-After-Read</h3>
      <p class="fc-p">Time limits, download count limits, or single-view burn. Files are cryptographically deleted when limits hit.</p>
    </div>
    <div class="fc glass rv d1">
      <div class="fc-icon"><span class="fc-icon-static" data-lottie="https://assets-v2.lottiefiles.com/a/afd03784-7658-11ee-86e3-c383368b9546/xzOHSCMc6i.lottie" aria-hidden="true"></span></div>
      <h3 class="fc-h3">P2P Mode (WebRTC)</h3>
      <p class="fc-p">Send directly device-to-device &mdash; nothing stored on our servers. Best for when both parties are online simultaneously.</p>
    </div>
    <div class="fc glass rv d2">
      <div class="fc-icon"><span class="fc-icon-static" data-lottie="https://assets-v2.lottiefiles.com/a/a493ffd6-1163-11ee-867d-e7ca3070385d/6eTX0WzMEf.lottie" aria-hidden="true"></span></div>
      <h3 class="fc-h3">Archive Builder</h3>
      <p class="fc-p">Bundle any number of files into one encrypted link &mdash; all client-side. No zip required. One link, one decrypt.</p>
    </div>
  </div>
  <!-- Mobile tab panels -->
  <div class="feat-tab-panel active" id="ftabPanel0">
    <div class="fc glass">
      <div class="fc-icon"><span class="fc-icon-static" data-lottie="https://assets-v2.lottiefiles.com/a/676f02b0-1189-11ee-9780-23510fa549e4/RNBvkrC0Mk.lottie" aria-hidden="true"></span></div>
      <h3 class="fc-h3">AES-256-GCM Encryption</h3>
      <p class="fc-p">Encryption runs entirely in your browser via WebCrypto. The server only ever receives ciphertext it cannot open.</p>
      <span class="fc-badge">Zero-knowledge</span>
    </div>
    <div class="fc glass">
      <div class="fc-icon"><span class="fc-icon-static" data-lottie="https://assets-v2.lottiefiles.com/a/da8d9286-116e-11ee-aeac-07c47fa5efd8/wB5QNMxWkX.lottie" aria-hidden="true"></span></div>
      <h3 class="fc-h3">Key in URL Fragment</h3>
      <p class="fc-p">Decryption keys live only in the <code style="background:rgba(255,255,255,.07);padding:0 4px;border-radius:3px;font-size:.85em">#fragment</code> &mdash; browsers never transmit it to the server.</p>
    </div>
    <div class="fc glass">
      <div class="fc-icon"><span class="fc-icon-static" data-lottie="https://assets-v2.lottiefiles.com/a/e2478cc0-8553-11ef-8820-cb4fb3b202f4/9F4Lmh815R.lottie" aria-hidden="true"></span></div>
      <h3 class="fc-h3">Streaming Encryption</h3>
      <p class="fc-p">Files never fully load into memory. FSZK streaming processes in 512&thinsp;KB chunks &mdash; flat RAM use, any file size.</p>
    </div>
  </div>
  <div class="feat-tab-panel" id="ftabPanel1">
    <div class="fc glass">
      <div class="fc-icon"><span class="fc-icon-static" data-lottie="https://assets-v2.lottiefiles.com/a/cd7966e4-0509-11ef-af83-1f0d763a25e5/PnSqy1Jbmp.lottie" aria-hidden="true"></span></div>
      <h3 class="fc-h3">Expiry &amp; Burn-After-Read</h3>
      <p class="fc-p">Time limits, download count limits, or single-view burn. Files are cryptographically deleted when limits hit.</p>
    </div>
    <div class="fc glass">
      <div class="fc-icon"><span class="fc-icon-static" data-lottie="https://assets-v2.lottiefiles.com/a/afd03784-7658-11ee-86e3-c383368b9546/xzOHSCMc6i.lottie" aria-hidden="true"></span></div>
      <h3 class="fc-h3">P2P Mode (WebRTC)</h3>
      <p class="fc-p">Send directly device-to-device &mdash; nothing stored on our servers. Best for when both parties are online simultaneously.</p>
    </div>
    <div class="fc glass">
      <div class="fc-icon"><span class="fc-icon-static" data-lottie="https://assets-v2.lottiefiles.com/a/a493ffd6-1163-11ee-867d-e7ca3070385d/6eTX0WzMEf.lottie" aria-hidden="true"></span></div>
      <h3 class="fc-h3">Archive Builder</h3>
      <p class="fc-p">Bundle any number of files into one encrypted link &mdash; all client-side. No zip required. One link, one decrypt.</p>
    </div>
  </div>
</section>

<div class="wrap"><div class="divider"></div></div>

<!-- -- RECEIVE INBOX FEATURE --------------------------------------------- -->
<section class="sec wrap" id="receiveInboxSection">
  <div style="text-align:center;margin-bottom:2rem">
    <div class="pill rv" style="display:inline-flex;margin-bottom:14px">New</div>
    <h2 class="sec-h2 rv d1" style="text-align:center;margin-top:14px">Your own permanent inbox</h2>
    <p class="sec-p rv d2" style="text-align:center;max-width:520px;margin-inline:auto">Get a personal link like <strong>yourname.fileshot.io</strong>. Anyone can send you files &mdash; no account required on their end.</p>
  </div>
  <div class="feat-grid">
    <div class="fc glass rv d1" style="text-align:center;">
      <div class="fc-icon"><span class="fc-icon-static" data-lottie="https://assets-v2.lottiefiles.com/a/6ac0c17e-1152-11ee-a821-83824ddc0ded/xgwoCRLud8.lottie" aria-hidden="true"></span></div>
      <h3 class="fc-h3">Create your inbox</h3>
      <p class="fc-p">Pick a name and get your permanent link. Add it to your email signature, bio, or portfolio.</p>
    </div>
    <div class="fc glass rv d2" style="text-align:center;">
      <div class="fc-icon"><span class="fc-icon-static" data-lottie="https://assets-v2.lottiefiles.com/a/750ed6f6-117b-11ee-97d8-73d47909a467/HCNDgDOvY4.lottie" aria-hidden="true"></span></div>
      <h3 class="fc-h3">Share the link</h3>
      <p class="fc-p">Senders visit your link, drop a file, and it lands straight in your dashboard. No signup needed.</p>
    </div>
    <div class="fc glass rv d3" style="text-align:center;">
      <div class="fc-icon"><span class="fc-icon-static" data-lottie="https://assets-v2.lottiefiles.com/a/eca613de-1151-11ee-ab90-2708ab72937c/i4PSUCo5Of.lottie" aria-hidden="true"></span></div>
      <h3 class="fc-h3">Receive everything</h3>
      <p class="fc-p">Files up to <strong>10 GB</strong> with optional sender name, email, and note. You see it all in your dashboard.</p>
    </div>
  </div>
  <div style="text-align:center;margin-top:2rem;" class="rv d3">
    <a href="/account-dashboard.html#inbox" class="btn btn-pri" style="display:inline-flex;align-items:center;gap:8px;padding:12px 28px;font-size:0.95rem;">
      <svg style="width:18px;height:18px" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21.2 8.4c.5.38.8.97.8 1.6v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 .8-1.6l8-6a2 2 0 0 1 2.4 0l8 6z"/><polyline points="3 10 12 16 21 10"/></svg>
      Create your inbox
    </a>
    <p style="margin-top:0.75rem;color:var(--t2);font-size:0.85rem;">Available on Pro, Creator, and Professional plans</p>
  </div>
</section>

<div class="divider wrap"></div>

<!-- -- DESKTOP APP ------------------------------------------------------ -->
<section class="sec wrap" id="desktopSection">
  

  <div class="desktop-hero">
    <div class="pill rv" style="display:inline-flex;margin-bottom:14px">Desktop</div>
    <h2 class="sec-h2 rv d1" style="text-align:center;margin-top:14px">FileShot on your desktop</h2>
    <p class="sec-p rv d2" style="text-align:center;margin-top:10px">Drag, drop, encrypt, and share from your system tray. Same zero-knowledge security, no browser tab required.</p>
  </div>

  <div class="desktop-shot-wrap rv d2" aria-label="FileShot Desktop screenshot">
    <div class="desktop-shot-inner">
      <div class="desktop-shot-frame">
        <img class="desktop-shot" src="/images/desktop-app-showcase.png" alt="FileShot Desktop — cloud drive with drag-and-drop uploads and file gallery" width="1024" height="682" loading="lazy" decoding="async">
      </div>
    </div>
  </div>

  <div class="desktop-shot-chips rv d3" aria-label="Desktop app highlights">
    <span class="desktop-shot-chip">Drag &amp; drop uploads</span>
    <span class="desktop-shot-chip">Zero-knowledge encryption</span>
    <span class="desktop-shot-chip">Built-in tools &amp; chat</span>
    <span class="desktop-shot-chip">Windows, macOS, Linux</span>
  </div>

  <div class="desktop-cta rv d3">
    <a href="/desktop" class="btn btn-pri btn-lg" style="padding:12px 28px;font-size:0.95rem;">Download for desktop</a>
    <a href="/desktop" class="btn btn-ghost btn-lg" style="padding:12px 28px;font-size:0.95rem;">FileShot Desktop for Windows, Mac, and Linux</a>
  </div>
</section>

<div class="divider wrap"></div>

<!-- -- PRICING ------------------------------------------------------- -->
<section class="sec wrap" id="pricingSection">
  <div style="text-align:center">
    <div class="pill rv" style="display:inline-flex">Pricing</div>
    <h2 class="sec-h2 rv d1" style="text-align:center;margin-top:14px">Start free. <span style="color:var(--ah)">Unlimited.</span> Always.</h2>
    <p class="sec-p rv d2" style="text-align:center;max-width:480px;margin-inline:auto">Every plan includes zero-knowledge encryption. Pro adds unlimited storage, inbox, and custom download pages. Get 50% off your first month with code UNEED50.</p>
  </div>

  <div class="price-grid">
    <div class="rv">
      <div class="pc glass">
        <div class="pc-tier">Free</div>
        <div class="pc-amt"><span class="pc-cur">$</span><span class="pc-num">0</span></div>
        <p class="pc-per">free forever</p>
        <div class="pc-div"></div>
        <ul class="pc-ul">
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><strong>Zero-knowledge encryption</strong></li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><strong>AES-256 at-rest encryption</strong></li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><strong>50 GB total storage</strong></li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg>10 GB per-file limit</li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg>Auto expiry up to 90 days</li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg>Unlimited downloads</li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg>Full tools suite + QR sharing</li>

        </ul>
        <a href="/" class="btn btn-ghost" style="width:100%;text-align:center;padding:10px">Get started</a>
      </div>
    </div>
    <div class="rv d1" style="position:relative">
      <div class="pc pop">
        <div class="pc-pop-chip">Most popular</div>
        <div class="pc-tier">Pro</div>
        <div style="text-align: center;">
          <div class="pc-amt" style="margin: 0; line-height: 1;">
            <span class="pc-cur" style="font-size:1.4rem;vertical-align:top;padding-top:0.4rem">$</span><span class="pc-num">2.50</span><span style="font-size:1.3rem;color:var(--t1);font-weight:700;">/week</span>
          </div>
          <p style="font-size: 0.82rem; color: var(--t2); margin: 4px 0 0 0;">Billed at $10/month</p>
          <p style="font-size: 0.75rem; color: #2ecc71; font-weight: 600; margin: 4px 0 0 0;">50% off first month &mdash; cancel anytime</p>
        </div>
        <div class="pc-div"></div>
        <ul class="pc-ul">
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg>Everything in Free, plus:</li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><strong>Unlimited storage</strong></li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><strong>100 GB per-file limit</strong></li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><strong>Up to 1 year expiry</strong></li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><strong>Receive Inbox</strong> (yourname.fileshot.io)</li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><strong>Custom download pages</strong></li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><strong>Password protection</strong></li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><strong>Verified sender badge</strong></li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg>File versioning</li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg>Download notifications</li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg>Priority processing</li>
        </ul>
        <button class="btn btn-pri" data-tier="pro" style="width:100%;text-align:center;padding:10px">Upgrade to Pro — 50% off first month</button>
      </div>
    </div>
    <div class="rv d2">
      <div class="pc glass">
        <div class="pc-tier">Creator</div>
        <div style="text-align: center;">
          <div class="pc-amt" style="margin: 0; line-height: 1;">
            <span class="pc-cur" style="font-size:1.4rem;vertical-align:top;padding-top:0.4rem">$</span><span class="pc-num">6.00</span><span style="font-size:1.3rem;color:var(--t1);font-weight:700;">/week</span>
          </div>
          <p style="font-size: 0.82rem; color: var(--t2); margin: 4px 0 0 0;">Billed at $24/month</p>
          <p style="font-size: 0.75rem; color: #2ecc71; font-weight: 600; margin: 4px 0 0 0;">50% off first month &mdash; cancel anytime</p>
        </div>
        <div class="pc-div"></div>
        <ul class="pc-ul">
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg>Everything in Pro, plus:</li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><strong>300 GB per-file limit</strong></li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><strong>Unlimited expiry</strong></li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><strong>Portfolio page</strong> (fileshot.io/u/you)</li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><strong>Custom slugs</strong></li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><strong>API access</strong></li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><strong>Webhooks</strong></li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg>Multiple inbox slugs</li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg>Download analytics</li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg>Custom branding</li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg>Paid file access / marketplace</li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg>Priority support</li>
        </ul>
        <button class="btn btn-ghost" data-tier="creator" style="width:100%;text-align:center;padding:10px">Upgrade to Creator — 50% off first month</button>
      </div>
    </div>
    <div class="rv d3">
      <div class="pc glass">
        <div class="pc-pop-chip" style="background:var(--sur2);color:var(--ah);border:1px solid var(--bdr2)">Enterprise</div>
        <div class="pc-tier">Professional</div>
        <div style="text-align: center;">
          <div class="pc-amt" style="margin: 0; line-height: 1;">
            <span class="pc-cur" style="font-size:1.4rem;vertical-align:top;padding-top:0.4rem">$</span><span class="pc-num">9.50</span><span style="font-size:1.3rem;color:var(--t1);font-weight:700;">/week</span>
          </div>
          <p style="font-size: 0.82rem; color: var(--t2); margin: 4px 0 0 0;">Billed at $38/month</p>
          <p style="font-size: 0.75rem; color: #2ecc71; font-weight: 600; margin: 4px 0 0 0;">50% off first month &mdash; cancel anytime</p>
        </div>
        <div class="pc-div"></div>
        <ul class="pc-ul">
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg>Everything in Creator, plus:</li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><strong>HIPAA compliance documentation</strong></li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><strong>BAA included</strong></li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><strong>Audit logging</strong> (6-year retention)</li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><strong>500 GB per-file limit</strong></li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><strong>Compliance support</strong></li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg>Extended file retention controls</li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg>Dedicated account manager</li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg>SOC 2 readiness report</li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg>Custom data residency options</li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg>SLA guarantee (99.9% uptime)</li>
          <li><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg>Priority onboarding</li>
        </ul>
        <button class="btn btn-ghost" data-tier="professional" style="width:100%;text-align:center;padding:10px">Upgrade to Professional — 50% off first month</button>
      </div>
    </div>
  </div>
</section>

<div class="divider wrap"></div>

<!-- -- COMPETITOR COMPARISON ( inlined from _components/comparison-table.html ) -->


<section class="sec wrap" id="compareSection">
  <div style="text-align:center;margin-bottom:2rem">
    <div class="pill rv" style="display:inline-flex">Compare</div>
    <h2 class="sec-h2 rv d1" style="text-align:center;margin-top:14px">Why FileShot wins.</h2>
    <p class="sec-p rv d2" style="text-align:center;max-width:520px;margin-inline:auto">Head-to-head against the closest competitors. Same features you actually care about.</p>
  </div>

  <div class="fs-compare-wrap rv d2">
    <div class="fs-compare-scroll">
      <table class="fs-compare-table glass">
        <thead>
          <tr>
            <th style="min-width:180px">Feature</th>
            <th class="fs-col-us" style="min-width:110px">FileShot<span class="free-tag">Free</span></th>
            <th style="min-width:110px">WeTransfer<span class="free-tag">Free</span></th>
            <th style="min-width:110px">Dropbox Transfer<span class="free-tag">Free</span></th>
            <th style="min-width:110px">MediaFire<span class="free-tag">Free</span></th>
            <th style="min-width:110px">Google Drive<span class="free-tag">Free</span></th>
          </tr>
        </thead>
        <tbody>
          <tr><td class="feature-name">Max file size</td><td class="fs-col-us">10 GB</td><td>2 GB</td><td>2 GB</td><td>10 GB</td><td>5 GB</td></tr>
          <tr><td class="feature-name">Total storage</td><td class="fs-col-us">50 GB</td><td>&mdash;</td><td>&mdash;</td><td>10 GB</td><td>15 GB</td></tr>
          <tr><td class="feature-name">File expiry</td><td class="fs-col-us">90 days</td><td>7 days</td><td>30 days</td><td>Never*</td><td>Never*</td></tr>
          <tr>
            <td class="feature-name">Zero-knowledge encryption</td>
            <td class="fs-col-us yes"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
          </tr>
          <tr>
            <td class="feature-name">No signup required</td>
            <td class="fs-col-us yes"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"/></svg></td>
            <td class="yes"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"/></svg></td>
            <td class="yes"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
          </tr>
          <tr>
            <td class="feature-name">Password protection</td>
            <td class="fs-col-us yes"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"/></svg></td>
            <td class="yes"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
          </tr>
          <tr>
            <td class="feature-name">Unlimited downloads per link</td>
            <td class="fs-col-us yes"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
          </tr>
          <tr>
            <td class="feature-name">P2P direct transfers</td>
            <td class="fs-col-us yes"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
          </tr>
          <tr>
            <td class="feature-name">Receive inbox</td>
            <td class="fs-col-us maybe"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"/></svg><span style="font-size:.7rem;display:block">Pro+</span></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
          </tr>
          <tr>
            <td class="feature-name">Public portfolio</td>
            <td class="fs-col-us maybe"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"/></svg><span style="font-size:.7rem;display:block">Creator+</span></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
          </tr>
          <tr>
            <td class="feature-name">File tools (PDF, convert, etc.)</td>
            <td class="fs-col-us yes"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"/></svg><span style="font-size:.7rem;display:block">7 tools &middot; 3/day</span></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
          </tr>
          <tr>
            <td class="feature-name">Custom slugs</td>
            <td class="fs-col-us maybe"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"/></svg><span style="font-size:.7rem;display:block">Creator+</span></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
          </tr>
          <tr>
            <td class="feature-name">Custom download pages</td>
            <td class="fs-col-us maybe"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"/></svg><span style="font-size:.7rem;display:block">Pro</span></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
          </tr>
          <tr>
            <td class="feature-name">QR code sharing</td>
            <td class="fs-col-us yes"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
          </tr>
          <tr>
            <td class="feature-name">Browser extension</td>
            <td class="fs-col-us yes"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="maybe"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"/></svg><span style="font-size:.7rem;display:block">Add-on</span></td>
          </tr>
          <tr>
            <td class="feature-name">Desktop app</td>
            <td class="fs-col-us yes"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="yes"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="yes"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"/></svg></td>
          </tr>
          <tr>
            <td class="feature-name">Sell files / paid access</td>
            <td class="fs-col-us maybe"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"/></svg><span style="font-size:.7rem;display:block">Pro</span></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
          </tr>
          <tr>
            <td class="feature-name">File marketplace</td>
            <td class="fs-col-us yes"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
          </tr>
          <tr>
            <td class="feature-name">API access</td>
            <td class="fs-col-us maybe"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"/></svg><span style="font-size:.7rem;display:block">Creator+</span></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
          </tr>
          <tr><td class="feature-name">Starting paid price</td><td class="fs-col-us">$10/mo</td><td>$12/mo</td><td>$9.99/mo</td><td>$5.83/mo</td><td>$1.99/mo</td></tr>
          <tr>
            <td class="feature-name">Encrypted chat</td>
            <td class="fs-col-us yes"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
            <td class="no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></td>
          </tr>
        </tbody>
      </table>
    </div>
    <div class="fs-compare-legend">
      <span><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#2ecc71" stroke-width="3"><polyline points="20 6 9 17 4 12"/></svg> Included</span>
      <span><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="var(--t3)" stroke-width="3"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg> Not available</span>
      <span><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#f0ad4e" stroke-width="3"><polyline points="20 6 9 17 4 12"/></svg> Partial / paid only</span>
    </div>
    <p style="text-align:center;font-size:.8rem;color:var(--t3);margin-top:1rem">*MediaFire/Google Drive: no expiry with account. Data accurate as of May 2026.</p>
  </div>
</section>

<div class="divider wrap"></div>

<!-- -- SECURITY PANEL ------------------------------------------------- -->
<section class="sec wrap">
  <div class="sec-panel rv">
    <div>
      <div class="pill">Cryptography</div>
      <h2 class="sec-h2" style="max-width:320px;margin-top:14px">The math doesn&rsquo;t lie.</h2>
      <p class="sec-p" style="max-width:320px;margin-top:10px">Every claim is verifiable. Full implementation documented in the <a href="/whitepaper" style="color:var(--ah);border-bottom:1px solid rgba(250,106,42,.3)">Security Whitepaper</a>.</p>
      <div style="margin-top:22px;margin-bottom:22px"><a href="/security" class="btn btn-acc btn-md">Read the whitepaper &rarr;</a></div>
    </div>
    <div class="spec-tbl">
      <div class="spec-row"><span class="spec-k">Encryption</span><span class="spec-v org">AES-256-GCM</span></div>
      <div class="spec-row"><span class="spec-k">Key derivation</span><span class="spec-v">Argon2id (memory-hard)</span></div>
      <div class="spec-row"><span class="spec-k">KDF parameters</span><span class="spec-v org">64 MB &middot; 2 iterations &middot; p=1</span></div>
      <div class="spec-row"><span class="spec-k">IV / Nonce</span><span class="spec-v">96-bit per chunk</span></div>
      <div class="spec-row"><span class="spec-k">Salt</span><span class="spec-v">32-byte random</span></div>
      <div class="spec-row"><span class="spec-k">Key on server</span><span class="spec-v grn">NEVER</span></div>
      <div class="spec-row"><span class="spec-k">Server decryption</span><span class="spec-v grn">IMPOSSIBLE</span></div>
      <div class="spec-row"><span class="spec-k">Container format</span><span class="spec-v org">FSZK v2 streaming</span></div>
    </div>
  </div>
</section>

<div class="divider wrap"></div>

<!-- -- AFFILIATE PROGRAM ------------------------------------------------- -->
<section class="sec wrap">
  <div class="sec-panel glass" style="position:relative;overflow:hidden;display:flex;flex-wrap:wrap;align-items:center;gap:2rem;padding:2.5rem;">
    <!-- Background accent -->
    <div style="position:absolute;top:-60px;right:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(250,56,0,.12) 0%,transparent 70%);pointer-events:none"></div>
    <div style="position:absolute;bottom:-40px;left:-40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(247,150,58,.08) 0%,transparent 70%);pointer-events:none"></div>
    <div style="flex:1;min-width:260px;position:relative;z-index:1">
      <div style="display:flex;align-items:center;gap:8px;margin-bottom:0.75rem;">
        <div style="width:36px;height:36px;border-radius:10px;background:rgba(250,56,0,.12);display:flex;align-items:center;justify-content:center;border:1px solid rgba(250,56,0,.2);">
          <svg style="width:18px;height:18px;color:var(--ah);flex-shrink:0;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"/></svg>
        </div>
        <div>
          <h3 style="margin:0;font-size:1.1rem;color:var(--t1);font-weight:700;">Earn up to 50% Commission</h3>
          <span style="font-size:.72rem;color:var(--t3);text-transform:uppercase;letter-spacing:.06em">Affiliate Program</span>
        </div>
      </div>
      <p style="margin:0 0 0.75rem 0;color:var(--t2);font-size:0.95rem;line-height:1.5;">Share your FileShot link and earn <strong style="color:var(--ah)">30% to 50%</strong> on every upgrade (tier-based). Free 30%, Pro 40%, Creator and Business 50%. Lifetime commissions.</p>
      <div style="display:flex;flex-wrap:wrap;gap:10px">
        <span style="display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);font-size:.78rem;color:var(--t2)"><svg style="width:12px;height:12px;stroke:var(--ah);stroke-width:2" viewBox="0 0 24 24" fill="none"><polyline points="20 6 9 17 4 12"/></svg>Lifetime payouts</span>
        <span style="display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);font-size:.78rem;color:var(--t2)"><svg style="width:12px;height:12px;stroke:var(--ah);stroke-width:2" viewBox="0 0 24 24" fill="none"><polyline points="20 6 9 17 4 12"/></svg>No setup fees</span>
        <span style="display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);font-size:.78rem;color:var(--t2)"><svg style="width:12px;height:12px;stroke:var(--ah);stroke-width:2" viewBox="0 0 24 24" fill="none"><polyline points="20 6 9 17 4 12"/></svg>Real-time dashboard</span>
      </div>
    </div>
    <div style="flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;z-index:1">
      <div style="font-family:var(--mono);font-size:2.2rem;font-weight:800;color:var(--ah);line-height:1">30-50%</div>
      <div style="font-size:.72rem;color:var(--t3);text-transform:uppercase;letter-spacing:.08em">by plan tier</div>
      <button id="affiliateJoinBtn" class="btn btn-pri" style="margin-top:4px;padding:12px 32px;font-size:0.95rem;white-space:nowrap;">Join Program</button>
    </div>
  </div>
</section>

<div class="divider wrap"></div>

<!-- -- TOR HIDDEN SERVICE -------------------------------------------- -->
<section class="sec wrap">
  <div class="sec-panel rv" style="align-items:center;gap:24px">
    <div style="flex:1;min-width:0">
      <div class="pill" style="display:inline-flex;gap:6px;margin-bottom:10px">
        <svg viewBox="0 0 24 24" width="12" height="12" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><circle cx="12" cy="12" r="6"/><circle cx="12" cy="12" r="2"/></svg>
        Tor Network
      </div>
      <h2 class="sec-h2" style="max-width:360px;margin-top:0;font-size:clamp(1.4rem,3vw,2rem)">Also available as a hidden service</h2>
      <p class="sec-p" style="max-width:380px;margin-top:8px">Access FileShot anonymously &mdash; your IP stays private, traffic never leaves the Tor network. No JavaScript required.</p>
      <div style="font-family:var(--mono);font-size:.68rem;color:var(--t2);word-break:break-all;overflow-wrap:anywhere;background:var(--sur2);border:1px solid var(--bdr);border-radius:var(--r8);padding:7px 10px;margin-top:14px;max-width:420px;line-height:1.5">filesqi3jl4kzq4sgp42wweaphohrmzmygbw6pjek6x6cjts6qqyh3qd.onion</div>
      <div style="display:flex;gap:8px;flex-wrap:wrap;margin-top:12px">
        <button id="torCopyBtn" class="btn btn-ghost btn-md" style="gap:6px;font-size:.78rem;padding:7px 14px"><svg viewBox="0 0 24 24" width="12" height="12" fill="none" stroke="currentColor" stroke-width="2" style="flex-shrink:0"><rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><span>Copy address</span></button>
        <a href="http://filesqi3jl4kzq4sgp42wweaphohrmzmygbw6pjek6x6cjts6qqyh3qd.onion" rel="noopener noreferrer" class="btn btn-acc btn-md" style="gap:6px;font-size:.78rem;padding:7px 14px;text-decoration:none"><svg viewBox="0 0 24 24" width="12" height="12" fill="none" stroke="currentColor" stroke-width="2" style="flex-shrink:0"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg>Open in Tor Browser</a>
      </div>
      <p style="font-size:.68rem;color:var(--t3);margin-top:8px">Requires <a href="https://www.torproject.org/download/" rel="noopener noreferrer" style="color:var(--t2)">Tor Browser</a></p>
    </div>
    <div style="flex-shrink:0;display:flex;align-items:center;justify-content:center">
      <div style="width:100px;height:100px;border-radius:50%;background:rgba(247,150,58,.06);border:1px solid rgba(247,150,58,.15);display:flex;align-items:center;justify-content:center">
        <svg viewBox="0 0 48 48" width="52" height="52" fill="none" stroke="var(--ah)" stroke-width="1.2" opacity=".7">
          <circle cx="24" cy="24" r="22"/>
          <circle cx="24" cy="24" r="15"/>
          <circle cx="24" cy="24" r="8"/>
          <circle cx="24" cy="24" r="2.5" fill="var(--ah)"/>
        </svg>
      </div>
    </div>
  </div>
</section>
<!-- -- HOW IT WORKS --------------------------------------------------- -->
<section class="sec wrap">
  <div style="text-align:center;margin-bottom:44px">
    <div class="pill rv" style="display:inline-flex">How it works</div>
    <h2 class="sec-h2 rv d1" style="text-align:center;max-width:500px;margin-inline:auto;margin-top:14px">Three steps. Zero exposure.</h2>
  </div>
  <div class="how-grid rv">
    <div class="step">
      <span class="step-n">01</span>
      <h3 class="step-h">Select files</h3>
      <p class="step-p">Any format. Instant link. Unlimited downloads. Drag&amp;drop or click to browse.</p>
    </div>
    <div class="step">
      <span class="step-n">02</span>
      <h3 class="step-h">Encrypted in browser</h3>
      <p class="step-p">A 256-bit AES key is generated locally. Argon2id derives the key. Encrypts chunk-by-chunk before the first byte uploads.</p>
    </div>
    <div class="step">
      <span class="step-n">03</span>
      <h3 class="step-h">Share the link</h3>
      <p class="step-p">The decryption key lives in the URL fragment &mdash; invisible to servers. Anyone with the link decrypts instantly in their browser.</p>
    </div>
  </div>
</section>

<div class="divider wrap"></div>

<!-- -- CTA BAND ------------------------------------------------------- -->
<section class="sec wrap">
  <div class="cta-band glass rv">
    <div class="pill" style="display:inline-flex;margin-bottom:14px">Get started today</div>
    <h2 class="sec-h2" style="max-width:100%;text-align:center;font-size:clamp(1.8rem,5vw,3.2rem)">Your files. Your keys.<br><span style="color:var(--ah)">Unlimited. Free.</span></h2>
    <p class="sec-p" style="text-align:center;max-width:380px;margin-inline:auto;margin-top:12px">No account needed. No credit card. Start uploading in seconds.</p>
    <div class="cta-btns">
      <a href="/#uploadSection" class="btn btn-pri btn-lg">
        <svg style="width:16px;height:16px;stroke:#fff;fill:none;stroke-width:2" viewBox="0 0 24 24"><polyline points="16 16 12 12 8 16"/><line x1="12" y1="12" x2="12" y2="21"/><path d="M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3"/></svg>
        Upload a file now
      </a>
      <a href="/security" class="btn btn-ghost btn-lg">Read the whitepaper &rarr;</a>
    </div>
  </div>
</section>

<!-- -- FOR PROFESSIONALS ---------------------------------------------- -->
<section class="sec wrap" id="proFeaturesSection">
  <div style="text-align:center;margin-bottom:2rem">
    <div class="pill rv" style="display:inline-flex;margin-bottom:14px">Power tools</div>
    <h2 class="sec-h2 rv d1">Built for creators &amp; teams</h2>
    <p class="sec-p rv d2" style="max-width:520px;margin-inline:auto">A permanent inbox link, a public portfolio, and developer API access. Built in &mdash; no extra apps needed.</p>
  </div>
  <div class="feat-grid">
    <div class="fc glass rv d1">
      <div class="fc-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" y1="15" x2="12" y2="3"/></svg></div>
      <h3 class="fc-h3">Receive Inbox</h3>
      <p class="fc-p">Your own permanent link at <strong>yourname.fileshot.io</strong>. Anyone can send you files &mdash; zero setup on their end. Share it in your email signature, bio, or portfolio.</p>
      <div style="margin-top:10px"><a href="/pricing" class="fc-badge" style="text-decoration:none;display:inline-block">Pro &mdash; $10/mo &rarr;</a></div>
    </div>
    <div class="fc glass rv d2">
      <div class="fc-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="7" height="7"/><rect x="14" y="3" width="7" height="7"/><rect x="14" y="14" width="7" height="7"/><rect x="3" y="14" width="7" height="7"/></svg></div>
      <h3 class="fc-h3">Portfolio Page</h3>
      <p class="fc-p">A public gallery at <strong>fileshot.io/u/yourname</strong>. Choose which files to display. Images and videos preview in the browser. Your encryption keys never leave you.</p>
      <div style="margin-top:10px"><a href="/pricing" class="fc-badge" style="text-decoration:none;display:inline-block">Pro &mdash; $10/mo &rarr;</a></div>
    </div>
    <div class="fc glass rv d3">
      <div class="fc-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="16 18 22 12 16 6"/><polyline points="8 6 2 12 8 18"/></svg></div>
      <h3 class="fc-h3">API Access</h3>
      <p class="fc-p">Upload and manage files programmatically with <strong>fsk_</strong> API keys. Integrate into CI/CD pipelines, design tools, or any automation script. Full REST API with webhooks.</p>
      <div style="margin-top:10px"><a href="/pricing" class="fc-badge" style="text-decoration:none;display:inline-block">Creator &mdash; $24/mo &rarr;</a></div>
    </div>
  </div>
</section>

<div class="divider wrap"></div>

<!-- -- MARKETPLACE SECTION -------------------------------------------- -->

<section class="mkt-section">
  <div class="wrap">
    <div class="mkt-header rv">
      <div class="pill rv"><span style="width:6px;height:6px;border-radius:50%;background:var(--a);box-shadow:0 0 8px var(--a);animation:cfPulse 2.4s ease-in-out infinite;display:inline-block"></span> Marketplace</div>
      <h2 class="sec-h2 rv d1">Buy &amp; sell premium content</h2>
      <p class="sec-p rv d2">Templates, code, music, eBooks, and more &mdash; from creators on FileShot. Encrypted delivery. Sellers keep <strong style="color:var(--t1)">91%</strong>.</p>
      <div class="mkt-stats rv d3">
        <span class="mkt-stat-pip">
          <svg viewBox="0 0 24 24"><line x1="12" y1="1" x2="12" y2="23"/><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/></svg>
          91% to creators
        </span>
        <span class="mkt-stat-sep"></span>
        <span class="mkt-stat-pip">
          <svg viewBox="0 0 24 24"><polyline points="13 2 13 9 20 9"/><path d="M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5z"/></svg>
          Instant delivery
        </span>
        <span class="mkt-stat-sep"></span>
        <span class="mkt-stat-pip">
          <svg viewBox="0 0 24 24"><rect x="3" y="11" width="18" height="11" rx="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></svg>
          Zero-knowledge encrypted
        </span>
        <span class="mkt-stat-sep"></span>
        <span class="mkt-stat-pip">
          <svg viewBox="0 0 24 24"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>
          Free to use
        </span>
      </div>
    </div>

    <div class="cf-stage-wrap rv d2" id="cfWrap">
      <div class="cf-live-badge">Live</div>
      <div class="cf-spotlight"></div>
      <div class="cf-stage" id="cfStage" aria-label="Marketplace carousel">

        <div class="cf-card" data-index="0" role="button" tabindex="0" aria-label="50 Minimal Line Icons">
          <div class="cf-card-preview">
            <div class="cf-card-preview-bg" style="background:linear-gradient(135deg,#7c3aed 0%,#db2777 100%)"></div>
            <div class="cf-card-preview-icon"><svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/><line x1="2" y1="12" x2="22" y2="12"/></svg></div>
            <span class="cf-card-type-badge">Design</span>
            <span class="cf-card-price-badge free"><span class="cf-price-old">$2.99</span>FREE</span>
          </div>
          <div class="cf-card-body">
            <div class="cf-card-title">50 Minimal Line Icons (SVG)</div>
            <div class="cf-card-seller">@pixelkit</div>
            <div class="cf-card-desc">50 hand-crafted minimal line icons in SVG. Arrows, UI, social, weather, and more.</div>
            <div class="cf-card-tags"><span class="cf-card-tag">SVG</span><span class="cf-card-tag">Icons</span></div>
          </div>
        </div>

        <div class="cf-card" data-index="1" role="button" tabindex="0" aria-label="Developer Cheat Sheet Bundle">
          <div class="cf-card-preview">
            <div class="cf-card-preview-bg" style="background:linear-gradient(135deg,#16a34a 0%,#065f46 100%)"></div>
            <div class="cf-card-preview-icon"><svg viewBox="0 0 24 24"><polyline points="16 18 22 12 16 6"/><polyline points="8 6 2 12 8 18"/></svg></div>
            <span class="cf-card-type-badge">Code</span>
            <span class="cf-card-price-badge free"><span class="cf-price-old">$3.99</span>FREE</span>
          </div>
          <div class="cf-card-body">
            <div class="cf-card-title">Developer Cheat Sheet Bundle</div>
            <div class="cf-card-seller">@devdocs</div>
            <div class="cf-card-desc">5 essential cheat sheets: Git, Regex, JavaScript, Python, and CSS. Print-ready Markdown.</div>
            <div class="cf-card-tags"><span class="cf-card-tag">Markdown</span><span class="cf-card-tag">5 sheets</span></div>
          </div>
        </div>

        <div class="cf-card" data-index="2" role="button" tabindex="0" aria-label="Resume Template Pack">
          <div class="cf-card-preview">
            <div class="cf-card-preview-bg" style="background:linear-gradient(135deg,#2563eb 0%,#4f46e5 100%)"></div>
            <div class="cf-card-preview-icon"><svg viewBox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/></svg></div>
            <span class="cf-card-type-badge">Templates</span>
            <span class="cf-card-price-badge free"><span class="cf-price-old">$4.99</span>FREE</span>
          </div>
          <div class="cf-card-body">
            <div class="cf-card-title">Resume Template Pack (3 Designs)</div>
            <div class="cf-card-seller">@careerkit</div>
            <div class="cf-card-desc">3 professional HTML/CSS resume templates: clean, two-column, and bold creative.</div>
            <div class="cf-card-tags"><span class="cf-card-tag">HTML/CSS</span><span class="cf-card-tag">3 templates</span></div>
          </div>
        </div>

        <div class="cf-card" data-index="3" role="button" tabindex="0" aria-label="CSS Gradient Collection">
          <div class="cf-card-preview">
            <div class="cf-card-preview-bg" style="background:linear-gradient(135deg,#f7963a 0%,#dc2626 100%)"></div>
            <div class="cf-card-preview-icon"><svg viewBox="0 0 24 24"><rect x="3" y="3" width="18" height="18" rx="2"/><circle cx="8.5" cy="8.5" r="1.5"/><polyline points="21 15 16 10 5 21"/></svg></div>
            <span class="cf-card-type-badge">Design</span>
            <span class="cf-card-price-badge free"><span class="cf-price-old">$1.99</span>FREE</span>
          </div>
          <div class="cf-card-body">
            <div class="cf-card-title">CSS Gradient Collection (30)</div>
            <div class="cf-card-seller">@csscraft</div>
            <div class="cf-card-desc">30 curated CSS gradients with interactive preview, copy-ready CSS classes, and JSON.</div>
            <div class="cf-card-tags"><span class="cf-card-tag">CSS</span><span class="cf-card-tag">30 gradients</span></div>
          </div>
        </div>

        <div class="cf-card" data-index="4" role="button" tabindex="0" aria-label="Color Palette Pack">
          <div class="cf-card-preview">
            <div class="cf-card-preview-bg" style="background:linear-gradient(135deg,#0ea5e9 0%,#0d9488 100%)"></div>
            <div class="cf-card-preview-icon"><svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><circle cx="12" cy="12" r="3"/></svg></div>
            <span class="cf-card-type-badge">Design</span>
            <span class="cf-card-price-badge free"><span class="cf-price-old">$2.49</span>FREE</span>
          </div>
          <div class="cf-card-body">
            <div class="cf-card-title">Color Palette Pack (20 Palettes)</div>
            <div class="cf-card-seller">@colorstudio</div>
            <div class="cf-card-desc">20 carefully curated color palettes as CSS variables, Tailwind config, and preview page.</div>
            <div class="cf-card-tags"><span class="cf-card-tag">CSS</span><span class="cf-card-tag">Tailwind</span></div>
          </div>
        </div>

        <div class="cf-card" data-index="5" role="button" tabindex="0" aria-label="Startup Business Templates">
          <div class="cf-card-preview">
            <div class="cf-card-preview-bg" style="background:linear-gradient(135deg,#334155 0%,#0f172a 100%)"></div>
            <div class="cf-card-preview-icon"><svg viewBox="0 0 24 24"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"/><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"/></svg></div>
            <span class="cf-card-type-badge">Templates</span>
            <span class="cf-card-price-badge free"><span class="cf-price-old">$9.99</span>FREE</span>
          </div>
          <div class="cf-card-body">
            <div class="cf-card-title">Startup Business Templates</div>
            <div class="cf-card-seller">@venturecraft</div>
            <div class="cf-card-desc">Professional invoice, one-page business plan, and 10-slide pitch deck in HTML/CSS.</div>
            <div class="cf-card-tags"><span class="cf-card-tag">Invoice</span><span class="cf-card-tag">Pitch Deck</span></div>
          </div>
        </div>

        <div class="cf-card" data-index="6" role="button" tabindex="0" aria-label="Privacy & Security Checklist">
          <div class="cf-card-preview">
            <div class="cf-card-preview-bg" style="background:linear-gradient(135deg,#7c3aed 0%,#1d4ed8 100%)"></div>
            <div class="cf-card-preview-icon"><svg viewBox="0 0 24 24"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg></div>
            <span class="cf-card-type-badge">Security</span>
            <span class="cf-card-price-badge free"><span class="cf-price-old">$1.49</span>FREE</span>
          </div>
          <div class="cf-card-body">
            <div class="cf-card-title">Privacy & Security Checklist</div>
            <div class="cf-card-seller">@securityfirst</div>
            <div class="cf-card-desc">Comprehensive web security checklist covering OWASP Top 10, auth, encryption, and more.</div>
            <div class="cf-card-tags"><span class="cf-card-tag">Markdown</span><span class="cf-card-tag">OWASP</span></div>
          </div>
        </div>

        <div class="cf-card" data-index="7" role="button" tabindex="0" aria-label="Abstract SVG Wallpaper Pack">
          <div class="cf-card-preview">
            <div class="cf-card-preview-bg" style="background:linear-gradient(135deg,#d97706 0%,#b45309 100%)"></div>
            <div class="cf-card-preview-icon"><svg viewBox="0 0 24 24"><rect x="3" y="3" width="18" height="18" rx="2"/><circle cx="8.5" cy="8.5" r="1.5"/><polyline points="21 15 16 10 5 21"/></svg></div>
            <span class="cf-card-type-badge">Images</span>
            <span class="cf-card-price-badge free"><span class="cf-price-old">$4.99</span>FREE</span>
          </div>
          <div class="cf-card-body">
            <div class="cf-card-title">Abstract SVG Wallpapers (10x4K)</div>
            <div class="cf-card-seller">@artgen</div>
            <div class="cf-card-desc">10 procedurally-generated abstract SVG wallpapers at 3840x2160 with preview gallery.</div>
            <div class="cf-card-tags"><span class="cf-card-tag">SVG</span><span class="cf-card-tag">4K</span></div>
          </div>
        </div>

        <div class="cf-card" data-index="8" role="button" tabindex="0" aria-label="JavaScript Utility Functions">
          <div class="cf-card-preview">
            <div class="cf-card-preview-bg" style="background:linear-gradient(135deg,#eab308 0%,#16a34a 100%)"></div>
            <div class="cf-card-preview-icon"><svg viewBox="0 0 24 24"><polyline points="16 18 22 12 16 6"/><polyline points="8 6 2 12 8 18"/></svg></div>
            <span class="cf-card-type-badge">Code</span>
            <span class="cf-card-price-badge free"><span class="cf-price-old">$3.49</span>FREE</span>
          </div>
          <div class="cf-card-body">
            <div class="cf-card-title">JS Utility Functions (30+)</div>
            <div class="cf-card-seller">@jstoolbox</div>
            <div class="cf-card-desc">30+ production-ready JavaScript utilities: debounce, deepClone, retry, memoize, and more.</div>
            <div class="cf-card-tags"><span class="cf-card-tag">JavaScript</span><span class="cf-card-tag">ES Modules</span></div>
          </div>
        </div>

      </div>

      <div class="cf-nav">
        <button class="cf-arrow" id="cfPrev" aria-label="Previous"><svg viewBox="0 0 24 24"><polyline points="15 18 9 12 15 6"/></svg></button>
        <div class="cf-dots" id="cfDots" role="tablist"></div>
        <button class="cf-arrow" id="cfNext" aria-label="Next"><svg viewBox="0 0 24 24"><polyline points="9 18 15 12 9 6"/></svg></button>
      </div>
    </div>

    <div class="mkt-cta rv d4">
      <a href="/marketplace" class="btn btn-pri btn-lg">
        <svg viewBox="0 0 24 24" width="16" height="16" stroke="currentColor" fill="none" stroke-width="2"><path d="M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z"/><line x1="3" y1="6" x2="21" y2="6"/><path d="M16 10a4 4 0 0 1-8 0"/></svg>
        Browse Marketplace
      </a>
      <button id="startSellingBtn" class="btn btn-ghost btn-lg">
        <svg viewBox="0 0 24 24" width="16" height="16" stroke="currentColor" fill="none" stroke-width="2"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg>
        Start Selling
      </button>
    </div>
    <p class="mkt-cta-note rv">No listing fees &nbsp;&middot;&nbsp; 91% revenue share &nbsp;&middot;&nbsp; Instant encrypted delivery</p>
  </div>
</section>


<!-- deferred to home-deferred -->

<div class="divider wrap"></div>

<!-- -- FAQ ------------------------------------------------------------ -->
<section class="sec wrap" id="faq" itemscope itemtype="https://schema.org/FAQPage">
  <details class="fs-collapsible">
    <summary class="fs-collapsible-trigger">
      <div class="pill rv" style="display:inline-flex">FAQ</div>
      <h2 class="sec-h2" style="margin:0">Common Questions</h2>
      <svg class="fs-chevron" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="6 9 12 15 18 9"/></svg>
    </summary>
    <div class="fs-collapsible-body" style="max-width:760px;margin:0 auto">
      <div itemscope itemprop="mainEntity" itemtype="https://schema.org/Question" style="margin-bottom:1.5rem">
      <h3 itemprop="name" style="color:var(--t1);font-size:1.05rem;margin-bottom:0.5rem">How does FileShot encrypt my files?</h3>
      <div itemscope itemprop="acceptedAnswer" itemtype="https://schema.org/Answer">
        <p itemprop="text" style="color:var(--t2);line-height:1.7">FileShot uses AES-256-GCM encryption directly in your browser before any data leaves your device. The encryption key is derived from your password using Argon2id (64 MB memory-hard KDF), combined with a random salt to produce a unique key per file. The server receives only ciphertext &mdash; it never sees the key and cannot decrypt the file under any circumstances. This architecture is called zero-knowledge encryption.</p>
      </div>
    </div>
    <div itemscope itemprop="mainEntity" itemtype="https://schema.org/Question" style="margin-bottom:1.5rem">
      <h3 itemprop="name" style="color:var(--t1);font-size:1.05rem;margin-bottom:0.5rem">Do I need an account to upload files?</h3>
      <div itemscope itemprop="acceptedAnswer" itemtype="https://schema.org/Answer">
        <p itemprop="text" style="color:var(--t2);line-height:1.7">No account is required to upload and share files on FileShot. You can drag and drop a file, set an optional password and expiry, and get a shareable link instantly &mdash; no signup, no email address, no credit card. Creating a free account allows you to manage your files, view download analytics, and access advanced features like custom links, but it is entirely optional.</p>
      </div>
    </div>
    <div itemscope itemprop="mainEntity" itemtype="https://schema.org/Question" style="margin-bottom:1.5rem">
      <h3 itemprop="name" style="color:var(--t1);font-size:1.05rem;margin-bottom:0.5rem">What is the maximum file size I can upload?</h3>
      <div itemscope itemprop="acceptedAnswer" itemtype="https://schema.org/Answer">
        <p itemprop="text" style="color:var(--t2);line-height:1.7">Free users can upload files up to 10 GB per file with 50 GB total storage. Lite plan users can upload up to 50 GB per file with unlimited storage. Pro plan users can upload up to 100 GB per file. Creator plan users can upload up to 300 GB per file. All paid plans include unlimited storage &mdash; there is no cap on total files or total gigabytes stored.</p>
      </div>
    </div>
    <div itemscope itemprop="mainEntity" itemtype="https://schema.org/Question" style="margin-bottom:1.5rem">
      <h3 itemprop="name" style="color:var(--t1);font-size:1.05rem;margin-bottom:0.5rem">How long are files kept before they expire?</h3>
      <div itemscope itemprop="acceptedAnswer" itemtype="https://schema.org/Answer">
        <p itemprop="text" style="color:var(--t2);line-height:1.7">Free files are kept for up to 90 days. You can also set shorter expiry periods at upload time. Pro plan files can be kept for up to 1 year. Creator and Professional plans support unlimited expiry. Files can always be manually deleted from your dashboard at any time.</p>
      </div>
    </div>
    <div itemscope itemprop="mainEntity" itemtype="https://schema.org/Question" style="margin-bottom:1.5rem">
      <h3 itemprop="name" style="color:var(--t1);font-size:1.05rem;margin-bottom:0.5rem">Can the recipient download without entering a password?</h3>
      <div itemscope itemprop="acceptedAnswer" itemtype="https://schema.org/Answer">
        <p itemprop="text" style="color:var(--t2);line-height:1.7">Password protection is optional. If you set a password at upload time, the recipient must enter it to access and download the file &mdash; the password is required to derive the decryption key in their browser. If you share files without a password, anyone with the link can download immediately. For sensitive documents, using a password and sharing it through a separate channel (such as a message) provides the strongest security.</p>
      </div>
    </div>
    <div itemscope itemprop="mainEntity" itemtype="https://schema.org/Question" style="margin-bottom:0">
      <h3 itemprop="name" style="color:var(--t1);font-size:1.05rem;margin-bottom:0.5rem">Is FileShot suitable for sharing sensitive business or medical files?</h3>
      <div itemscope itemprop="acceptedAnswer" itemtype="https://schema.org/Answer">
        <p itemprop="text" style="color:var(--t2);line-height:1.7">FileShot's zero-knowledge encryption model is well-suited for sharing sensitive documents such as legal contracts, financial records, medical records, and intellectual property. Because the server never holds the decryption key, a potential server breach cannot expose the contents of your files. Organizations with compliance requirements (HIPAA, GDPR, FINRA) may find FileShot's architecture advantageous. See the <a href="/whitepaper" style="color:var(--ah)">Security Whitepaper</a> for full technical details and the <a href="/for/lawyers" style="color:var(--ah)">use case pages</a> for industry-specific guidance.</p>
      </div>
    </div>
  </div>
    </div>
  </details>
</section>

</main>
<footer class="footer wrap">
  <div class="ft-grid">
    <div class="ft-brand">
      <div class="nav-logo"><img src="/logonew-nav.png" width="120" height="15" alt="FileShot.io"></div>
      <p>Zero-knowledge file sharing. Encrypted before it leaves your browser. Unlimited storage &mdash; free.</p>
    </div>
    <div class="ft-col">
      <h4>Products</h4>
      <ul>
        <li><a href="/">File Sharing</a></li>
        <li><a href="/chat">Encrypted Chat</a></li>
        <li><a href="/pricing">Pricing</a></li>
        <li><a href="/p2p">P2P Direct</a></li>
        <li><a href="/password-protected-file-sharing">Password Protection</a></li>
        <li><a href="/zero-knowledge-file-sharing">Zero-Knowledge</a></li>
        <li><a href="/extension">Browser Extension</a></li>
        <li><a href="/desktop">Desktop App</a></li>
        <li><a href="/downloads/fileshot-android.apk">Android App</a></li>
        <li><a href="/tools/affiliate">Affiliate Program</a></li>
      </ul>
    </div>
    <div class="ft-col">
      <h4>Free Tools</h4>
      <ul>
        <li><a href="/tools/converter">File Converter</a></li>
        <li><a href="/tools/pdf">PDF Editor</a></li>
        <li><a href="/tools/archive">Archive Builder</a></li>
        <li><a href="/tools/paste">Secure Paste</a></li>
        <li><a href="/tools/compressor">File Compressor</a></li>
        <li><a href="/tools/download-video-from-url">Download Video From URL</a></li><!-- intlinkdvfu1:20261002 -->
</ul>
    </div>
    <div class="ft-col">
      <h4>Privacy Guides</h4>
      <ul>
        <li><a href="/blog/how-to-remove-metadata-files">Remove metadata from files</a></li>
        <li><a href="/blog/password-protected-file-sharing-guide">Password protect files</a></li>
        <li><a href="/blog/secure-file-sharing-remote-teams">Share files for remote teams</a></li>
        <li><a href="/blog/file-size-limits-complete-guide">File size limits guide</a></li>
        <li><a href="/blog/how-to-encrypt-files-before-sharing">How to encrypt files</a></li>
        <li><a href="/blog/temporary-vs-permanent-file-storage">Temporary file storage</a></li>
      </ul>
    </div>
    <div class="ft-col">
      <h4>Company</h4>
      <ul>
        <li><a href="/about">About Us</a></li>
        <li><a href="/blog/">Blog</a></li>
        <li><a href="/contact">Contact</a></li>
        <li><a href="/donate">Donate</a></li>
        <li><a href="/projects">Our Projects</a></li>
        <li><a href="https://github.com/FileShot/FileShotZKE" target="_blank" rel="noopener">GitHub</a></li>
        <li><a href="https://graysoft.dev" target="_blank" rel="noopener">graysoft.dev</a></li>
        <li><a href="https://vidzilla.live" target="_blank" rel="noopener">Vidzilla</a></li>
        <li><a href="http://filesqi3jl4kzq4sgp42wweaphohrmzmygbw6pjek6x6cjts6qqyh3qd.onion" rel="noopener noreferrer">.onion / Tor Access</a></li>
        <li><a href="/security">Security Model</a></li>
        <li><a href="/whitepaper">Whitepaper</a></li>
        <li><a href="/api-docs">API Docs</a></li>
        <li><a href="/tos">Terms of Service</a></li>
        <li><a href="/privacy">Privacy Policy</a></li>
        <li><a href="/fair-use">Fair Use Policy</a></li>
      </ul>
    </div>
  </div>
  <div class="ft-industries">
    <h4>Use Cases</h4>
    <div class="ft-tags">
      <a href="/for/developers">Developers</a>
      <a href="/for/photographers">Photographers</a>
      <a href="/for/videographers">Videographers</a>
      <a href="/for/lawyers">Lawyers</a>
      <a href="/for/healthcare">Healthcare</a>
      <a href="/for/journalists">Journalists</a>
      <a href="/for/marketing">Marketing Teams</a>
      <a href="/for/accountants">Accountants</a>
      <a href="/for/game-studios">Game Studios</a>
      <a href="/for/publishers">Publishers</a>
      <a href="/for/architects">Architects</a>
      <a href="/for/music-producers">Music Producers</a>
      <a href="/for/real-estate">Real Estate</a>
      <a href="/for/researchers">Researchers</a>
      <a href="/for/hr-teams">HR Teams</a>
      <a href="/for/remote-teams">Remote Teams</a>
    </div>
  </div>
  <div class="ft-industries">
    <h4>Comparisons</h4>
    <div class="ft-tags">
      <a href="/vs/wetransfer">vs WeTransfer</a>
      <a href="/vs/dropbox">vs Dropbox</a>
      <a href="/vs/google-drive">vs Google Drive</a>
      <a href="/vs/onedrive">vs OneDrive</a>
      <a href="/vs/mega">vs MEGA</a>
      <a href="/vs/box">vs Box</a>
      <a href="/vs/icloud">vs iCloud</a>
      <a href="/vs/pcloud">vs pCloud</a>
      <a href="/vs/proton-drive">vs ProtonDrive</a>
      <a href="/vs/mediafire">vs MediaFire</a>
      <a href="/vs/internxt">vs Internxt</a>
      <a href="/vs/filen">vs Filen</a>
      <a href="/vs/tresorit">vs Tresorit</a>
      <a href="/vs/sync">vs Sync.com</a>
      <a href="/vs/smash">vs Smash</a>
    </div>
  </div>
  <div class="ft-security">
    <a class="fp" href="https://www.ssllabs.com/ssltest/analyze.html?d=fileshot.io" target="_blank" rel="noopener noreferrer" title="SSL Labs Report &mdash; A+ Rating"><svg viewBox="0 0 24 24"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>SSL Labs <span class="sec-grade">A+</span></a>
    <a class="fp" href="https://securityheaders.com/?q=fileshot.io&amp;followRedirects=on" target="_blank" rel="noopener noreferrer" title="SecurityHeaders.com Report &mdash; Grade A"><svg viewBox="0 0 24 24"><path d="M20 21v-2a4 4 0 0 0-3-3.87"/><path d="M4 21v-2a4 4 0 0 1 3-3.87"/><circle cx="12" cy="7" r="4"/></svg>Headers <span class="sec-grade">A</span></a>
    <a class="fp" href="https://developer.mozilla.org/en-US/observatory/analyze?host=fileshot.io" target="_blank" rel="noopener noreferrer" title="Mozilla Observatory Security Assessment"><svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><line x1="12" y1="8" x2="12" y2="12"/><line x1="12" y1="16" x2="12.01" y2="16"/></svg>Observatory <span class="sec-grade">B</span></a>
    <a class="fp" href="https://www.virustotal.com/gui/url/6c8f151a71dadcd5a24e824bf1921fdf64f93a73862dd098b8b53f52b51204ce" target="_blank" rel="noopener noreferrer" title="VirusTotal &mdash; 0 out of 95 security vendors flagged this site"><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg>VirusTotal <span class="sec-grade">0/95</span></a>
    <a class="fp" href="https://internet.nl/site/fileshot.io/3884647/" target="_blank" rel="noopener noreferrer" title="Internet.nl Website Test &mdash; 98% Score"><svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><path d="M2 12h20"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg>Internet.nl <span class="sec-grade">98%</span></a>
    <span class="fp" title="AES-256-GCM encryption via Web Crypto API"><svg viewBox="0 0 24 24"><rect x="3" y="11" width="18" height="11" rx="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></svg>AES-256-GCM</span>
    <span class="fp" title="HTTP Strict Transport Security enabled"><svg viewBox="0 0 24 24"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>HSTS</span>
    <span class="fp" title="Content Security Policy enforced"><svg viewBox="0 0 24 24"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/><polyline points="22 4 12 14.01 9 11.01"/></svg>CSP Enforced</span>
    <span class="fp" title="Cloudflare CDN and DDoS protection"><svg viewBox="0 0 24 24"><path d="M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z"/></svg>Cloudflare</span>
    <span class="fp" title="Cookiebot scan: zero cookies and zero trackers detected across 10 pages"><svg viewBox="0 0 24 24"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/><line x1="1" y1="1" x2="23" y2="23" stroke-width="2"/></svg>Zero Trackers</span>
  </div>
  <div class="ft-bot">
    <span>&copy; 2026 FileShot.io &mdash; Privacy-first file sharing</span>
    <div class="ft-pills" style="justify-content:center">
      <span class="fp"><svg viewBox="0 0 24 24"><rect x="3" y="11" width="18" height="11" rx="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></svg>Zero-knowledge</span>
      <a class="fp" href="http://filesqi3jl4kzq4sgp42wweaphohrmzmygbw6pjek6x6cjts6qqyh3qd.onion" rel="noopener noreferrer" style="text-decoration:none;color:inherit" title="Access FileShot.io anonymously via Tor Browser"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><circle cx="12" cy="12" r="6"/><circle cx="12" cy="12" r="2"/></svg>Available on Tor</a>
    </div>
  </div>
<details style="border-top:1px solid rgba(255,255,255,0.06);padding:0.4rem 1rem 1.2rem">
  <summary id="directorySummary" style="text-align:center;font-size:0.6rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,0.28);cursor:pointer;list-style:none;padding:0.3rem 0 0.5rem;user-select:none">Featured in 58 directories &mdash;</summary>
  <div style="display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:5px 4px;max-width:900px;margin:0 auto">
    <a id='wot-badge2' class='wot-badge' href='https://www.mywot.com/scorecard/fileshot.io?wot_badge=2' target='_blank' rel='noopener' style='display:inline-flex'><div class='wot-logo'></div><div class='wot-shield'></div><p class='wot-secured'>Verified Website</p><div class='wot-vertical'></div><p class='wot-report'>See Report</p></a>
    <a target="_blank" href="https://launchscroll.com" rel="noopener noreferrer"><img src="https://launchscroll.com/assets/images/badge.png" alt="Launch Scroll" height="36" loading="lazy"></a>
    <a target="_blank" href="https://thatappshow.com" rel="noopener noreferrer"><img src="https://thatappshow.com/assets/images/badge.png" alt="That App Show" height="36" loading="lazy"></a>
    <a target="_blank" href="https://aitechviral.com" rel="noopener noreferrer"><img src="https://aitechviral.com/assets/images/badge.png" alt="AI Tech Viral" height="36" loading="lazy"></a>
    <a target="_blank" href="https://tooljourney.com" rel="noopener noreferrer"><img src="https://tooljourney.com/assets/images/badge.png" alt="Tool Journey" height="36" loading="lazy"></a>
    <a target="_blank" href="https://saastoolsdir.com" rel="noopener noreferrer"><img src="https://saastoolsdir.com/assets/images/badge.png" alt="SaaS Tools Dir" height="36" loading="lazy"></a>
    <a target="_blank" href="https://ashlist.com" rel="noopener noreferrer"><img src="https://ashlist.com/assets/images/badge.png" alt="Ash List" height="36" loading="lazy"></a>
    <a target="_blank" href="https://sourcedir.com" rel="noopener noreferrer"><img src="https://sourcedir.com/assets/images/badge.png" alt="Source Dir" height="36" loading="lazy"></a>
    <a target="_blank" href="https://saashubdirectory.com" rel="noopener noreferrer"><img src="/img/badges/saashubdirectory.svg" alt="SaaS Hub Directory" height="36" loading="lazy"></a>
    <a target="_blank" href="https://milliondothomepage.com" rel="noopener noreferrer"><img src="https://milliondothomepage.com/assets/images/badge.png" alt="Million Dot Homepage" height="36" loading="lazy"></a>
    <a target="_blank" href="https://toolsignal.com" rel="noopener noreferrer"><img src="https://toolsignal.com/assets/images/badge.png" alt="Tool Signal" height="36" loading="lazy"></a>
    
    
    <a target="_blank" href="https://appalist.com" rel="noopener noreferrer"><img src="https://appalist.com/assets/images/badge.png" alt="Appalist" height="36" loading="lazy"></a>
    <a target="_blank" href="https://productlistdir.com" rel="noopener noreferrer"><img src="https://productlistdir.com/assets/images/badge.png" alt="Product List Dir" height="36" loading="lazy"></a>
    <a target="_blank" href="https://productwing.com" rel="noopener noreferrer"><img src="https://productwing.com/assets/images/badge.png" alt="Product Wing" height="36" loading="lazy"></a>
    <a target="_blank" href="https://saasfield.com" rel="noopener noreferrer"><img src="https://saasfield.com/assets/images/badge.png" alt="SaaS Field" height="36" loading="lazy"></a>
    <a target="_blank" href="https://saasroots.com" rel="noopener noreferrer"><img src="https://saasroots.com/assets/images/badge.png" alt="SaaS Roots" height="36" loading="lazy"></a>
    <a target="_blank" href="https://saaswheel.com" rel="noopener noreferrer"><img src="https://saaswheel.com/assets/images/badge.png" alt="SaaS Wheel" height="36" loading="lazy"></a>
    <a target="_blank" href="https://stackdirectory.com" rel="noopener noreferrer"><img src="https://stackdirectory.com/assets/images/badge.png" alt="Stack Directory" height="36" loading="lazy"></a>
    <a target="_blank" href="https://toolcosmos.com" rel="noopener noreferrer"><img src="https://toolcosmos.com/assets/images/badge.png" alt="Tool Cosmos" height="36" loading="lazy"></a>
    
    <a target="_blank" href="https://goodaitools.com" rel="noopener noreferrer"><img src="https://goodaitools.com/assets/images/badge.png" alt="Good AI Tools" height="36" loading="lazy"></a>
    <a target="_blank" href="https://aigc160.com" rel="noopener noreferrer"><img src="https://aigc160.com/assets/images/badge.png" alt="AIGC 160" height="36" loading="lazy"></a>
    <a target="_blank" href="https://acidtools.com" rel="noopener noreferrer"><img src="https://acidtools.com/assets/images/badge.png" alt="Acid Tools" height="36" loading="lazy"></a>
    <a target="_blank" href="https://aitoolzs.com" rel="noopener noreferrer"><img src="https://aitoolzs.com/assets/images/badge.png" alt="AI Toolzs" height="36" loading="lazy"></a>
    <a target="_blank" href="https://aixcollection.com" rel="noopener noreferrer"><img src="https://aixcollection.com/assets/images/badge.png" alt="AIX Collection" height="36" loading="lazy"></a>
    <a target="_blank" href="https://appsytools.com" rel="noopener noreferrer"><img src="https://appsytools.com/assets/images/badge.png" alt="Appsy Tools" height="36" loading="lazy"></a>
    <a target="_blank" href="https://beamtools.com" rel="noopener noreferrer"><img src="https://beamtools.com/assets/images/badge.png" alt="Beam Tools" height="36" loading="lazy"></a>
    <a target="_blank" href="https://huntfortools.com" rel="noopener noreferrer"><img src="https://huntfortools.com/assets/images/badge.png" alt="Hunt For Tools" height="36" loading="lazy"></a>
    <a target="_blank" href="https://latestaiupdates.com" rel="noopener noreferrer"><img src="https://latestaiupdates.com/assets/images/badge.png" alt="Latest AI Updates" height="36" loading="lazy"></a>
    <a target="_blank" href="https://mystarttools.com" rel="noopener noreferrer"><img src="https://mystarttools.com/assets/images/badge.png" alt="My Start Tools" height="36" loading="lazy"></a>
    <a target="_blank" href="https://mylaunchstash.com" rel="noopener noreferrer"><img src="https://mylaunchstash.com/assets/images/badge.png" alt="My Launch Stash" height="36" loading="lazy"></a>
    <a target="_blank" href="https://poweruptools.com" rel="noopener noreferrer"><img src="https://poweruptools.com/assets/images/badge.png" alt="Power Up Tools" height="36" loading="lazy"></a>
    <a target="_blank" href="https://smartkithub.com" rel="noopener noreferrer"><img src="https://smartkithub.com/assets/images/badge.png" alt="Smart Kit Hub" height="36" loading="lazy"></a>
    <a target="_blank" href="https://softwarebolt.com" rel="noopener noreferrer"><img src="https://softwarebolt.com/assets/images/badge.png" alt="Software Bolt" height="36" loading="lazy"></a>
    <a target="_blank" href="https://solvertools.com" rel="noopener noreferrer"><img src="https://solvertools.com/assets/images/badge.png" alt="Solver Tools" height="36" loading="lazy"></a>
    <a target="_blank" href="https://startupaideas.com" rel="noopener noreferrer"><img src="https://startupaideas.com/assets/images/badge.png" alt="Startup AI Ideas" height="36" loading="lazy"></a>
    <a target="_blank" href="https://startupbenchmarks.com" rel="noopener noreferrer"><img src="https://startupbenchmarks.com/assets/images/badge.png" alt="Startup Benchmarks" height="36" loading="lazy"></a>
    <a target="_blank" href="https://startupvessel.com" rel="noopener noreferrer"><img src="https://startupvessel.com/assets/images/badge.png" alt="Startup Vessel" height="36" loading="lazy"></a>
    <a target="_blank" href="https://superaiboom.com" rel="noopener noreferrer"><img src="https://superaiboom.com/assets/images/badge.png" alt="Super AI Boom" height="36" loading="lazy"></a>
    <a target="_blank" href="https://theapptools.com" rel="noopener noreferrer"><img src="https://theapptools.com/assets/images/badge.png" alt="The App Tools" height="36" loading="lazy"></a>
    <a target="_blank" href="https://thecoretools.com" rel="noopener noreferrer"><img src="https://thecoretools.com/assets/images/badge.png" alt="The Core Tools" height="36" loading="lazy"></a>
    <a target="_blank" href="https://thekeytools.com" rel="noopener noreferrer"><img src="https://thekeytools.com/assets/images/badge.png" alt="The Key Tools" height="36" loading="lazy"></a>
    <a target="_blank" href="https://themegatools.com" rel="noopener noreferrer"><img src="https://themegatools.com/assets/images/badge.png" alt="The Mega Tools" height="36" loading="lazy"></a>
    <a target="_blank" href="https://tinytoolhub.com" rel="noopener noreferrer"><img src="https://tinytoolhub.com/assets/images/badge.png" alt="Tiny Tool Hub" height="36" loading="lazy"></a>
    <a target="_blank" href="https://toolfinddir.com" rel="noopener noreferrer"><img src="https://toolfinddir.com/assets/images/badge.png" alt="Tool Find Dir" height="36" loading="lazy"></a>
    <a target="_blank" href="https://toolprism.com" rel="noopener noreferrer"><img src="https://toolprism.com/assets/images/badge.png" alt="Tool Prism" height="36" loading="lazy"></a>
    <a target="_blank" href="https://toolslisthq.com" rel="noopener noreferrer"><img src="https://toolslisthq.com/assets/images/badge.png" alt="Tools List HQ" height="36" loading="lazy"></a>
    <a target="_blank" href="https://toolsunderradar.com" rel="noopener noreferrer"><img src="https://toolsunderradar.com/assets/images/badge.png" alt="Tools Under Radar" height="36" loading="lazy"></a>
    <a target="_blank" href="https://toptrendtools.com" rel="noopener noreferrer"><img src="https://toptrendtools.com/assets/images/badge.png" alt="Top Trend Tools" height="36" loading="lazy"></a>
    <a target="_blank" href="https://toshilist.com" rel="noopener noreferrer"><img src="https://toshilist.com/assets/images/badge.png" alt="Toshi List" height="36" loading="lazy"></a>
    <a target="_blank" href="https://trustiner.com" rel="noopener noreferrer"><img src="https://trustiner.com/assets/images/badge.png" alt="Trustiner" height="36" loading="lazy"></a>
    <a target="_blank" href="https://unitelist.com" rel="noopener noreferrer"><img src="https://unitelist.com/assets/images/badge.png" alt="Unite List" height="36" loading="lazy"></a>
    <a target="_blank" href="https://weliketools.com" rel="noopener noreferrer"><img src="https://weliketools.com/assets/images/badge.png" alt="We Like Tools" height="36" loading="lazy"></a>
    <a href="https://twelve.tools" target="_blank" rel="noopener noreferrer"><img src="https://twelve.tools/badge0-light.svg" alt="Featured on Twelve Tools" width="200" height="54" loading="lazy"></a>
    <a href="https://startupfa.me/s/fileshot.io-223?utm_source=fileshot.io" target="_blank"><img src="https://startupfa.me/badges/featured/dark.webp" alt="fileshot.io - Featured on Startup Fame" width="171" height="54" loading="lazy" /></a>
    <a href="https://turbo0.com/item/fileshotio" target="_blank" rel="noopener noreferrer">
      <img src="https://img.turbo0.com/badge-listed-light.svg" alt="Listed on Turbo0" width="200" height="54" loading="lazy" />
    </a>
    <a href="https://findly.tools/fileshot?utm_source=fileshot" target="_blank">
      <img src="https://findly.tools/badges/findly-tools-badge-dark.svg" alt="Featured on Findly.tools" width="150" height="54" loading="lazy" />
    </a>
    <a href="https://neeed.directory/products/fileshot?utm_source=fileshot" target="_blank" rel="noopener">
      <img src="https://neeed.directory/badges/neeed-badge-light.svg" alt="Featured on neeed.directory" width="139" height="54" loading="lazy" />
    </a>
    <a href="https://startupfa.st" target="_blank" title="Powered by Startup Fast">
      <img src="https://startupfa.st/images/badges/powered-by-light.svg" alt="Powered by Startup Fast" width="150" height="44" loading="lazy" />
    </a>
    <a href="https://www.foundrlist.com/product/fileshotio?utm_source=badge&amp;utm_medium=embed" target="_blank" rel="noopener">
      <img src="https://www.foundrlist.com/api/badge/fileshotio" alt="Featured on FoundrList" width="150" height="48" loading="lazy" />
    </a>
    <a target="_blank" href="https://acidtools.com"><img src="https://acidtools.com/assets/images/badge-dark.png" alt="Acid Tools" height="54" loading="lazy"></a>
    <a href="https://openhunts.com" target="_blank" title="OpenHunts Club"><img alt="OpenHunts Club Member" height="105" src="https://cdn.openhunts.com/badges/club.webp" style="width: 195px; height: auto;" width="486" loading="lazy"></a>
    <a href="https://toolfio.com" target="_blank" rel="dofollow"><img src="https://toolfio.com/toolfio-light-badge.png" alt="Featured on Toolfio" width="200" height="54" loading="lazy" /></a>
    <a target="_blank" href="https://unitelist.com"><img src="https://unitelist.com/assets/images/badge-dark.png" alt="Unite List" height="54" loading="lazy"></a>
    <a href="https://indiehunt.io/project/fileshot-io-fast-private-file-sharing-with-zero-knowledge-encryption" target="_blank" rel="noopener"><img src="https://indiehunt.io/badges/indiehunt-badge-light.svg" alt="Featured on IndieHunt" width="265" height="58" loading="lazy" /></a>
    <a href="https://ideakiln.com/ideas/fileshot" target="_blank" rel="noopener"><img src="https://ideakiln.com/dark.svg" alt="Featured on Idea Kiln" width="200" height="54" loading="lazy" /></a>
    <a href="https://auraplusplus.com/projects/fileshot-secure-encrypted-file-sharing-platform" target="_blank" rel="noopener"><img src="https://auraplusplus.com/images/badges/featured-on-light.svg" alt="Featured on Aura++" width="265" height="58" loading="lazy" /></a>
    <a href="https://fazier.com/launches/fileshot.io" target="_blank"><img src="https://fazier.com/api/v1//public/badges/launch_badges.svg?badge_type=launched&theme=light" width="120" alt="Fazier badge" loading="lazy" /></a>
    <a href="https://postyourstartup.co/startup/fileshot-io?ref=badge" target="_blank" rel="noopener noreferrer">
      <img src="https://postyourstartup.co/api/badge/fileshot-io?theme=dark" alt="Featured on PostYourStartup" width="212" height="55" loading="lazy" />
    </a>
  </div>
</details>
<div style="padding:32px 0;border-top:1px solid var(--border-color);margin-top:24px">
  <div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;max-width:1100px;margin:0 auto;font-size:.85rem">
    <div><strong style="display:block;margin-bottom:8px;font-size:.9rem">Solutions</strong><a href="/send-large-files" style="display:block;color:var(--text-secondary);text-decoration:none;padding:3px 0">Send Large Files</a><a href="/file-transfer" style="display:block;color:var(--text-secondary);text-decoration:none;padding:3px 0">File Transfer</a><a href="/secure-file-sharing" style="display:block;color:var(--text-secondary);text-decoration:none;padding:3px 0">Secure File Sharing</a><a href="/zero-knowledge-file-sharing" style="display:block;color:var(--text-secondary);text-decoration:none;padding:3px 0">Zero-Knowledge Sharing</a></div>
    <div><strong style="display:block;margin-bottom:8px;font-size:.9rem">Comparisons</strong><a href="/wetransfer-alternative" style="display:block;color:var(--text-secondary);text-decoration:none;padding:3px 0">WeTransfer Alternative</a><a href="/vs/wetransfer" style="display:block;color:var(--text-secondary);text-decoration:none;padding:3px 0">FileShot vs WeTransfer</a><a href="/vs/dropbox" style="display:block;color:var(--text-secondary);text-decoration:none;padding:3px 0">FileShot vs Dropbox</a><a href="/alternatives/" style="display:block;color:var(--text-secondary);text-decoration:none;padding:3px 0">All Alternatives</a></div>
    <div><strong style="display:block;margin-bottom:8px;font-size:.9rem">Resources</strong><a href="/blog" style="display:block;color:var(--text-secondary);text-decoration:none;padding:3px 0">Blog</a><a href="/blog/how-to-send-large-files" style="display:block;color:var(--text-secondary);text-decoration:none;padding:3px 0">How to Send Large Files</a><a href="/security" style="display:block;color:var(--text-secondary);text-decoration:none;padding:3px 0">Security</a><a href="/pricing" style="display:block;color:var(--text-secondary);text-decoration:none;padding:3px 0">Pricing</a></div>
    <div><strong style="display:block;margin-bottom:8px;font-size:.9rem">Company</strong><a href="/about" style="display:block;color:var(--text-secondary);text-decoration:none;padding:3px 0">About</a><a href="/privacy" style="display:block;color:var(--text-secondary);text-decoration:none;padding:3px 0">Privacy</a><a href="/tos" style="display:block;color:var(--text-secondary);text-decoration:none;padding:3px 0">Terms</a><a href="/contact" style="display:block;color:var(--text-secondary);text-decoration:none;padding:3px 0">Contact</a></div>
  </div>
</div>
</footer>

</div><!-- /page -->

<!-- -- AUTH MODAL ------------------------------------------------------ -->
<div class="modal" id="authModal" style="display: none;">
    <div class="modal-content">
        <span class="modal-close" id="authModalClose">&times;</span>
        <div class="auth-main-tabs">
            <button class="auth-main-tab active" data-auth-panel="login">Login</button>
            <button class="auth-main-tab" data-auth-panel="signup">Sign Up</button>
        </div>
        <div class="auth-panel active" data-auth-panel="login">
            <div class="auth-tabs">
                <button class="tab-btn active" id="authTabPassword">Password</button>
                <button class="tab-btn" id="authTabCode">Email Code</button>
            </div>
            <form id="loginForm">
                <input type="email" id="loginEmail" placeholder="Email" required>
                <div id="passwordFields">
                    <input type="password" id="loginPassword" placeholder="Password" required>
                </div>
                <div id="codeFields" style="display: none;">
                    <input type="text" id="loginCode" placeholder="6-digit code" maxlength="6">
                    <button type="button" class="btn-link" id="requestCodeBtn">Send Code</button>
                </div>
                <button type="submit" class="btn-primary">Login</button>
            </form>
            <div class="auth-divider"><span>or</span></div>
            <button class="btn-google" id="googleLoginBtn">
                <svg class="google-icon" viewBox="0 0 24 24">
                    <path d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z" fill="#4285F4"/>
                    <path d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z" fill="#34A853"/>
                    <path d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z" fill="#FBBC05"/>
                    <path d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z" fill="#EA4335"/>
                </svg>
                Continue with Google
            </button>
            <button class="btn-github" id="githubLoginBtn">
                <svg class="github-icon" viewBox="0 0 24 24" width="20" height="20"><path fill="currentColor" d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"/></svg>
                Continue with GitHub
            </button>
        </div>
        <div class="auth-panel" data-auth-panel="signup">
            <form id="signupForm">
                <input type="email" id="signupEmail" placeholder="Email" required>
                <input type="password" id="signupPassword" placeholder="Password (min 8 characters, must include uppercase, lowercase, and number)" required minlength="8">
                <input type="password" id="signupPasswordConfirm" placeholder="Confirm Password" required minlength="8">
                <small style="display: block; margin-top: -0.5rem; margin-bottom: 1rem; color: var(--text-secondary); font-size: 0.85rem;">
                    Password must be at least 8 characters and include uppercase, lowercase, and a number.
                </small>
                <button type="submit" class="btn-primary">Create Account</button>
            </form>
            <div class="auth-divider"><span>or</span></div>
            <button class="btn-google" id="googleSignupBtn">
                <svg class="google-icon" viewBox="0 0 24 24">
                    <path d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z" fill="#4285F4"/>
                    <path d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z" fill="#34A853"/>
                    <path d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z" fill="#FBBC05"/>
                    <path d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z" fill="#EA4335"/>
                </svg>
                Continue with Google
            </button>
            <button class="btn-github" id="githubSignupBtn">
                <svg class="github-icon" viewBox="0 0 24 24" width="20" height="20"><path fill="currentColor" d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"/></svg>
                Continue with GitHub
            </button>
        </div>
    </div>
</div>

<!-- -- INDIVIDUAL PRICING MODAL ---------------------------------------- -->
<div class="modal" id="individualPricingModal" style="display:none">
  <div class="modal-content" style="max-width:540px;padding:0;overflow:hidden">
    <div style="display:flex;align-items:center;justify-content:space-between;padding:18px 22px 14px;border-bottom:1px solid var(--bdr)">
      <div>
        <div style="font-size:1rem;font-weight:700;color:var(--t1)">Set Individual Prices</div>
        <div style="font-size:.75rem;color:var(--t2);margin-top:2px">Customize the price for each file, or apply one price to all.</div>
      </div>
      <span class="modal-close" style="position:static;font-size:1.4rem;cursor:pointer;color:var(--t2)">&times;</span>
    </div>
    <div style="padding:14px 22px 8px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--bdr)">
      <label style="font-size:.75rem;color:var(--t2);font-weight:600;white-space:nowrap">Apply to all:</label>
      <input type="number" id="uniformPrice" min="0" step="0.01" placeholder="$9.99" style="width:90px;padding:5px 8px;border-radius:var(--r8);border:1px solid var(--bdr);background:rgba(0,0,0,.22);color:var(--t1);font-size:.8rem;font-family:inherit;text-align:center">
      <button type="button" id="applyUniformBtn" style="padding:5px 12px;border-radius:var(--r8);border:1px solid var(--ah);background:transparent;color:var(--ah);font-size:.75rem;font-weight:600;cursor:pointer;white-space:nowrap;font-family:inherit;transition:background .15s">Apply</button>
    </div>
    <div id="individualPriceList" style="max-height:340px;overflow-y:auto;padding:10px 22px"></div>
    <div style="display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid var(--bdr)">
      <button type="button" id="cancelIndividualBtn" style="padding:8px 18px;border-radius:var(--r12);border:1px solid var(--bdr);background:transparent;color:var(--t2);font-size:.82rem;font-weight:600;cursor:pointer;font-family:inherit">Cancel</button>
      <button type="button" id="confirmIndividualPricesBtn" class="btn btn-pri" style="padding:8px 22px;font-size:.82rem">Confirm &amp; Upload</button>
    </div>
  </div>
</div>

<!-- -- STRIPE CONNECT MODAL -------------------------------------------- -->
<div class="modal" id="stripeConnectModal" style="display:none">
  <div class="modal-content" style="max-width:460px;padding:0;overflow:hidden">
    <div style="display:flex;align-items:center;justify-content:space-between;padding:22px 24px 16px;border-bottom:1px solid var(--bdr)">
      <div style="display:flex;align-items:center;gap:12px">
        <svg style="width:26px;height:26px;flex-shrink:0" viewBox="0 0 24 24" fill="none" stroke="var(--ah)" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="5" width="20" height="14" rx="2"/><line x1="2" y1="10" x2="22" y2="10"/></svg>
        <div>
          <div style="font-size:1rem;font-weight:700;color:var(--t1)">Connect Your Bank Account</div>
          <div style="font-size:.75rem;color:var(--t2);margin-top:2px">Required to receive payments for your files</div>
        </div>
      </div>
      <span class="modal-close" id="stripeConnectClose" style="position:static;font-size:1.4rem;cursor:pointer;color:var(--t2)">&times;</span>
    </div>
    <div style="padding:22px 24px">
      <p style="font-size:.85rem;color:var(--t2);margin:0 0 18px;line-height:1.55">FileShot uses <strong style="color:var(--t1)">Stripe</strong> to pay sellers directly. Setup takes about 2 minutes and you keep <strong style="color:var(--t1)">91%</strong> of every sale.</p>
      <ul style="margin:0 0 22px;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px">
        <li style="display:flex;align-items:center;gap:10px;font-size:.82rem;color:var(--t2)">
          <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="var(--ah)" stroke-width="2.5"><polyline points="20 6 9 17 4 12"/></svg>
          Bank transfer, debit card, or PayPal payout
        </li>
        <li style="display:flex;align-items:center;gap:10px;font-size:.82rem;color:var(--t2)">
          <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="var(--ah)" stroke-width="2.5"><polyline points="20 6 9 17 4 12"/></svg>
          Available in 40+ countries
        </li>
        <li style="display:flex;align-items:center;gap:10px;font-size:.82rem;color:var(--t2)">
          <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="var(--ah)" stroke-width="2.5"><polyline points="20 6 9 17 4 12"/></svg>
          Your upload is saved &mdash; it will proceed automatically after you connect
        </li>
      </ul>
      <button type="button" id="stripeConnectBtn" class="btn btn-pri" style="width:100%;padding:12px;font-size:.9rem;display:flex;align-items:center;justify-content:center;gap:8px">
        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="5" width="20" height="14" rx="2"/><line x1="2" y1="10" x2="22" y2="10"/></svg>
        <span id="stripeConnectBtnText">Connect with Stripe</span>
      </button>
      <p id="stripeConnectWaiting" style="display:none;text-align:center;font-size:.78rem;color:var(--t2);margin:14px 0 0">
        <svg style="vertical-align:-2px;animation:spin 1s linear infinite" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 2v4M12 18v4M4.93 4.93l2.83 2.83M16.24 16.24l2.83 2.83M2 12h4M18 12h4M4.93 19.07l2.83-2.83M16.24 7.76l2.83-2.83"/></svg>
        Waiting for Stripe...
      </p>
    </div>
  </div>
</div>

<!-- -- CUSTOM PAGE MODAL ----------------------------------------------- -->
<div class="modal" id="customPageModal" style="display:none">
  <div class="modal-content" style="max-width:520px;padding:0;overflow:hidden">
    <div style="display:flex;align-items:center;justify-content:space-between;padding:22px 24px 16px;border-bottom:1px solid var(--bdr)">
      <div style="display:flex;align-items:center;gap:12px">
        <svg style="width:26px;height:26px;flex-shrink:0" viewBox="0 0 24 24" fill="none" stroke="var(--ah)" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"/><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"/></svg>
        <div>
          <div style="font-size:1rem;font-weight:700;color:var(--t1)">Custom Download Page</div>
          <div style="font-size:.75rem;color:var(--t2);margin-top:2px">Design how recipients see your file</div>
        </div>
      </div>
      <span class="modal-close" id="customPageModalClose" style="position:static;font-size:1.4rem;cursor:pointer;color:var(--t2)">&times;</span>
    </div>
    <div style="padding:20px 24px;max-height:70vh;overflow-y:auto">
      <div id="customPageOptions" class="custom-page-options" style="display:block">
        <div style="margin-bottom:12px">
          <label style="font-size:.75rem;color:var(--t2);display:block;margin-bottom:4px">Header title (optional)</label>
          <input type="text" id="customPageTitle" placeholder="e.g. My Portfolio" maxlength="80" style="width:100%;box-sizing:border-box;padding:6px 10px;border-radius:var(--r8);border:1px solid var(--bdr);background:rgba(0,0,0,.22);color:var(--t1);font-size:.8rem;font-family:inherit">
        </div>
        <div style="margin-bottom:12px">
          <label style="font-size:.75rem;color:var(--t2);display:block;margin-bottom:4px">Description (optional)</label>
          <textarea id="customPageDescription" placeholder="Add a description that appears on the download page..." maxlength="2000" rows="3" style="width:100%;box-sizing:border-box;padding:6px 10px;border-radius:var(--r8);border:1px solid var(--bdr);background:rgba(0,0,0,.22);color:var(--t1);font-size:.8rem;font-family:inherit;resize:vertical"></textarea>
        </div>
        <div style="display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px">
          <div>
            <label style="font-size:.75rem;color:var(--t2);display:block;margin-bottom:4px">Accent color</label>
            <input type="color" id="customPageAccent" value="#fa6a2a" style="width:100%;height:32px;padding:2px;border-radius:var(--r8);border:1px solid var(--bdr);background:transparent;cursor:pointer">
          </div>
          <div>
            <label style="font-size:.75rem;color:var(--t2);display:block;margin-bottom:4px">Background</label>
            <select id="customPageBg" style="width:100%;padding:6px 10px;border-radius:var(--r8);border:1px solid var(--bdr);background:rgba(0,0,0,.22);color:var(--t1);font-size:.8rem;font-family:inherit">
              <option value="default">Dark default</option>
              <option value="light">Clean light</option>
              <option value="gradient">Warm gradient</option>
              <option value="minimal">Minimal gray</option>
            </select>
          </div>
        </div>
        <div style="display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px">
          <div>
            <label style="font-size:.75rem;color:var(--t2);display:block;margin-bottom:4px">Preview position</label>
            <select id="customPagePreviewPos" style="width:100%;padding:6px 10px;border-radius:var(--r8);border:1px solid var(--bdr);background:rgba(0,0,0,.22);color:var(--t1);font-size:.8rem;font-family:inherit">
              <option value="left">Left sidebar</option>
              <option value="top">Top banner</option>
              <option value="right">Right sidebar</option>
              <option value="hidden">Hidden</option>
            </select>
          </div>
          <div>
            <label style="font-size:.75rem;color:var(--t2);display:block;margin-bottom:4px">Button style</label>
            <select id="customPageBtnStyle" style="width:100%;padding:6px 10px;border-radius:var(--r8);border:1px solid var(--bdr);background:rgba(0,0,0,.22);color:var(--t1);font-size:.8rem;font-family:inherit">
              <option value="primary">Solid primary</option>
              <option value="outline">Outline</option>
              <option value="ghost">Ghost</option>
              <option value="pill">Pill</option>
            </select>
          </div>
        </div>
        <div style="margin-bottom:12px">
          <label style="font-size:.75rem;color:var(--t2);display:block;margin-bottom:4px">Preview image or video (optional)</label>
          <input type="file" id="customPageMedia" accept="image/*,video/*" style="font-size:.75rem;color:var(--t2)">
          <div id="customPageMediaPreview" style="display:none;gap:4px;flex-wrap:wrap;margin-top:5px"></div>
        </div>
        <div style="display:flex;align-items:center;gap:8px;margin-bottom:4px">
          <input type="checkbox" id="customPageShowHeader" checked style="width:auto">
          <label for="customPageShowHeader" style="font-size:.8rem;color:var(--t1);cursor:pointer">Show header on download page</label>
        </div>
      </div>
    </div>
    <div style="padding:14px 24px;border-top:1px solid var(--bdr);display:flex;justify-content:flex-end;gap:8px">
      <button type="button" id="customPageModalCancel" class="btn-chg" style="padding:8px 16px">Cancel</button>
      <button type="button" id="customPageModalSave" class="btn btn-pri" style="padding:8px 18px">Save</button>
    </div>
  </div>
</div>

<!-- home-deferred extracted -->
<!-- deferred to home-deferred -->




<nav data-semrush-hub-links="1" aria-label="Related FileShot pages" style="max-width:920px;margin:2rem auto 1rem;padding:0 20px;font-size:.88rem;line-height:1.6;color:var(--t2,#aaa);">
  <strong style="color:var(--t1,#fff);">Explore FileShot:</strong>
  <a href="/" style="color:var(--ah,#fa6a2a);margin-left:.35rem;">Upload</a> &middot;
  <a href="/security" style="color:var(--ah,#fa6a2a);">Security</a> &middot;
  <a href="/blog/" style="color:var(--ah,#fa6a2a);">Blog</a> &middot;
  <a href="/pricing" style="color:var(--ah,#fa6a2a);">Pricing</a> &middot;
  <a href="/tools/converter" style="color:var(--ah,#fa6a2a);">Tools</a>
</nav>



    <script src="/home-idle.js?v=20261005-dropzk1" data-homelottie1="20260904-homelottie1" data-homeidle831c="20260831-homeidle831c" data-homeidle831c="20260831-homeidle831c" defer data-homeidle831="20260831-homeidle831"></script>
<script src="/lcpgate911.js?v=20261008-feux1" defer></script>
<script src="/nav-drawer.min.js?v=20260904-plan929" defer data-plan904="20260902-plan904"></script>
<script src="/theme-init.min.js?v=20260918-themebind1" defer data-plan904="20260902-plan904"></script>
<script src="/tools/authchip.js?v=20260926-affsignoff1" defer></script>
</body>
</html>

Latest requests

# Url Url Source Date
1 https://fileshot.io/ 2026-10-16 23:36:27
2 https://auth.mediacorp.sg/u/login?… 2026-10-16 23:36:27
3 https://www.thebolditalic.com/?gi=… 2026-10-16 23:36:26
4 https://consent.youtube.com/m?cont… 2026-10-16 23:36:26
5 https://www.thebolditalic.com/?gi=… 2026-10-16 23:36:26
6 https://www.thebolditalic.com/?gi=… 2026-10-16 23:36:25
7 https://www.thebolditalic.com/?gi=… 2026-10-16 23:36:24
8 https://www.thebolditalic.com/?gi=… 2026-10-16 23:36:24
9 https://www.thebolditalic.com/?gi=… 2026-10-16 23:36:23
10 https://www.thebolditalic.com/?gi=… 2026-10-16 23:36:22
11 https://innocence.boardhost.com/in… 2026-10-16 23:36:22
12 https://www.thebolditalic.com/?gi=… 2026-10-16 23:36:22
13 https://www.thebolditalic.com/?gi=… 2026-10-16 23:36:21
14 https://www.thebolditalic.com/?gi=… 2026-10-16 23:36:21
15 https://www.thebolditalic.com/?gi=… 2026-10-16 23:36:20
16 https://www.thebolditalic.com/?gi=… 2026-10-16 23:36:19
17 https://www.texarkanatwins.com/%25… 2026-10-16 23:36:19
18 https://www.thebolditalic.com/?gi=… 2026-10-16 23:36:19
19 https://www.thebolditalic.com/?gi=… 2026-10-16 23:36:18
20 https://www.thebolditalic.com/?gi=… 2026-10-16 23:36:18