1import{c as h,j as e,S as y,P as m,F as l,d as f,q as g,e as b,i as x,a as w,b as v,o as T}from"../chunks/chunk-6q9pZAB4.js";import{u as S}from"../chunks/chunk-DZLQ_eX3.js";import{g as P,d as A,f as j,A as k}from"../chunks/chunk-BppPENrj.js";import{f as E}from"../chunks/chunk-Ca14g5cv.js";import"../chunks/chunk-DaQ-XLju.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */const U=[{question:"Where does my data live?",answer:"On Microsoft Azure in the West Europe region. LionRapid is built and operated by Logoteknia Oy, a Finnish company: your data and the company responsible for it are both under EU jurisdiction."},{question:"Who processes my data besides you?",answer:"Product analytics run on PostHogâs EU cloud, and the website uses Ahrefs for aggregate, cookieless traffic statistics. Both are disclosed in the privacy policy; there is no undisclosed subprocessor list behind a sales call."},{question:"Does my text reach machine-translation engines?",answer:"Only when you choose an MT mode: copy-source and n
1one are first-class options, exact TM matches are reused before MT is asked, and entity protection masks sensitive spans before any engine sees the text."},{question:"What don't you claim?",answer:"We hold no security certifications, and you won't find implied ones here: no borrowed badges, no âcompliant-readyâ wordplay. Everything on this page is a mechanism you can check, not a logo we rented."}],z=[{eyebrow:"Accounts",title:"Account security",paragraphs:["Passwords are hashed with Argon2. Sessions ride refresh tokens in HTTP-only cookies, tracked per device so one stolen laptop doesn't become every session. Password policy, history, and reset flows are enforced server-side."],media:"",chips:["Argon2 password hashing","HTTP-only cookie sessions","Per-device sessions","Email verification","Login-attempt tracking"]},{eyebrow:"Platform",title:"Access control and identifiers",paragraphs:["Every endpoint checks roles (project manager, translator, reviewer, proofreader), and external identifiers are non-enumerable UUIDs, so resource URLs can't be guessed by counting."],media:"",chips:["Role-based access control","UUIDv7 identifiers","API keys, revocable per consumer"]},{eyebrow:"Your text",title:"Sensitive content never meets the MT engine raw",paragraphs:["Entity protection masks brand names, product codes, IBANs, and URLs before machine translation, restores them verbatim after, and audits the result: a dropped or leaked entity is a flagged QA issue, not a silent accident."],media:"diagram:ner-protection",chips:[]},{eyebrow:"Hosting & compliance",title:"EU-hosted, honestly described",paragraphs:["The platform runs on Azure in West Europe and is operated by Logoteknia Oy, a Finnish company: your data and the company responsible for it are both under EU jurisdiction, with GDPR-aligned practices built into the architecture. We hold no certification logos and imply none: facts, not badges."],media:"",chips:["Azure West Europe","Logoteknia Oy (Finland)","GDPR-aligned practices","No rented badges"]}];function L(){const o=S(),i=h(),c=o?.fields,a=(t,s)=>j(c?.[t],i)||s,r=P(o?.field_list??[],i),u=r.length>0?r:z,n=A(o?.field_list??[],i),p=n.length>0?n:U;return e.jsxs(y,{children:[e.jsx(m,{eyebrow:a("eyebrow","Trust"),title:a("title","Security in facts, not badges"),lede:a("lede","EU-hosted on Azure West Europe, operated by Logoteknia Oy in Finland. No rented certification logos, just what the platform actually does with your accounts, your data, and your text, stated plainly.")}),u.map((t,s)=>e.jsx(l,{eyebrow:t.eyebrow,title:t.title,reverse:s%2===1,media:E(t,void 0,o?.media,i),children:t.paragraphs.map(d=>e.jsx("p",{children:e.jsx(f,{text:d})},d))},t.title)),e.jsxs("section",{className:"w-full max-w-2xl mx-auto px-5 pb-4 text-center text-sm text-text-muted",children:["Where your data lives, in detail
1:"," ",e.jsx("a",{href:"/eu-hosted",className:"text-primary underline",children:"how LionRapid keeps your text in the EU"}),"."]}),e.jsx(l,{eyebrow:"Disclosure",title:"Found a vulnerability?",children:e.jsxs("p",{children:["We practice coordinated disclosure. Report security issues through the"," ",e.jsx("a",{href:"/contact",className:"text-primary underline",children:"contact page"})," ","and give us reasonable time to fix before publishing. Machine-readable details live in"," ",e.jsx("a",{href:"/.well-known/security.txt",className:"text-primary underline",children:"/.well-known/security.txt"}),"."]})}),e.jsx(g,{data:p}),e.jsx(b,{heading:a("cta_heading","Questions about data handling?"),subline:a("cta_subline","Ask us directly: real answers beat marketing pages."),secondaryLabel:a("cta_secondary_label","Contact us")}),e.jsx(k,{slug:"security"})]})}function D(){return e.jsx(L,{})}const R=Object.freeze(Object.defineProperty({__proto__:null,Page:D},Symbol.toStringTag,{value:"Module"})),J={serverOnlyHooks:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:!0}},isClientRuntimeLoaded:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:!0}},onBeforeRenderEnv:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:null}},dataEnv:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:{server:!0}}},onRenderClient:{type:"standard",definedAtData:{filePathToShowToUser:"vike-react/__internal/integration/onRenderClient",fileExportPathToShowToUser:[]},valueSerialized:{type:"pointer-import",value:T}},Page:{type:"standard",definedAtData:{filePathToShowToUser:"/pages/security/+Page.tsx",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:R}},hydrationCanBeAborted:{type:"standard",definedAtData:{filePathToShowToUser:"vike-react/config",fileExportPathToShowToUser:["default","hydrationCanBeAborted"]},valueSerialized:{type:"js-serialized",value:!0}},Layout:{type:"cumulative",definedAtData:[{filePathToShowToUser:"/pages/+Layout.tsx",fileExportPathToShowToUser:[]}],valueSerialized:[{type:"plus-file",exportValues:v}]},lang:{type:"standard",definedAtData:{filePathToShowToUser:"/pages/+lang.ts",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:w}},Loading:{type:"standard",definedAtData:{filePathToShowToUser:"vike-react/__internal/integration/Loading",fileExportPathToShowToUser:[]},valueSerialized:{type:"pointer-import",value:x}}};export{J as configValuesSerialized};
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.