PageSourceSearch

https://openqrai.web.app/assets/PrivacyPage-CJMPr75y.js

js openqrai.web.app collected 2026-10-03 12:32:12 UTC 6,715 bytes, 2 lines download raw bytes

1import{j as e}from"./index-Cd-sdO6J.js";import{S as t}from"./SEOHead-Bjcft05P.js";import{S as s}from"./SurfaceCard-D1wczMtr.js";import"./vendor-CEiiuZ0g.js";function l(){return e.jsxs(e.Fragment,{children:[e.jsx(t,{title:"Privacy Policy - VideoQR",description:"VideoQR privacy policy. Learn how we handle your data with a privacy-first approach."}),e.jsxs("div",{className:"max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 py-16",children:[e.jsx("h1",{className:"text-3xl font-bold text-white mb-8",children:"Privacy Policy"}),e.jsxs(s,{className:"prose prose-invert max-w-none space-y-6",children:[e.jsx("p",{className:"text-text-secondary",children:"Last updated: March 25, 2026"}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white",children:"1. Our Privacy Commitment"}),e.jsx("p",{className:"text-text-secondary text-sm leading-relaxed",children:"VideoQR is built with a privacy-first approach. We do not track your location, device model, or personal browsing behavior. We do not collect data for advertising or sell your information to third parties."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white",children:"2. Information We Collect"}),e.jsx("p",{className:"text-text-secondary text-sm leading-relaxed",children:"We collect only what is necessary to provide the service:"}),e.jsxs("ul",{className:"text-text-secondary text-sm leading-relaxed list-disc pl-5 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Email address:"})," used for account authentication via Firebase Auth. We do not send marketing emails."]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Username:"})," chosen by you, displayed publicly on content you share."]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Content you upload:"})," videos, photos, albums, PDFs, and URLs you choose to create or upload."]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Content metadata:"})," titles, descriptions, and visibility settings you provide."]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"QR scan counts:"})," we count the number of times a QR code is scanned. We do not track who scanned it or where."]})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white",children:"3. What We Do NOT Collect"}),e.jsxs("ul",{className:"text-text-secondary text-sm leading-relaxed list-disc pl-5 space-y-1",children:[e.jsx("li",{children:"GPS or location data"}),e.jsx("li",{children:"Device model or hardware identifiers"}),e.jsx("li",{children:"IP addresses for tracking purposes"}),e.jsx("li",{children:"Browsing history or interaction patterns"}),e.jsx("li",{children:"Third-party advertising or analytics data"})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white",children:"4. Content Authenticity"}),e.jsx("p",{className:"text-text-secondary text-sm leading-relaxed",children:"Content captured in the VideoQR iOS app is verified with a SHA-256 cryptographic hash. This hash proves the content has not been altered since capture. The hash is a one-way fingerprint of the content bytes. It contains no personal information and cannot be reversed to reveal anything about the creator."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white",children:"5. Data Storage and Security"}),e.jsx("p",{className:"text-text-secondary text-sm leading-relaxed",children:"Your content is stored on Cloudflare R2 with encryption at rest. Account data is stored in Cloudflare D1 with encryption at rest. Authentication is handled by Firebase Auth (Google Cloud infrastructure). All data is transmitted over HTTPS."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white",children:"6. Third-Party Services"}),e.jsx("p",{className:"text-text-secondary text-sm leading-relaxed",children:"We use the following third-party services to operate VideoQR:"}),e.jsxs("ul",{className:"text-text-secondary text-sm leading-relaxed list-disc pl-5 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Firebase Auth:"})," account authentication (Google Cloud)"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Cloudflare:"})," content delivery, data storage, and API hosting"]})]}),e.jsx("p",{className:"text-text-secondary text-sm leading-relaxed",children:"We do not use any advertising SDKs, analytics trackers, or social media pixels."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white",children:"7. Your Rights"}),e.jsx("p",{className:"text-text-secondary text-sm leading-relaxed",children:"You can update your username and profile information at any time. You can change content visibility (private, shareable, or public) at any time. You can delete individual content or your entire account and all associated data from within the app or web platform. Account deleti
1on is immediate and permanent."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white",children:"8. Cookies"}),e.jsx("p",{className:"text-text-secondary text-sm leading-relaxed",children:"We use essential cookies and local storage for authentication and session management only. We do not use third-party tracking cookies."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white",children:"9. Children's Privacy"}),e.jsx("p",{className:"text-text-secondary text-sm leading-relaxed",children:"VideoQR is not intended for children under 13. We do not knowingly collect information from children under 13."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white",children:"10. Changes to This Policy"}),e.jsx("p",{className:"text-text-secondary text-sm leading-relaxed",children:"We may update this policy from time to time. Changes will be posted on this page with an updated date. Continued use of the service constitutes acceptance of any changes."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white",children:"11. Contact"}),e.jsx("p",{className:"text-text-secondary text-sm leading-relaxed",children:"For privacy-related questions, contact us at [email protected]."})]})]})]})]})}export{l as default};
2//# sourceMappingURL=PrivacyPage-CJMPr75y.js.map

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.