1import{j as e}from"./react-DfPlzfW8.js";import{L as o}from"./LegalLayout-Bqv1rkzK.js";import{S as r}from"./shield-DCORMjH0.js";import"./Footer-DB-Am3x0.js";import"./index-wN3cS0bk.js";import"./i18n-CaZbNrtY.js";import"./supabase-Dfky9hfI.js";import"./Logo-BIFm_bgv.js";import"./motion-B3-iQnrd.js";const t={operator:"Entenc",form:"an individual sole trader (autónomo) established in Spain",email:"[email protected]"};function p(){return e.jsxs(o,{icon:r,title:"Privacy Policy",lastUpdated:"2026-08-30",children:[e.jsx("h2",{children:"Who is responsible for your data"}),e.jsxs("p",{children:[t.operator," is operated by ",t.form,", who is the data controller for everything described on this page. For any privacy matter â including a request to exercise the rights set out below â write to"," ",e.jsx("a",{href:`mailto:${t.email}`,children:t.email}),", which is read by the operator directly."]}),e.jsx("p",{children:"Our full registered details, including the operatorâs name and postal address, are available on request at that address, and we will provide them within 30 days. Spanish law governs this service and disputes are heard in the courts of Barcelona, as set out in our Terms of Service."}),e.jsx("h2",{children:"What the website collects"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Account:"})," your email address and Google profile name, received from Google when you sign in, and stored by our authentication provider Supabase."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Session:"})," your sign-in session is held in your browser's local storage â Entenc sets no advertising or tracking cookies."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Payment:"})," handled entirely by Stripe. We never see or store card details; we keep only the subscription status Stripe reports back and the invoice records Spanish tax law requires."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Your saved vocabulary:"})," the words, phrases and example sentences you choose to save, together with the address of the page or video you saved them from, so a card can take you back to its source."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Product analytics:"})," when you use entenc.com we send a small beacon to our own server (api.entenc.com) carrying an event name, the path you are on, and any campaign tag you arrived with. It set
1s no cookie, records no IP address, and performs no fingerprinting. Results are aggregated into daily counts, so no per-person record of your browsing exists."]})]}),e.jsx("h2",{children:"What the browser extension collects"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Locally, on your device only:"})," your settings, your sign-in session, a cache of recent definitions, and a list of the last 20 videos you watched with Entenc, so the extension can offer to resume them. This never leaves your browser."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Your own Gemini API key,"})," if you choose to supply one, is stored in your browser's extension storage and scoped to your account. It is sent only to Google's API to serve your own requests. We never receive it."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Usage counters:"})," the extension reports that an event happened â the subtitle overlay activated, a daily limit was reached, an upgrade prompt was clicked â with the platform name and nothing else. No user ID, no video ID, no page address, and none of the words you looked up."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Error counts:"})," when something breaks, the extension reports the extension version and a short error message so we can find the bug. It deliberately omits the stack trace, the page address, and your identity."]}),e.jsx("li",{children:"The last two can be switched off together, at any time, with the telemetry toggle in the extension popup."})]}),e.jsx("h2",{children:"What we send to third parties, and why"}),e.jsx("p",{children:"To produce subtitles and definitions, the text being translated has to reach a translation service. Be aware of what that means in practice:"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Subtitle and webpage text"})," you ask Entenc to translate is sent to ",e.jsx("strong",{children:"Google Translate"})," and, as a fallback, to ",e.jsx("strong",{children:"Microsoft Bing Translator"}),". These requests carry the text only â not your identity or your account."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Words you look up"})," may be sent to the ",e.jsx("strong",{children:"Google Gemini API"})," to generate a definition, again as the word alone with no identifier attached."]})]}),e.jsx("p",{children:"We do not sell your data, and we do not share it with anyone for advertising."}),e.jsx("h2",{children:"Processors"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Cloudflare â hosting, R2 object storage, D1 database (EU/global edge)"}),e.jsx("li",{children:"Supabase â authentication and account data"}),e.jsx("li",{children:"Stripe â payment processing"}),e.jsx("li",{children:"Google (Gemini API, Google Translate) â definitions and translation"}),e.jsx("li",{children:"Microsoft (Bing Translator) â fallback translation"})]}),e.jsx("h2",{children:"Legal basis"}),e.jsx("p",{children:"We process your account and saved vocabulary to perform the contract you entered into when you created an account (GDPR Art. 6(1)(b)); we keep invoice records to comply with a legal obligation (Art. 6(1)(c)); and we collect the aggregate, non-identifying usage and error counts described above under our legitimate interest in keeping the service working and knowing which parts of it people use (Art. 6(1)(f)), which you can object to with the telemetry switch."}),e.jsx("h2",{children:"Retention"}),e.jsx("p",{children:"Account data is kept while your account is active. On a deletion request, we purge it within 30 days, except invoice records, which Spanish tax law requires us to keep for five years. Aggregate daily counters contain no personal data and are kept indefinitely."}),e.jsx("h2",{children:"Your rights"}),e.jsxs("p",{children:["You may request access to, correction of, deletion of, or export of your personal data, and you may object to or restrict processing, by emailing"," ",e.jsx("a",{href:`mailto:${t.email}`,children:t.email}),". We respond within 30 days. If you believe we have handled your data improperly, you may lodge a complaint with the Spanish data protection authority, the"," ",e.jsx("a",{href:"https://www.aepd.es",target:"_blank",rel:"noopener noreferrer",children:"Agencia Esp
1añola de Protección de Datos"}),"."]}),e.jsx("h2",{children:"Security"}),e.jsxs("p",{children:["To report a vulnerability, see our ",e.jsx("a",{href:"/security",children:"security page"}),"."]}),e.jsx("h2",{children:"Changes"}),e.jsx("p",{children:"If we change how we handle your data, we will update this page and the date above. Material changes will be announced in the app before they take effect."})]})}export{p 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.