1<!DOCTYPE html> 2<html lang="en" data-theme="dark" data-accent="indigo" data-font="techy"> 3<head> 4 <meta charset="UTF-8" /> 5<!-- This site is hosted on Netlify. Anyone can build and deploy a site 6 like this one for free: https://netlify.new/?utm_campaign=loops&utm_source=ai-legible&utm_medium=owned&utm_content=comment&utm_id=4ef755cc-f491-47e9-aa70-2db5b14bb1d0 7 Netlify hosting facts for this site: static/SSR served via Netlify Edge. --> 8 <link rel="icon" href="/icons/icon-192.png" type="image/png" /> 9 <meta name="viewport" content="width=device-width, initial-scale=1" /> 10 <title>Privacy Policy â Explainly</title> 11 <meta name="description" content="How Explainly collects, uses, and protects your information when you use the Chrome extension and website." /> 12 <link rel="preconnect" href="https://fonts.googleapis.com" /> 13 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> 14 <link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&family=Bricolage+Grotesque:opsz,[email protected],500;12..96,600;12..96,700&family=Sora:wght@500;600;700&display=swap" rel="stylesheet" /> 15 <link rel="stylesheet" href="/css/landing.css" /> 16 <link rel="stylesheet" href="/css/legal.css" /> 17</head> 18<body> 19<canvas id="starfield"></canvas> 20<div class="bg-aura"></div> 21 22<!-- HEADER --> 23<header> 24 <div class="wrap nav"> 25 <a class="brand" href="/" aria-label="Explainly home"> 26 <img class="logo" src="/icons/logo-indigo.png" alt="Explainly logo" /> 27 <span>Explainly</span> 28 </a> 29 <nav class="nav-links" id="navLinks"> 30 <a href="/#how">How it works</a> 31 <a href="/#modes">Modes</a> 32 <a href="/#features">Features</a> 33 <a href="/#pricing">Pricing</a> 34 </nav> 35 <div class="nav-right"> 36 <a class='nav-signin' href='/app/login' id='nav-signin'>Sign in</a> 37 <button class="theme-btn" id="themeToggle" aria-label="Toggle dark / light mode"> 38 <svg class="ic-moon" viewBox="0 0 24 24" fill="none"><path d="M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8Z" stroke="currentColor" stroke-width="1.8" stroke-linejoin="round"/></svg> 39 <svg class="ic-sun" viewBox="0 0 24 24" fill="none"><circle cx="12" cy="12" r="4.2" stroke="currentColor" stroke-width="1.8"/><path d="M12 2.5v2.2M12 19.3v2.2M21.5 12h-2.2M4.7 12H2.5M18.7 5.3l-1.6 1.6M6.9 17.1l-1.6 1.6M18.7 18.7l-1.6-1.6M6.9 6.9 5.3 5.3" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"/></svg> 40 </button> 41 <a class="btn btn-primary btn-sm" href="https://chromewebstore.google.com/detail/explainly/fbajmbncecpiklnaekpfpkcmieimfcpb" target="_blank" rel="noopener"> 42 <svg viewBox="0 0 24 24" fill="none"><circle cx="12" cy="12" r="9" stroke="currentColor" stroke-width="1.8"/><circle cx="12" cy="12" r="3.2" stroke="currentColor" stroke-width="1.8"/><path d="M12 8.8h8M9.1 13.5 5 20.4M14.9 13.5 19 20.4" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"/></svg> 43 Add to Chrome 44 </a> 45 <button class="menu-btn" id="menuBtn" aria-label="Menu"> 46 <svg viewBox="0 0 24 24" fill="none"><path d="M4 7h16M4 12h16M4 17h16" stroke="currentColor" stroke-width="2" stroke-linecap="round"/></svg> 47 </button> 48 </div> 49 </div> 50</header> 51 52<main class="legal-main"> 53 <!-- TITLE --> 54 <div class="legal-hero"> 55 <span class="eyebrow">Legal</span> 56 <h1>Privacy Policy</h1> 57 <p class="lead">How Unproton Labs collects, uses, and protects your information when you use Explainly.</p> 58 <span class="legal-updated"><span class="dot"></span>Last updated: 29 May 2025</span> 59 <nav class="legal-tabs" aria-label="Legal pages"> 60 <a aria-current='page' href='/privacy'>Privacy Policy</a> 61 <a href='/terms'>Terms of Service</a> 62 <a href='/refund'>Refund Policy</a> 63 </nav> 64 </div> 65 66 <!-- DOCUMENT --> 67 <div class="legal-shell"> 68 <article class="legal-card"> 69 <div class="legal-note"> 70 <span class="ic"><svg viewBox="0 0 24 24" fill="none"><path d="M12 3 4 6v6c0 4.5 3.2 7.6 8 9 4.8-1.4 8-4.5 8-9V6l-8-3Z" stroke="currentColor" stroke-width="1.8" stroke-linejoin="round"/>
70<path d="M9 12l2 2 4-4" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></span> 71 <span><strong>Privacy summary:</strong> Explainly does not log or store the text you select on any server. No browsing history or page URLs are stored server-side. Anonymous users send only selected text to the AI backend for processing â this text is never saved.</span> 72 </div> 73 74 <p>This Privacy Policy describes how Unproton Labs ("we", "us", or "our"), the developer of Explainly, collects, uses, and protects information when you use the Explainly Chrome extension and website.</p> 75 76 <h2>1. Information We Collect</h2> 77 78 <h3>1.1 Anonymous / Guest Users (No Account)</h3> 79 <p>If you use Explainly without signing in:</p> 80 <ul> 81 <li>The text you select and surrounding context (up to 600 characters) is sent to our AI backend to generate an explanation. <strong>This text is not stored on any server.</strong></li> 82 <li>No page URLs, no browsing history, and no personal information are transmitted or stored.</li> 83 <li>An anonymous usage counter (<code>anon_count</code>) is stored locally in your browser via <code>chrome.storage.local</code>. It never leaves your device.</li> 84 <li>Anonymous usage events (e.g., explanation mode, selection length) may be collected for aggregate analytics. These events do not include the selected text or your identity.</li> 85 </ul> 86 87 <h3>1.2 Signed-In Users (Google Account)</h3> 88 <p>If you sign in with Google:</p> 89 <ul> 90 <li><strong>Email address:</strong> Stored in our Supabase database to identify your account and track usage limits.</li> 91 <li><strong>Google OAuth ID:</strong> The Supabase user ID linked to your Google account (used for authentication only).</li> 92 <li><strong>Daily usage counts:</strong> How many explanations you have requested today (general, Deep mode, Why? mode) â stored to enforce free-tier limits and display your usage bar.</li> 93 <li><strong>Subscription tier:</strong> Whether your account is "free", "pro", or "premium" â stored to determine your access level and usage limits.</li> 94 <li><strong>Selected text:</strong> Still not stored unless you explicitly save an explanation (see Section 1.3).</li> 95 </ul> 96 97 <h3>1.3 Saved Explanations (Cloud Saves)</h3> 98 <p>If you use the cloud save feature:</p> 99 <ul> 100 <li>The selected text, AI-generated explanation, mode, source page URL, source domain, and page title are stored in Supabase under your account.</li> 101 <li>These saves are private to your account and are not shared with any third parties.</li> 102 <li>Cloud saves require a Pro or Premium subscription. Free users can use "Local" saves mode, which stores explanations only on your device and never on our servers.</li> 103 <li>You can delete any saved explanation at any time from the Library.</li> 104 </ul> 105 106 <h3>1.4 Local Storage (On Your Device)</h3> 107 <p>Explainly stores the following data locally in your browser using <code>chrome.storage.local</code>. This data never leaves your device unless explicitly noted:</p> 108 <ul> 109 <li>Your preferences: theme, trigger mode, layout, font size, popup position, etc.</li> 110 <li>Your authentication tokens (Supabase JWT and refresh token) â encrypted at rest by Chrome on supp
110orted OS configurations.</li> 111 <li>Local save library (if you use "Local" saves mode instead of "Cloud" â max 50 entries, stored only on this device).</li> 112 <li>Usage cache for instant display of your daily usage count without a network request.</li> 113 </ul> 114 115 <h2>2. How We Use Your Information</h2> 116 <ul> 117 <li><strong>To provide the Service:</strong> Sending selected text to AI providers to generate explanations.</li> 118 <li><strong>To manage accounts:</strong> Storing your email and usage counts to enforce tier limits and display your account dashboard.</li> 119 <li><strong>To process payments:</strong> Passing payment verification to our payment processors â Paddle (international) and Razorpay (India) â to upgrade your account.</li> 120 <li><strong>To improve the Service:</strong> Aggregate, anonymised analytics events (e.g., mode usage, error rates, provider performance) to understand how the extension is used and fix issues.</li> 121 <li><strong>To communicate with you:</strong> We may use your email to send important account-related notices (not for marketing unless you opt in).</li> 122 </ul> 123 124 <h2>3. Third-Party Services</h2> 125 <p>Explainly uses the following third-party services:</p> 126 <ul> 127 <li><strong>Google Gemini AI</strong> â Primary AI provider. Your selected text is sent to Google's Gemini API to generate explanations. See <a href="https://policies.google.com/privacy" target="_blank" rel="noopener">Google's Privacy Policy</a>.</li> 128 <li><strong>Groq</strong> â Fallback AI provider (used if Gemini is unavailable). See <a href="https://groq.com/privacy-policy/" target="_blank" rel="noopener">Groq's Privacy Policy</a>.</li> 129 <li><strong>Supabase</strong> â Database and authentication. Your email, usage counts, and cloud saves (if enabled) are stored here. See <a href="https://supabase.com/privacy" target="_blank" rel="noopener">Supabase's Privacy Policy</a>.</li> 130 <li><strong>Google OAuth</strong> â Used for sign-in. No passwords are handled by Explainly. See <a href="https://policies.google.com/privacy" target="_blank" rel="noopener">Google's Privacy Policy</a>.</li> 131 <li><strong>Paddle</strong> â Payment processor (Merchant of Record) for international users. Handles subscription payments, refunds, and tax. Explainly does not store your card details. See <a href="https://www.paddle.com/legal/privacy" target="_blank" rel="noopener">Paddle's Privacy Policy</a>.</li> 132 <li><strong>Razorpay</strong> â Payment processor for Indian users (UPI, cards, net banking). Handles subscription payments for users in India. Explainly does not store your card or UPI details. See <a href="https://razorpay.com/privacy/" target="_blank" rel="noopener">Razorpay's Privacy Policy</a>.</li> 133 <li><strong>dictionaryapi.dev</strong> â Free public dictionary API used for single-word Normal-mode lookups. No personal data is sent.</li> 134 <li><strong>Vercel</strong> â Hosts the Explainly backend API. See <a href="https://vercel.com/legal/privacy-policy" target="_blank" rel="noopener">Vercel's Privacy Policy</a>.</li> 135 </ul> 136 137 <h2>4. Data Retention</h2> 138 <ul> 139 <li><strong>Analytics events</strong> are periodically reviewed and deleted. We aim to retain raw event data for no longer than 90 days.</li> 140 <li><strong>Cloud saves</strong> are retained until you delete them or delete your account.</li> 141 <li><strong>Usage counts</strong> are reset daily (at midnight UTC).</li> 142 <li><strong>Account data</strong> (email, tier, usage) is retained while your account is active.</li> 143 </ul> 144 145 <h2>5. Your Rights</h2> 146 <p>You have the following rights regarding your personal data:</p> 147 <ul> 148 <li><strong>Access:</strong> You can view your saved explanations in the Library at any time.</li> 149 <li><strong>Deletion:</strong> You can delete individual saves or request full account deletion by emailing us.</li> 150 <li><strong>Portability:</strong> Contact us to request a copy of your stored data.</li> 151 <li><strong>Opt out:</strong> You can set Saves mode to "Off" or "Local" in Settings to prevent any data from being sent to our servers.</li> 152 <li><strong>Sign out:</strong> Signing out removes all authentication tokens from your device immediately.</li> 153 </ul> 154 <p>To exercise any of these rights, please contact us at <a href="mailto:[email protected]">[email protected]</a>.</p> 155 156 <h2>6. Children's Privacy</h2> 157 <p>The Service is not directed at children under 13. We do not knowingly collect personal information from children under 13. If you believe a child under 13 has provided us with personal information, please contact us and we will delete it.</p> 158 159 <h2>7. Security</h2> 160 <p>We implement reasonable technical and organisational measures to protect your data, including:</p> 161 <ul> 162 <li>Authentication tokens are stored in <code>chrome.storage.local</code>
162, which is encrypted at rest by Chrome on supported platforms.</li> 163 <li>All communication between the extension and our servers uses HTTPS.</li> 164 <li>Supabase Row Level Security ensures users can only access their own saved explanations.</li> 165 <li>We do not store payment card or UPI details â all payment processing is handled by Paddle (international) or Razorpay (India).</li> 166 </ul> 167 168 <h2>8. Changes to This Policy</h2> 169 <p>We may update this Privacy Policy from time to time. We will notify users of material changes by updating the "Last updated" date above. Your continued use of the Service after changes constitutes acceptance of the revised policy.</p> 170 171 <h2>9. Contact Us</h2> 172 <div class="legal-contact"> 173 <span class="lc-name"><img src="/icons/logo-indigo.png" alt="" />Unproton Labs · Explainly</span> 174 <span>Email: <a href="mailto:[email protected]">[email protected]</a></span> 175 <span>Website: <a href="https://unproton.com/contact">unproton.com/contact</a></span> 176 </div> 177 </article> 178 </div> 179</main> 180 181<!-- FOOTER --> 182<footer> 183 <div class="wrap"> 184 <div class="foot-grid"> 185 <div class="foot-brand"> 186 <a class="brand" href="/"><img class="logo" src="/icons/logo-indigo.png" alt="Explainly" /><span>Explainly</span></a> 187 <p>A cognitive support layer for difficult reading. Highlight anything, understand everything.</p> 188 </div> 189 <div class="foot-col"> 190 <h4>Product</h4> 191 <a href="/#how">How it works</a> 192 <a href="/#modes">Modes</a> 193 <a href="/#features">Features</a> 194 <a href="/#pricing">Pricing</a> 195 </div> 196 <div class="foot-col"> 197 <h4>Legal</h4> 198 <a href='/privacy'>Privacy</a> 199 <a href='/terms'>Terms</a> 200 <a href='/refund'>Refund</a> 201 <a href='/pricing'>Full pricing</a> 202 </div> 203 <div class="foot-col"> 204 <h4>Links</h4> 205 <a href="https://chromewebstore.google.com/detail/explainly/fbajmbncecpiklnaekpfpkcmieimfcpb" target="_blank" rel="noopener">Chrome Web Store â</a> 206 <a href='/app/login' id='foot-signin'>Sign in</a> 207 <a href='/app/library'>My Library</a> 208 </div> 209 </div> 210 <div class="foot-bottom"> 211 <span class="made">© 2026 Unproton Labs · Explainly</span> 212 <span>Built with ⥠for curious minds everywhere.</span> 213 </div> 214 </div> 215</footer> 216
217<script src="/js/landing.js"></script>
217 218</body> 219</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.