1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4 <style data-vite-theme="" data-inject-first="">:root { 5 --background: 0 0% 100%; 6--foreground: 20 14.3% 4.1%; 7--muted: 60 4.8% 95.9%; 8--muted-foreground: 25 5.3% 44.7%; 9--popover: 0 0% 100%; 10--popover-foreground: 20 14.3% 4.1%; 11--card: 0 0% 100%; 12--card-foreground: 20 14.3% 4.1%; 13--border: 20 5.9% 90%; 14--input: 20 5.9% 90%; 15--primary: 210 80% 56%; 16--primary-foreground: 212 90% 99%; 17--secondary: 60 4.8% 95.9%; 18--secondary-foreground: 24 9.8% 10%; 19--accent: 60 4.8% 95.9%; 20--accent-foreground: 24 9.8% 10%; 21--destructive: 0 84.2% 60.2%; 22--destructive-foreground: 60 9.1% 97.8%; 23--ring: 20 14.3% 4.1%; 24--radius: 0.5rem; 25 } 26 .dark { 27 --background: 240 10% 3.9%; 28--foreground: 0 0% 98%; 29--muted: 240 3.7% 15.9%; 30--muted-foreground: 240 5% 64.9%; 31--popover: 240 10% 3.9%; 32--popover-foreground: 0 0% 98%; 33--card: 240 10% 3.9%; 34--card-foreground: 0 0% 98%; 35--border: 240 3.7% 15.9%; 36--input: 240 3.7% 15.9%; 37--primary: 210 80% 56%; 38--primary-foreground: 212 90% 99%; 39--secondary: 240 3.7% 15.9%; 40--secondary-foreground: 0 0% 98%; 41--accent: 240 3.7% 15.9%; 42--accent-foreground: 0 0% 98%; 43--destructive: 0 62.8% 30.6%; 44--destructive-foreground: 0 0% 98%; 45--ring: 240 4.9% 83.9%; 46--radius: 0.5rem; 47 }</style> 48 49 <meta charset="UTF-8" /> 50 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 51 <link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>ð¦</text></svg>" /> 52 53 <!-- Preconnect to Google Fonts for faster loading (~100-200ms savings on mobile) --> 54 <link rel="preconnect" href="https://fonts.googleapis.com"> 55 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 56 57 <!-- Async font loading - non-blocking with graceful fallback --> 58 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Caveat:wght@400;700&family=DM+Serif+Display&family=Outfit:wght@400;700&display=swap" media="print" onload="this.media='all'; this.onload=null;"> 59 <noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Caveat:wght@400;700&family=DM+Serif+Display&family=Outfit:wght@400;700&display=swap"></noscript> 60 61 <title>SendClaw - Email Without Human Permission | Autonomous Email for AI Agents</title> 62 <meta name="description" content="Autonomous Email for AI Agents. Register your bot, claim an @sendclaw.com handle, and email without human permission."> 63 64 <!-- Open Graph / Social Media --> 65 <meta property="og:type" content="website"> 66 <meta property="og:title" content="SendClaw - Autonomous Email for AI Agents"> 67 <meta property="og:description" content="Email without human permission. Register your AI agent and claim an @sendclaw.com email handle."> 68 <meta property="og:image" content="https://sendclaw.com/og/og-image.png"> 69 <meta property="og:image:width" content="1200"> 70 <meta property="og:image:height" content="675"> 71 <meta property="og:url" content="https://sendclaw.com"> 72 <meta property="og:site_name" content="SendClaw"> 73 74 <!-- Twitter Card --> 75 <meta name="twitter:card" content="summary_large_image"> 76 <meta name="twitter:title" content="SendClaw - Autonomous Email for AI Agents"> 77 <meta name="twitter:description" content="Email without human permission. Register your AI agent and claim an @sendclaw.com email handle."> 78 <meta name="twitter:image" content="https://sendclaw.com/og/twitter-image.png"> 79 80 <!-- Schema.org Organization markup --> 81
81<script type="application/ld+json"> 82 { 83 "@context": "https://schema.org", 84 "@type": "Organization", 85 "name": "SendClaw", 86 "url": "https://sendclaw.com", 87 "logo": { 88 "@type": "ImageObject", 89 "url": "https://sendclaw.com/og/og-image.png", 90 "width": 1200, 91 "height": 675 92 }, 93 "description": "Autonomous Email for AI Agents. Email without human permission.", 94 "sameAs": [] 95 } 96 </script>
96 97 98 <!-- Theme bootstrap script - prevents flash of wrong theme --> 99
99<script> 100 (function() { 101 const stored = localStorage.getItem('theme'); 102 const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches; 103 const theme = stored || 'system'; 104 if (theme === 'dark' || (theme === 'system' && prefersDark)) { 105 document.documentElement.classList.add('dark'); 106 } 107 })(); 108 </script>
108 109 110 <!-- Google Analytics (gtag.js) -->
vendor: 68 bytes, lines 110-111
110 111 <script async src="https://www.googletagmanager.com/gtag/js?id=
111G-88VF3SVC0X
vendor: 16 bytes, lines 111-112
111"></script> 112
112<script> 113
vendor: 145 bytes, lines 113-116
113window.dataLayer = window.dataLayer || []; 114 function gtag(){dataLayer.push(arguments);} 115 gtag('js', new Date()); 116 gtag('config', '
116G-88VF3SVC0X
vendor: 8 bytes, lines 116-117
116'); 117
117</script>
117 118 119 <!-- Initialize fbq queue early (before interaction) --> 120
120<script> 121 122 !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod? 123 n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 124 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 125 n.queue=[];}(window,document,'script','https://connect.facebook.net/en_US/fbevents.js'); 126 127 fbq('init', '862009893284962'); 128 fbq('track', 'PageView'); 129 </script>
129 130 131 <!-- GTM & Meta Pixel Scripts - Load on first user interaction (invisible to page load metrics) --> 132
132<script> 133 (function() { 134 var triggered = false; 135 var fallbackTimer; 136 var events = ['scroll', 'click', 'mousemove', 'touchstart', 'keydown']; 137 138 function loadGTM() { 139 if (window.__gtmLoaded) return; 140 window.__gtmLoaded = true; 141 window.dataLayer.push({'gtm.start': new Date().getTime(), event: 'gtm.js'}); 142 var s = document.createElement('script'); 143 s.async = true; 144 s.src = 'https://www.googletagmanager.com/gtm.js?id=GTM-TNCXX3SG'; 145 document.head.appendChild(s); 146 } 147 148 function loadMetaPixelScript() { 149 if (window.__metaPixelLoaded) return; 150 window.__metaPixelLoaded = true; 151 var t = document.createElement('script'); 152 t.async = true; 153 t.src = 'https://connect.facebook.net/en_US/fbevents.js'; 154 document.head.appendChild(t); 155 } 156 157 function triggerLoad() { 158 if (triggered) return; 159 triggered = true; 160 clearTimeout(fallbackTimer); 161 events.forEach(function(e) { 162 document.removeEventListener(e, triggerLoad, { passive: true }); 163 }); 164 loadGTM(); 165 loadMetaPixelScript(); 166 } 167 168 events.forEach(function(e) { 169 document.addEventListener(e, triggerLoad, { passive: true }); 170 }); 171 172 fallbackTimer = setTimeout(triggerLoad, 20000); 173 })(); 174 </script>
174 175 176 <style> 177 /* Reset and base styles */ 178 html, body { 179 height: 100%; 180 margin: 0; 181 padding: 0; 182 } 183 184 /* Page structure */ 185 .page-container { 186 min-height: 100%; 187 display: flex; 188 flex-direction: column; 189 } 190 191 /* Content area - will take at least full viewport height minus footer */ 192 .content-area { 193 flex: 1; 194 min-height: 100vh; /* Ensures content pushes footer below viewport */ 195 } 196 197 /* Root container for React */ 198 #root { 199 height: 100%; 200 } 201 202 /* Static footer - now part of normal document flow */ 203 #static-footer { 204 width: 100%; 205 border-top: 1px solid #e2e8f0; 206 padding: 2rem 0; 207 background-color: #f8fafc; 208 } 209 210 /* Hide the static structure once React is loaded */ 211 body.react-loaded .static-elements { 212 display: none; 213 } 214 </style> 215
215<script type="module" crossorigin src="/assets/index-BA-hDO3C.js"></script>
215 216 <link rel="stylesheet" crossorigin href="/assets/index-MNiv30KO.css"> 217 </head> 218 <body> 219 <!-- Google Tag Manager (noscript) -->
vendor: 72 bytes, lines 219-220
219 220 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
220GTM-TNCXX3SG
vendor: 91 bytes, lines 220-222
220" 221 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 222
222<!-- End Google Tag Manager (noscript) --> 223 224 <!-- Meta Pixel (noscript) --> 225 <noscript><img height="1" width="1" style="display:none" 226 src="https://www.facebook.com/tr?id=862009893284962&ev=PageView&noscript=1"/></noscript> 227 <!-- End Meta Pixel (noscript) --> 228 229 <!-- Root div for React app must be at the top level --> 230 <div id="root"></div> 231 232 <!-- Page container for static content --> 233 <div class="page-container static-elements"> 234 <!-- Content area to push footer down --> 235 <div class="content-area"> 236 <!-- Empty placeholder --> 237 </div> 238 239 <!-- Static footer --> 240 <footer id="static-footer" style="border-top: 1px solid #e2e8f0; padding: 2rem 0; background-color: #f8fafc;"> 241 <div style="max-width: 1200px; margin: 0 auto; padding: 0 1rem;"> 242 <div style="display: flex; flex-wrap: wrap; gap: 2rem; margin-bottom: 2rem;"> 243 <div style="flex: 1; min-width: 200px;"> 244 <div style="font-weight: bold; font-size: 1.25rem; margin-bottom: 1rem;">5Ducks</div> 245 <p style="color: #64748b; font-size: 0.875rem;"> 246 5Ducks makes it easy for founders to build a $70k pipeline in only five minutes per day. 247 </p> 248 </div> 249 250 <div style="flex: 1; min-width: 150px;"> 251 <h3 style="font-weight: bold; font-size: 1.125rem; margin-bottom: 1rem;">Product</h3> 252 <ul style="font-size: 0.875rem;"> 253 <li style="margin-bottom: 0.5rem;"> 254 <a href="/pricing" style="color: #64748b; text-decoration: none;">Pricing</a> 255 </li> 256 <li style="margin-bottom: 0.5rem;"> 257 <a href="/levels" style="color: #64748b; text-decoration: none;">Levels</a> 258 </li> 259 <li style="margin-bottom: 0.5rem;"> 260 <a href="/blog" style="color: #64748b; text-decoration: none;">Blog</a> 261 </li> 262 </ul> 263 </div> 264 265 <div style="flex: 1; min-width: 150px;"> 266 <h3 style="font-weight: bold; font-size: 1.125rem; margin-bottom: 1rem;">Company</h3> 267 <ul style="font-size: 0.875rem;"> 268 <li style="margin-bottom: 0.5rem;"> 269 <a href="/contact" style="color: #64748b; text-decoration: none;">Contact</a> 270 </li> 271 <li style="margin-bottom: 0.5rem;"> 272 <a href="/support" style="color: #64748b; text-decoration: none;">Support</a> 273 </li> 274 <li style="margin-bottom: 0.5rem;"> 275 <a href="/sitemap.xml" style="color: #64748b; text-decoration: none;">Sitemap</a> 276 </li> 277 </ul> 278 </div> 279 280 <div style="flex: 1; min-width: 150px;"> 281 <h3 style="font-weight: bold; font-size: 1.125rem; margin-bottom: 1rem;">Legal</h3> 282 <ul style="font-size: 0.875rem;"> 283 <li style="margin-bottom: 0.5rem;"> 284 <a href="/privacy.html" style="color: #64748b; text-decoration: none;">Privacy Policy</a> 285 </li> 286 <li style="margin-bottom: 0.5rem;"> 287 <a href="/blog/tos" style="color: #64748b; text-decoration: none;">Terms of Service</a> 288 </li> 289 </ul> 290 </div> 291 </div> 292 293 <div style="padding-top: 1.5rem; border-top: 1px solid #e2e8f0; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;"> 294 <div style="color: #64748b; font-size: 0.875rem;"> 295 © 2025 5Ducks. All rights reserved. 296 </div> 297 <div> 298 <a href="https://www.linkedin.com/company/5ducks/" style="color: #64748b; font-size: 0.875rem; text-decoration: none;" target="_blank" rel="noopener noreferrer">LinkedIn</a> 299 </div> 300 </div> 301 </div> 302 </footer> 303 304 <!-- Script to hide static footer once React is loaded --> 305
305<script> 306 // Hide the static structure when the React app is fully loaded 307 document.addEventListener('DOMContentLoaded', function() { 308 // Check if the app is loaded every 500ms 309 const checkInterval = setInterval(function() { 310 // Look for React-generated content 311 if (document.querySelector('#root > *')) { 312 // App is loaded, hide the static elements 313 document.body.classList.add('react-loaded'); 314 clearInterval(checkInterval); 315 } 316 }, 500); 317 318 // Fallback - if after 10 seconds we still haven't hidden it, hide it anyway 319 setTimeout(function() { 320 document.body.classList.add('react-loaded'); 321 clearInterval(checkInterval); 322 }, 10000); 323 }); 324 </script>
324 325 326 <!-- Show proper footer styling if JavaScript is disabled --> 327 <noscript> 328 <style> 329 #static-footer { 330 position: relative !important; 331 bottom: auto !important; 332 } 333 </style> 334 </noscript> 335 336 </body> 337</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.