PageSourceSearch

https://alttextstudio.com/_nuxt/CHcdZrIu.js

js alttextstudio.com collected 2026-09-24 09:07:09 UTC 24,466 bytes, 1 lines download raw bytes

1import{d as u,aa as c,c as p,t as a,a as t,x as o,v as i,E as n,B as l,G as m,o as y}from"./FbEdaL-q.js";import{u as g}from"./C3bIjaF4.js";const f={class:"flex min-h-screen w-full flex-col items-center bg-canvas py-12 text-foreground"},h={class:"mx-auto w-full max-w-3xl px-4"},x={class:"space-y-8 rounded-2xl bg-surface p-8 text-left shadow-2xl"},b={class:"space-y-3"},v={class:"text-muted list-disc space-y-2 pl-5"},w={class:"text-muted list-disc space-y-2 pl-5"},S={class:"space-y-3"},k={class:"text-muted"},A={class:"text-muted"},P={class:"space-y-3"},I={class:"text-muted"},T={class:"space-y-3"},W={class:"text-muted"},C={class:"space-y-3"},q={class:"text-muted"},B=u({name:"PrivacyPolicyPage",__name:"index",setup(L){const r=c();return g({title:"Privacy Policy",meta:[{name:"description",content:"Alt Text Studio's privacy policy. Learn how we collect, use, and protect your data when you use our AI alt text generation service."}],link:[{rel:"canonical",href:"https://alttextstudio.com/privacy-policy"}]}),(E,e)=>{const s=m;return y(),p("div",f,[e[51]||(e[51]=a('<section class="mb-8 w-full px-4 pt-24 text-center"><div class="mx-auto max-w-3xl"><h1 class="mb-4 text-4xl font-bold text-foreground sm:text-5xl"> Alt Text Studio Privacy Policy </h1><p class="mx-auto max-w-2xl text-lg text-muted"> How we collect, use, and protect your information. </p><p class="mt-2 text-sm text-muted-2"><strong>Last updated:</strong> August 24, 2026 </p></div></section>',1)),t("div",h,[t("article",x,[e[46]||(e[46]=a('<section class="space-y-3"><p class="text-muted"> This Privacy Policy explains how <span class="font-semibold">Alt Text Studio</span> ( <span class="font-semibold">
1 “Alt Text Studio,” “we,” “us,” or “our” </span> ) collects, uses, shares, and protects information when you use <span class="font-mono">alttextstudio.com</span> , the Alt Text Studio Chrome Extension, the Alt Text Studio WordPress plugin, the Alt Text Studio Shopify app, and related services (collectively, the <span class="font-semibold">&quot;Service&quot;</span> ). </p><p class="text-muted"> By creating an account, accessing, or using the Service, you agree to this Privacy Policy. If you do not agree, do not use the Service. </p></section>',1)),t("section",b,[e[19]||(e[19]=a('<h2 class="text-xl font-semibold text-foreground"> 1) Information We Collect </h2><h3 class="text-lg font-semibold text-foreground"> A. Information you provide </h3><p class="text-muted"> When you create an account or use the Service, you may provide: </p><ul class="list-disc space-y-2 pl-5 text-muted"><li><span class="font-semibold"> Account information: </span> first name, last name, email address, password (stored in hashed form), email verification status </li><li><span class="font-semibold"> Company information: </span> company name, company website </li><li><span class="font-semibold">Preferences:</span> email marketing opt-in/out </li><li><span class="font-semibold"> Reasons for using Alt Text Studio: </span> selections like ecommerce, SEO, accessibility, compliance, development, plus “other” details </li><li><span class="font-semibold">Support messages:</span> information you submit through our contact/support form or via email </li></ul><h3 class="text-foreground text-lg font-semibold"> B. Image-related and generation data (your “Library”) </h3><p class="text-muted"> When you use Alt Text Studio to generate alt text, we may collect and store: </p><ul class="text-muted list-disc space-y-2 pl-5"><li><span class="font-semibold">Image source:</span> image URL/link you provide (and associated name/label you enter) </li><li><span class="font-semibold"> Generation options/settings: </span> length, output type (plain/HTML), language, brand/product fields, chosen AI model, colors, custom prompt text, SEO tags, negative tags </li><li><span class="font-semibold">Generated output:</span> generated alt text, HTML output, translations </li><li><span class="font-semibold"> File/processing metadata (if available): </span> file size, file type, original filename, processing status, error messages, timestamps, metadata, exif data </li><li><span class="font-semibold">Usage/credits:</span> credits used per generation and aggregated usage totals </li></ul><p class="text-muted"><span class="font-semibold">Important:</span> Alt Text Studio is designed not to store image files themselves. However, to generate alt text we may temporarily process/transmit image data (or access an image at the URL you provide) to run your request. We do store the links you provide, the generated results (alt text, HTML output, translations), and related metadata so you can manage your library. </p><h3 class="text-foreground text-lg font-semibold"> C. Payment and subscription information </h3><p class="text-muted"> If you purchase a plan or credits, we may collect and store: </p><ul class="text-muted list-disc space-y-2 pl-5"><li><span class="font-semibold"> Subscription details: </span> plan, billing cycle, subscription status, start/end/cancel timestamps, plan history metrics </li><li><span class="font-semibold"> Credit purchase history and revenue totals: </span> for internal tracking </li><li><span class="font-semibold"> Stripe identifiers: </span> Stripe customer ID, subscription ID, price ID </li></ul><p class="text-muted"> We do not store your full payment card details. Payments are processed by Stripe, which may collect and process payment information according to its own policies. </p><h3 class="text-foreground text-lg font-semibold"> D. Automatically collected information (device/session data) </h3><p class="text-muted"> When you use the Service, we may automatically collect: </p>',14)),t("ul",v,[e[11]||(e[11]=t("li",null,[t("span",{class:"font-semibold"},"Session data:"),o(" IP address, device/browser user agent, session identifiers, login/session activity timestamps ")],-1)),e[12]||(e[12]=t("li",null,[t("span",{class:"font-semibold"}," Operational logs and security events: "),o(" to protect the Service and prevent abuse ")],-1)),t("li",null,[e[3]||(e[3]=t("span",{class:"font-semibold"}," Cookies/local storage: ",-1)),e[4]||(e[4]=o(" to keep you logged in, remember preferences, and maintain secure sessions. Learn more in our ",-1)),i(s,{to:"/cookie-policy",class:"text-accent underline hover:opacity-90"},{default:n(()=>e[2]||(e[2]=[o(" Cookie Policy ",-1)])),_:1,__:[2]}),e[5]||(e[5]=o(" . ",-1))]),t("li",null,[e[7]||(e[7]=t("span",{class:"font-semibold"}," Analytics data: ",-1)),e[8]||(e[8]=o(" with your consent, we use Google Analytics 4 to collect usage data such as page views, referrer URLs, approximate geographic location, and browser/device type, to help us understand how Alt Text Studio is used and improve it. Google Analytics is only active if you accept analytics cookies in our cookie banner or ",-1)),t("button",{type:"button",class:"text-accent cursor-pointer hover:opacity-90",onClick:e[0]||(e[0]=d=>l(r).openSettings())},"Cookie Settings"),e[9]||(e[9]=o(" (see our ",-1)),i(s,{to:"/cookie-policy",class:"text-accent hover:opacity-90"},{default:n(()=>e[6]||(e[6]=[o("Cookie Policy",-1)])),_:1,__:[6]}
1),e[10]||(e[10]=o(" ), and you can withdraw consent at any time. We do not use this data for advertising. ",-1))])]),e[20]||(e[20]=a('<h3 class="text-foreground text-lg font-semibold"> E. Chrome Extension data </h3><p class="text-muted"> If you use the Alt Text Studio Chrome Extension, the following additional data handling applies: </p><ul class="text-muted list-disc space-y-2 pl-5"><li><span class="font-semibold"> Authentication credentials: </span> your auth token and basic profile info are stored locally in <span class="font-mono">chrome.storage.local</span> on your device to keep you signed in. Google OAuth sign-in uses Chrome&#39;s built-in identity API. </li><li><span class="font-semibold"> Generation settings: </span> your default generation options (language, text length, keywords, ecommerce context, custom prompt) are stored locally and synced with your account on our server when you choose to save defaults. </li><li><span class="font-semibold"> Image data from web pages: </span> when you right-click an image, scan a page, or use the screenshot tool, the extension accesses image URLs or captures image data from the active tab solely to send to our API for alt text generation. We do not collect or store the content of web pages you visit. </li><li><span class="font-semibold"> Browser permissions: </span> the extension requests permissions (active tab, storage, context menus, identity, notifications, scripting) only as needed to provide its features. No browsing history, keystrokes, or unrelated personal data is collected. </li></ul><h3 class="text-foreground text-lg font-semibold"> F. WordPress plugin data </h3><p class="text-muted"> If you install the Alt Text Studio WordPress plugin, the following additional data handling applies: </p><ul class="text-muted list-disc space-y-2 pl-5"><li><span class="font-semibold">API key:</span> to use the plugin you generate an API key from your Alt Text Studio account and enter it into the plugin&#39;s settings. The plaintext key is stored on your own WordPress site so the plugin can authenticate to our API. We do not store the plaintext key on our servers. </li><li><span class="font-semibold"> Image data sent for generation: </span> when an image is uploaded, when you click Generate, or when you run a bulk job, the plugin sends the image (as a URL reference or base64-encoded data) to our API along with optional metadata you have configured: text length, target language(s), negative keywords, custom prompt, and WooCommerce/SEO context fields described below. </li><li><span class="font-semibold"> WooCommerce and SEO plugin context: </span> for product images, the plugin reads the product name and brand taxonomy (WooCommerce, Perfect Brands, YITH, or <span class="font-mono">_brand</span> post meta) and may include them as hints in the generation request. When integrated with Yoast, Rank Math, All in One SEO, SEOPress, SmartCrawl, Squirrly, or The SEO Framework, the plugin reads the configured focus keyphrase(s) for the post attaching the image and includes them as keyword hints. No SEO plugin settings are modified or sent beyond these hint values. </li><li><span class="font-semibold"> Multilingual data (WPML / Polylang): </span> when WPML or Polylang is active, the plugin reads attachment language assignments and translation relationships so generated alt text can be written back to each language version. No language data is transmitted to us beyond the requested target language code. </li><li><span class="font-semibold"> Site identification: </span> the plugin includes your site URL in the User-Agent header on API requests for support and abuse prevention only. It is never used for tracking or marketing. </li><li><span class="font-semibold"> What the plugin does NOT do: </span> it does not run on the public-facing frontend of your site, does not track visitors, does not load third-party analytics or tracking scripts, and does not transmit data unrelated to alt text generation. All API calls happen from the WordPress admin or via WP-CLI on your server. </li><li><span class="font-semibold">Account linkage:</span> images sent from the plugin are associated with your Alt Text Studio account for credit accounting and your library/billing history, the same as images submitted via the website or Chrome extension. You can delete entries from your account dashboard at any time. </li></ul><h3 class="text-foreground text-lg font-semibold"> G. Shopify app data </h3><p class="text-muted"> If you install the Alt Text Studio Shopify app, the following additional data handling applies: </p>',8)),t("ul",w,[e[17]||(e[17]=t("li",null,[t("span",{class:"font-semibold"}," Store identification and access: "),o(" we store your "),t("span",{class:"font-mono"},"myshopify.com"),o(" store domain and the access token Shopify issues at install, so the app can read your products and files and write alt text and translations back to them. The app requests only those permissions. It does not read orders, customers, checkouts, or payment data. ")],-1)),t("li",null,[e[14]||(e[14]=t("span",{class:"font-semibold"},"API key:",-1)),e[15]||(e[15]=o(" to connect the app you generate an API key from your Alt Text Studio account and paste it into the app. Unlike the WordPress plugin, that key is held on our servers so the app can generate on your behalf, and it is encrypted at rest with AES-256-GCM and decrypted only at the moment a generation runs. You can revoke it at any time from ",-1)),i(s,{to:"/my-account/api-keys",class:"text-accent underline hover:opacity-90"},{default:n(()=>e[13]||(e[13]=[o(" My Account → API Keys ",-1)])),_:1,__:[13]}),e[16]||(e[16]=o(" , or disconnect from inside the app, which deletes the stored key immediately. ",-1))]),e[18]||(e[18]=a('<li><span class="font-semibold"> Product data sent for generation: </span> when you generate alt text, the app sends the product image URL (a public Shopify CDN link) to our API, together with the product title, the vendor (used as the brand), an excerpt of the product description, and any alt text already on the image. That request, and the options you have configured, are processed the same way as any other generation (see section 3B). </li><li><span class="font-semibold"> Per-store settings and history: </span> your generation defaults for that store, and a log of the generations run from it (product title, image URL, generated alt text and translations, status, and credits used), are stored per store so the app can show recent activity and per-image state. When you run Bulk generate, the resulting catalog scan, a list of the products and images missing alt text, is stored so you can leave the page and come back to it. </li><li><span class="font-semibold"> Subscription data: </span> a subscription started inside the Shopify app is billed by Shopify, not through our checkout. Shopify tells the app the plan, billing interval, status, and current period end for your store, and we use that to apply the matching plan and credits to your Alt Text Studio account. We never receive or store your card details. </li><li><span class="font-semibold"> Uninstalling and deletion: </span> uninstalling the app removes its stored session for your store right away. When Shopify sends us the store redaction request that follows an uninstall (Shopify sends it about 48 hours later), we delete that store&#39;s link to your account, including the encrypted API key, along with its saved settings and generation history. Because the app holds no customer-level data, Shopify&#39;s customer data and customer redaction requests are acknowledged with nothing to return or erase. </li><li><span class="font-semibold">Account linkage:</span> images sent from the Shopify app are associated with your Alt Text Studio account for credit accounting and your library/billing history, the same as images submitted via the website, Chrome extension, or WordPress plugin. You can delete entries from your account dashboard at any time. </li>',5))])]),e[47]||(e[47]=a('<section class="space-y-3"><h2 class="text-foreground text-xl font-semibold"> 2) How We Use Information </h2><p class="text-muted"> We use the information we collect to: </p><ul class="text-muted list-disc space-y-2 pl-5"><li> Provide, operate, and maintain the Service (including generating and saving your alt text outputs) </li><li>Authenticate users and manage accounts</li><li> Track credits, subscriptions, billing status, and purchases </li><li> Provide customer support and respond to requests </li><li> Monitor, prevent, and investigate fraud, abuse, and security issues </li><li> Improve the Service (performance, reliability, features, and user experience) </li><li> Send service-related communications (e.g., account notices, billing updates) </li><li> Send marketing emails only if you opt in (you can opt out anytime) </li></ul></section><section class="space-y-3"><h2 class="text-foreground text-xl font-semibold"> 3) How We Share Information </h2><p class="text-muted"> We do not sell your personal information. </p><p class="text-muted"> We may share information in these situations: </p><h3 class="text-foreground text-lg font-semibold"> A. Service providers (processors) </h3><p class="text-muted"> We may share information with vendors that help us run the Service, such as: </p><ul class="text-muted list-disc space-y-2 pl-5"><li>
1Hosting/infrastructure providers (e.g., Render, Railway)</li><li> Payment processors (e.g., Stripe, and Shopify for subscriptions started inside our Shopify app) </li><li>Authentication providers (e.g., Google OAuth)</li><li>Email/communications providers</li><li>Analytics providers (e.g., Google Analytics — active only with your consent)</li><li>Security/monitoring tools</li></ul><h3 class="text-foreground text-lg font-semibold"> B. AI model providers (important) </h3><p class="text-muted"> To generate alt text, Alt Text Studio may send your image input (or image link), prompts/options, and related request data to third-party AI providers (for example, providers of GPT-style models or other AI services). Those providers may process your data according to their own privacy policies and terms. </p><p class="text-muted"> Alt Text Studio cannot control how third-party AI providers handle data once received. We encourage you to review the privacy policies of the third-party services used when you submit content for processing. </p><h3 class="text-foreground text-lg font-semibold"> C. Legal and safety reasons </h3><p class="text-muted"> We may disclose information if we believe it’s necessary to: </p><ul class="text-muted list-disc space-y-2 pl-5"><li> Comply with applicable law, regulation, legal process, or governmental request </li><li>Enforce our Terms of Service and policies</li><li> Protect the rights, safety, and security of Alt Text Studio, our users, or the public </li></ul><h3 class="text-foreground text-lg font-semibold"> D. Business transfers </h3><p class="text-muted"> If Alt Text Studio is involved in a merger, acquisition, financing, reorganization, or sale of assets, information may be transferred as part of that transaction. </p></section>',2)),t("section",S,[e[28]||(e[28]=t("h2",{class:"text-foreground text-xl font-semibold"}," 4) Your Choices and Controls ",-1)),e[29]||(e[29]=t("h3",{class:"text-foreground text-lg font-semibold"}," A. Deleting library items ",-1)),e[30]||(e[30]=t("p",{class:"text-muted"}," You can delete items in your Alt Text Studio library at any time within the Service. When you delete a library item, it is removed from your account view and scheduled for deletion from our systems, subject to normal technical and legal limitations (see “Data Retention” below). ",-1)),e[31]||(e[31]=t("h3",{class:"text-foreground text-lg font-semibold"}," B. Deleting your account ",-1)),t("p",k,[e[22]||(e[22]=o(" You can delete your account directly from your ",-1)),i(s,{to:"/my-account",class:"text-accent underline hover:opacity-90"},{default:n(()=>e[21]||(e[21]=[o(" account page ",-1)])),_:1,__:[21]}),e[23]||(e[23]=o(" . When you delete your account, we will remove or de-identify your personal information and library data from our systems, except where we must retain certain information for legal, billing, tax, security, fraud prevention, or dispute-resolution purposes. ",-1))]),e[32]||(e[32]=a('<h3 class="text-foreground text-lg font-semibold"> C. Marketing emails </h3><p class="text-muted"> If you opt in to marketing emails, you can opt out anytime via the unsubscribe link or by updating your settings (if available) or contacting us. </p><h3 class="text-foreground text-lg font-semibold"> D. Accessing and updating your information </h3><p class="text-muted"> You can update certain account details through your account settings (if available). You may also contact us to request access, correction, or deletion. </p><h3 class="text-foreground text-lg font-semibold"> E. Cookie and analytics preferences </h3>',5)),t("p",A,[e[25]||(e[25]=o(" You can control analytics cookies at any time using ",-1)),t("button",{type:"button",class:"text-accent cursor-pointer hover:opacity-90",onClick:e[1]||(e[1]=d=>l(r).openSettings())},"Cookie Settings"),e[26]||(e[26]=o(" , or by reading our ",-1)),i(s,{to:"/cookie-policy",class:"text-accent hover:opacity-90"},{default:n(()=>e[24]||(e[24]=[o("Cookie Policy",-1)])),_:1,__:[24]}),e[27]||(e[27]=o(" for full details. ",-1))])]),e[48]||(e[48]=a('<section class="space-y-3"><h2 class="text-foreground text-xl font-semibold"> 5) Data Retention </h2><p class="text-muted"> We retain information for as long as reasonably necessary to: </p><ul class="text-muted list-disc space-y-2 pl-5"><li> Provide the Service and maintain your account and library history </li><li> Meet legal, tax, accounting, and compliance obligations </li><li>Resolve disputes and enforce agreements</li><li>Protect against fraud and abuse</li></ul><p class="text-muted"> If you delete library items or delete your account, we will delete or de-identify the related data within a reasonable period, unless retention is required for the purposes described above. We may al
1so retain limited logs and records (for example, security logs or billing records) for compliance and fraud prevention. </p></section><section class="space-y-3"><h2 class="text-foreground text-xl font-semibold"> 6) Security </h2><p class="text-muted"> We use reasonable administrative, technical, and organizational safeguards designed to protect your information. However, no method of transmission or storage is 100% secure, and we cannot guarantee absolute security. </p></section><section class="space-y-3"><h2 class="text-foreground text-xl font-semibold"> 7) Children’s Privacy </h2><p class="text-muted"> Alt Text Studio is not intended for children under 13, and we do not knowingly collect personal information from children under 13. If you believe a child has provided personal information, contact us and we will take appropriate steps. </p></section>',3)),t("section",P,[e[36]||(e[36]=t("h2",{class:"text-foreground text-xl font-semibold"}," 8) U.S. State Privacy Rights ",-1)),e[37]||(e[37]=t("p",{class:"text-muted"}," Depending on where you live, you may have rights regarding your personal information, such as the right to request access, deletion, or correction, and to appeal certain decisions. ",-1)),t("p",I,[e[34]||(e[34]=o(" To make a privacy request, please use our ",-1)),i(s,{to:"/support/contact?subject=account",class:"text-accent underline hover:opacity-90"},{default:n(()=>e[33]||(e[33]=[o(" contact form ",-1)])),_:1,__:[33]}),e[35]||(e[35]=o(" . We may need to verify your identity before fulfilling requests. ",-1))])]),e[49]||(e[49]=t("section",{class:"space-y-3"},[t("h2",{class:"text-foreground text-xl font-semibold"}," 9) Third-Party Links "),t("p",{class:"text-muted"}," The Service may contain links to third-party websites or services. We are not responsible for the privacy practices of those third parties. ")],-1)),t("section",T,[e[41]||(e[41]=t("h2",{class:"text-foreground text-xl font-semibold"}," 10) Accessibility ",-1)),t("p",W,[e[39]||(e[39]=o(" We aim to make our privacy information accessible. Visit our ",-1)),i(s,{to:"/accessibility-statement",class:"text-accent underline hover:opacity-90"},{default:n(()=>e[38]||(e[38]=[o(" Accessibility Statement ",-1)])),_:1,__:[38]}),e[40]||(e[40]=o(" to learn more. ",-1))])]),e[50]||(e[50]=t("section",{class:"space-y-3"},[t("h2",{class:"text-foreground text-xl font-semibold"}," 11) Changes to This Privacy Policy "),t("p",{class:"text-muted"}," We may update this Privacy Policy from time to time. We will post the updated version on this page and update the “Last updated” date. Your continued use of the Service after changes means you accept the updated policy. ")],-1)),t("section",C,[e[45]||(e[45]=t("h2",{class:"text-foreground text-xl font-semibold"}," 12) Contact Us ",-1)),t("p",q,[e[43]||(e[43]=o(" If you have questions about this Privacy Policy or want to make a privacy request, you can reach us via our ",-1)),i(s,{to:"/support/contact?subject=account",class:"text-accent underline hover:opacity-90"},{default:n(()=>e[42]||(e[42]=[o(" contact form ",-1)])),_:1,__:[42]}),e[44]||(e[44]=o(" . ",-1))])])])])])}}});export{B as default};

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.