1import{j as e}from"./index-VktLkg1P.js";import{a}from"./common-BhkBVWMO.js";import{bS as t,u as o,b9 as c}from"./App-BoN537_L.js";import{b as l}from"./index-CVs7pEqC.js";import{E as d}from"./eye-Cw_QixV9.js";import{L as h}from"./lock-CeVE1-Qv.js";import{S as p}from"./server-DtKjNpBC.js";import{S as m}from"./shield-B1rgPryD.js";import{T as u}from"./trash-2-BhxUrRpJ.js";const n=({icon:s,title:i,children:r})=>e.jsxs("section",{className:"rc-legal-section",children:[e.jsxs("h2",{children:[e.jsx(s,{size:18,"aria-hidden":"true"})," ",i]}),e.jsx("div",{className:"rc-legal-body",children:r})]});function g(){return e.jsx(e.Fragment,{children:e.jsxs("p",{children:['RougeChain ("we", "us", or "our") is committed to protecting your privacy. This policy explains what data the RougeChain Wallet browser extension and the RougeChain website (',e.jsx("a",{href:"https://rougechain.io",className:"text-link inline",children:"rougechain.io"}),") collect, how that data is used, and what rights you have."]})})}function x(){return e.jsxs(e.Fragment,{children:[e.jsxs(n,{icon:d,title:"Information We Collect",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"Wallet data."})," When you create or import a wallet, cryptographic key pairs (ML-DSA-65 signing keys and ML-KEM-768 encryption keys) are generated locally on your device. Private keys are encrypted with your password using AES-GCM before being stored in your browser's local storage. We never have access to your private keys or password."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Messenger & mail content."})," ","Messages and mail are end-to-end encrypted on your device before being transmitted. The RougeChain node relays encrypted ciphertext only. We cannot read, access, or decrypt any message or mail content."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Transaction data."})," Blockchain transactions (sends, token transfers) are signed locally and submitted to the RougeChain network. Transaction data is public on the blockchain by design."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Name registry."})," If you register an @rouge.quant address, the mapping between your chosen name and your public wallet ID is stored on-chain and is publicly visible."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Preferences & settings."})," ","Display name, network selection, blocked wallet list, and UI preferences are stored locally in your browser and are never transmitted to us."]})]}),e.jsxs(n,{icon:h,title:"How We Use Your Information",children:[e.jsx("p",{children:"All data handling serves a single purpose: operating the RougeChain wallet, encrypted messenger, and encrypted mail. Specifically:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Encrypted wallet credentials are stored locally so you can unlock your wallet between sessions."}),e.jsxs("li",{children:["The extension connects to the RougeChain node (",e.jsx("code",{children:"api.rougechain.io"}),") to fetch balances, submit transactions, send/receive encrypted messages and mail, and resolve name registry entries."]}),e.jsx("li",{children:"Alarms run periodically in the background to check for new messages, mail, and balance updates."}),e.jsx("li",{children:"Notifications alert you to new messages or mail â generated locally with no personal data included."}),e.jsxs("li",{children:["The content script injects a provider API (",e.jsx("code",{children:"window.rougechain"}),") on web pages so dApps can request wallet connections and transaction signing, similar to MetaMask's"," ",e.jsx("code",{children:"window.ethereum"}),"."]})]})]}),e.jsxs(n,{icon:p,title:"Data Storage & Security",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"Local-only storage."})," All sensitive data (private keys, wallet credentials, preferences, blocked lists) is stored exclusively in your browser's local storage or extension storage. Nothing is sent to our servers."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Encryption."})," Private keys are encrypted with AES-256-GCM using a key derived from your password via PBKDF2. Messages and mail use post-quantum ML-KEM-768 key encapsulation with AES-GCM symmetric encryption."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"No remote code."})," All JavaScript and WebAssembly is bundled within the extension package. No code is fetched or executed from external sources."]})]}),e.jsxs(n,{icon:m,title:"Data Sharing & Third Parties",children:[e.jsxs("p",{children:["We do ",e.jsx("strong",{children:"not"})," sell, trade, or transfer your data to third parties."]}),e.jsxs("p",{children:["We do ",e.jsx("strong",{children:"not"})," use your data for advertising, analytics, or profiling."]}),e.jsxs("p",{children:["We do ",e.jsx("strong",{children:"not"})," use or transfer your data to determine creditworthiness or for lending purposes."]}
1),e.jsx("p",{children:"The only external communication is between the extension and the RougeChain blockchain node to perform wallet operations (balance queries, transaction submission, message relay)."})]}),e.jsx(n,{icon:t,title:"Permissions Explained",children:e.jsxs("div",{className:"rc-perms",children:[e.jsxs("div",{children:[e.jsx("p",{className:"rc-perm",children:"storage"}),e.jsx("p",{children:"Persist encrypted wallet data, contacts, conversation history, and preferences locally within the extension."})]}),e.jsxs("div",{children:[e.jsx("p",{className:"rc-perm",children:"alarms"}),e.jsx("p",{children:"Schedule periodic background tasks to refresh balances and poll for new messages/mail."})]}),e.jsxs("div",{children:[e.jsx("p",{className:"rc-perm",children:"notifications"}),e.jsx("p",{children:"Display local alerts for new encrypted messages, incoming mail, or completed transactions."})]}),e.jsxs("div",{children:[e.jsx("p",{className:"rc-perm",children:"Host permissions (api.rougechain.io)"}),e.jsx("p",{children:"Communicate with the RougeChain node API for all blockchain operations."})]}),e.jsxs("div",{children:[e.jsx("p",{className:"rc-perm",children:"Content scripts (<all_urls>)"}),e.jsxs("p",{children:["Inject the ",e.jsx("code",{children:"window.rougechain"})," ","provider so any dApp can request wallet interactions. The content script does not read or modify page content."]})]})]})}),e.jsx(n,{icon:u,title:"Data Retention & Deletion",children:e.jsx("p",{children:"All locally stored data can be deleted at any time by removing the extension or clearing your browser's extension storage. On-chain data (transactions, name registry entries) is immutable and cannot be deleted due to the nature of blockchain technology."})}),e.jsxs("section",{className:"rc-legal-section",children:[e.jsx("h2",{children:"Children's Privacy"}),e.jsx("p",{children:"RougeChain is not directed at children under 13. We do not knowingly collect personal information from children."})]}),e.jsxs("section",{className:"rc-legal-section",children:[e.jsx("h2",{children:"Changes to This Policy"}),e.jsx("p",{children:'We may update this policy from time to time. Changes will be posted on this page with a revised "Last updated" date. Continued use of the extension after changes constitutes acceptance of the updated policy.'})]}),e.jsxs("section",{className:"rc-legal-section rc-legal-contact",children:[e.jsx("h2",{children:"Contact"}),e.jsxs("p",{children:["If you have questions about this privacy policy, you can reach us at"," ",e.jsx("a",{href:"https://rougechain.io",className:"text-link inline",children:"rougechain.io"}),"."]})]})]})}const y=new Date(2026,2,9);function A(){const{t:s}=o("pages");a({title:s("seo.privacy.title"),description:s("seo.privacy.description")});const i=l()==="en";return e.jsx("main",{id:"main",className:"app-main rc-page rc-legal",children:e.jsxs("div",{className:"container rc-narrow",children:[e.jsxs("header",{className:"rc-legal-head",children:[e.jsx("div",{className:"eyebrow",children:s("privacy.eyebrow")}),e.jsx("h1",{children:s("privacy.title")}),e.jsx("p",{className:"mono muted",children:s("privacy.lastUpdated",{date:c(y,{dateStyle:"long"})})}),!i&&e.jsx("p",{className:"notice",role:"note",children:s("privacy.englishOnly")}),e.jsx("div",{lang:"en",children:e.jsx(g,{})})]}),e.jsx("div",{lang:"en",children:e.jsx(x,{})})]})})}export{A 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.