1<!doctype html> 2<html lang="en"> 3 <head> 4 <!-- Google tag (gtag.js) -->
vendor: 68 bytes, lines 4-5
4 5 <script async src="https://www.googletagmanager.com/gtag/js?id=
5AW-18275930266
vendor: 16 bytes, lines 5-6
5"></script> 6
6<script> 7
vendor: 145 bytes, lines 7-10
7window.dataLayer = window.dataLayer || []; 8 function gtag(){dataLayer.push(arguments);} 9 gtag('js', new Date()); 10 gtag('config', '
10AW-18275930266
vendor: 8 bytes, lines 10-11
10'); 11
11</script>
11 12 13 <meta charset="UTF-8" /> 14 <!-- viewport-fit=cover lets the app paint under iOS notch/home-bar 15 areas; we apply `safe-area-inset-*` padding in CSS to keep 16 interactive content out of those zones. maximumScale=5 keeps 17 pinch-zoom available (better than the maximum-scale=1 pattern 18 that breaks accessibility). --> 19 <meta 20 name="viewport" 21 content="width=device-width, initial-scale=1.0, viewport-fit=cover, maximum-scale=5" 22 /> 23 24 <!-- Favicons + PWA manifest. 25 Google Search requires a PNG favicon (ignores SVG) at â¥48Ã48px. 26 pwa-192x192.png is the canonical source Google will use. 27 SVG is kept as the primary browser tab icon (crisp at all sizes). 28 favicon.ico removed â file did not exist, causing 404s. --> 29 <link rel="icon" type="image/svg+xml" href="/favicon.svg" /> 30 <link rel="icon" type="image/png" sizes="192x192" href="/pwa-192x192.png" /> 31 <link rel="icon" type="image/png" sizes="512x512" href="/pwa-512x512.png" /> 32 <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
33 <!-- Manifest is generated at build time by vite-plugin-pwa 34 (manifest.webmanifest in dist/). Dev preview won't have it yet 35 but browsers gracefully ignore a missing manifest. --> 36 <link rel="manifest" href="/manifest.webmanifest" /> 37 <meta name="theme-color" content="#0f1219" /> 38 <!-- iOS PWA controls. Tells iOS this is a web app that can be added 39 to home screen; black-translucent makes the status bar overlay 40 our gradient instead of stealing 20pt at the top. --> 41 <meta name="apple-mobile-web-app-capable" content="yes" /> 42 <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" /> 43 <meta name="apple-mobile-web-app-title" content="AffixAI" /> 44 <meta name="mobile-web-app-capable" content="yes" /> 45 46 <!-- Default SEO. Per-page <Seo> tags in src/components/Seo.tsx override 47 these on a route-by-route basis. This block is what social-card 48 crawlers + non-JS bots see when they hit the entry HTML before 49 React boots â important for share previews. --> 50 <title>Affix AI â Sign Documents Online | Electronic Signature & PDF Auto-fill</title> 51 <meta 52 name="description" 53 content="Sign documents online with Affix AI. Upload any PDF contract, NDA, or form â AI fills every field from your encrypted vault and collects electronic signatures. Free 30-day trial." 54 /> 55 <meta name="keywords" content="Affix AI, AffixAI, sign documents online, electronic signature, e-signature, PDF signing, document signing, sign PDF online, digital signature, auto-fill PDF" /> 56 <link rel="canonical" href="https://affix-ai.com/" /> 57 58 <!-- Open Graph (Facebook, LinkedIn, Slack, Discord) --> 59 <meta property="og:type" content="website" /> 60 <meta property="og:site_name" content="Affix AI" /> 61 <meta property="og:title" content="Affix AI â Sign Documents Online | Electronic Signature" /> 62 <meta 63 property="og:description" 64 content="Drop any PDF â AffixAI fills every blank, label, and signature box from your encrypted vault. Free 30-day Pro trial." 65 /> 66 <meta property="og:url" content="https://affix-ai.com/" /> 67 <meta property="og:image" content="https://affix-ai.com/og-default.png" /> 68 <meta property="og:image:width" content="1200" /> 69 <meta property="og:image:height" content="630" /> 70 <meta property="og:image:alt" content="AffixAI â auto-fill any PDF from an encrypted vault" /> 71 72 <!-- Twitter / X cards. summary_large_image is the rich preview. --> 73 <meta name="twitter:card" content="summary_large_image" /> 74 <meta name="twitter:site" content="@affixai" /> 75 <meta name="twitter:creator" content="@affixai" /> 76 <meta name="twitter:title" content="AffixAI â Auto-sign any PDF from your encrypted vault" /> 77 <meta 78 name="twitter:description" 79 content="Drop any PDF â AffixAI fills every blank, label, and signature box from your encrypted vault. Free 30-day Pro trial." 80 /> 81 <meta name="twitter:image" content="https://affix-ai.com/og-default.png" /> 82 83 <!-- Robots: index by default; per-page Seo can override for auth-walled 84 routes (we don't currently noindex anything since auth routes don't 85 have unique URLs that get crawled). --> 86 <meta name="robots" content="index, follow" /> 87 88 <link rel="preconnect" href="https://fonts.googleapis.com"> 89 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 90 <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap" rel="stylesheet"> 91 <!-- Editor "signing" fonts: calligraphic + handwriting styles users can pick when 92 stamping text overlays. Mirrors the bundled TTFs in app/static/fonts/ so the 93 in-browser preview matches the final stamped PDF. --> 94 <link href="https://fonts.googleapis.com/css2?family=Caveat&family=Dancing+Script&family=Great+Vibes&family=Sacramento&display=swap" rel="stylesheet"> 95 96 <!-- WebSite schema â standalone block required by Google's Site Name 97 feature. Must be a top-level @type (NOT nested in @graph) for 98 Google to use it as the displayed site name in search results. --> 99
99<script type="application/ld+json"> 100 { 101 "@context": "https://schema.org", 102 "@type": "WebSite", 103 "name": "Affix AI", 104 "alternateName": "AffixAI", 105 "url": "https://affix-ai.com/", 106 "potentialAction": { 107 "@type": "SearchAction", 108 "target": { 109 "@type": "EntryPoint", 110 "urlTemplate": "https://affix-ai.com/blog?q={search_term_string}" 111 }, 112 "query-input": "required name=search_term_string" 113 } 114 } 115 </script>
115 116 117 <!-- SiteNavigationElement â tells Google which pages to surface as 118 sitelinks beneath the main search result. Use action-oriented 119 labels (Sign Up, Log In, Pricing) so they match searcher intent. --> 120
120<script type="application/ld+json"> 121 { 122 "@context": "https://schema.org", 123 "@type": "ItemList", 124 "name": "Affix AI site navigation", 125 "itemListElement": [ 126 { "@type": "SiteNavigationElement", "position": 1, "name": "Sign Up Free", "url": "https://affix-ai.com/register" }, 127 { "@type": "SiteNavigationElement", "position": 2, "name": "Log In", "url": "https://affix-ai.com/login" }, 128 { "@type": "SiteNavigationElement", "position": 3, "name": "Pricing", "url": "https://affix-ai.com/pricing" }, 129 { "@type": "SiteNavigationElement", "position": 4, "name": "Auto-Sign Documents", "url": "https://affix-ai.com/auto-sign" }, 130 { "@type": "SiteNavigationElement", "position": 5, "name": "About Affix AI", "url": "https://affix-ai.com/about" }, 131 { "@type": "SiteNavigationElement", "position": 6, "name": "Blog", "url": "https://affix-ai.com/blog" } 132 ] 133 } 134 </script>
134 135 136 <!-- Organization + SoftwareApplication: knowledge panel, product 137 carousel, rich results. Keep in @graph for internal @id linking. --> 138
138<script type="application/ld+json"> 139 { 140 "@context": "https://schema.org", 141 "@graph": [ 142 { 143 "@type": "Organization", 144 "@id": "https://affix-ai.com/#organization", 145 "name": "Affix AI", 146 "alternateName": ["AffixAI", "Affix-AI"], 147 "url": "https://affix-ai.com/", 148 "logo": { 149 "@type": "ImageObject", 150 "url": "https://affix-ai.com/pwa-512x512.png", 151 "width": 512, 152 "height": 512 153 }, 154 "sameAs": [ 155 "https://twitter.com/affixai", 156 "https://www.linkedin.com/company/affixai", 157 "https://github.com/SAULTECH-Inc" 158 ], 159 "contactPoint": { 160 "@type": "ContactPoint", 161 "contactType": "customer support", 162 "url": "https://affix-ai.com/contact" 163 } 164 }, 165 { 166 "@type": "SoftwareApplication", 167 "@id": "https://affix-ai.com/#software", 168 "name": "Affix AI", 169 "alternateName": ["AffixAI", "Affix AI document signer", "Affix AI e-signature"], 170 "description": "Sign documents online with AI. Auto-fills any PDF contract, NDA, or form from your encrypted vault. Electronic signatures, document routing, and team signing workflows.", 171 "applicationCategory": "BusinessApplication", 172 "applicationSubCategory": "Electronic Signature Software", 173 "operatingSystem": "Web, Chrome Extension", 174 "url": "https://affix-ai.com/", 175 "screenshot": "https://affix-ai.com/og-default.png", 176 "publisher": { "@id": "https://affix-ai.com/#organization" }, 177 "featureList": [ 178 "Electronic signatures", 179 "PDF auto-fill", 180 "Document routing", 181 "Encrypted data vault", 182 "Multi-party signing", 183 "Chrome extension" 184 ], 185 "offers": { 186 "@type": "Offer", 187 "price": "0", 188 "priceCurrency": "USD", 189 "description": "Free tier â 5 documents per month. Pro from $19/mo with regional pricing." 190 }, 191 "aggregateRating": { 192 "@type": "AggregateRating", 193 "ratingValue": "4.8", 194 "reviewCount": "12" 195 } 196 } 197 ] 198 } 199 </script>
199 200
200<script type="module" crossorigin src="/assets/index-EPpIPBLu.js"></script>
200 201 <link rel="stylesheet" crossorigin href="/assets/index-t2PVOMjl.css"> 202 <link rel="manifest" href="/manifest.webmanifest">
202<script id="vite-plugin-pwa:register-sw" src="/registerSW.js"></script>
202</head> 203 <body> 204 <div id="root"></div> 205 <!-- Crawler fallback for non-JS bots + LLMs that don't execute 206 scripts (Bingbot, Slurp, GPTBot, etc.). Tier-2 pre-rendering 207 replaces this with a real route-specific snapshot. --> 208 <noscript> 209 <div style="max-width: 720px; margin: 4rem auto; padding: 0 1.5rem; font-family: system-ui, sans-serif;"> 210 <h1>AffixAI â auto-sign any PDF from your encrypted vault</h1> 211 <p> 212 Drop a contract, NDA, or onboarding form. AffixAI reads it, finds 213 every blank, label, and signature box, and fills it from your 214 encrypted data vault â name, IDs, employer, signature. 215 </p> 216 <ul> 217 <li>Free tier: 5 documents / month</li> 218 <li>Pro: from $5/mo (regional pricing â Paystack for Nigeria, 219 Flutterwave for the rest of Africa, Stripe globally)</li> 220 <li>AES-256-GCM encryption at rest</li> 221 <li>30-day Pro trial, no card required</li> 222 </ul> 223 <p> 224 <a href="/register">Try AffixAI free</a> · 225 <a href="/about">About</a> · 226 <a href="/blog">Blog</a> · 227 <a href="/privacy">Privacy</a> · 228 <a href="/terms">Terms</a> 229 </p> 230 </div> 231 </noscript> 232 </body> 233</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.