Privacy Policy
This policy explains how HTMLViewer.io ("we", "us") handles personal data when you use htmlviewer.io (the "Service"). We are responsible for that data. Questions or requests: [email protected].
The short version: we collect what we need to run the Service, we don't sell personal data, we don't use advertising trackers, and you can ask us to delete your data at any time.
What we collect
When you only preview HTML. The HTML you paste is rendered in your browser. It is not stored on our servers unless you save it, share it or run AI design.
Your account. Your email address; your name and profile picture if you sign in with Google; your password if you use one (stored only as a secure hash by our authentication provider); and sign-in and session records.
Documents you save or share. The HTML content, title and sharing settings, and the email addresses of people you share a document with — we use them to give those people access and to send them the invitation you asked us to send.
Views of shared links. When someone opens a shared document we record: a pseudonymous visitor code that changes every day (calculated from the IP address, browser and date with a secret key — the IP address itself is not stored), device type, country, the referring website, how far down the page they scrolled, and their account ID if they are signed in. Document owners see view counts.
AI design. When you run AI design, the page HTML and any instruction you type are sent to our AI service and, through OpenRouter, to the AI model provider that generates the new design. We do not keep the page content in the AI service. We keep your plan, credit balance and a log of each run: time, status, model used, credits charged and processing cost.
Purchases. Payments are handled by Polar, our merchant of record, and its payment processor Stripe. They collect your payment details; we never see your full card number. Polar sends us your email address, customer and order IDs, the product you bought and the status of your subscription.
Contact form and emails. What you write in the contact form (name, email, topic, message), the page you sent it from, your browser's user agent and a keyed hash of your IP address that we use to limit spam. Cloudflare Turnstile checks that a human is sending the form. We also keep a list of addresses that unsubscribed from our emails so we don't email them again.
Waitlist and feedback. Your email address and the answers you give, if you join a waitlist or answer a question in the app.
Product usage. A random ID stored in your browser and the names of a few actions (for example "opened the pricing page"), linked to your account if you are signed in. We use this to understand which features are used.
Technical logs. Our hosting providers process IP addresses and request details to deliver the Service, keep it secure and investigate errors.
Cookies and browser storage
We use a first-party cookie and your browser's local storage to keep you signed in, remember your settings (such as PDF export options), keep the random usage ID described above and remember a checkout you started before signing in. We do not use advertising or third-party analytics cookies. On the contact page, Cloudflare Turnstile reads technical signals from your browser to tell humans from bots.
Why we use it
- To provide the Service you asked for — your account, saving, sharing, exporting, AI design, credits and purchases.
- For security and to prevent abuse — rate limits, spam protection, investigating misuse of share links.
- To improve the Service — understanding which features are used and fixing errors.
- To communicate with you — answering messages, sending invitations you asked us to send, important account and billing notices and, if you have not unsubscribed, occasional product updates. Every product update email has an unsubscribe link.
- To meet legal obligations — for example tax and accounting records, which Polar keeps as merchant of record.
If data protection laws such as the GDPR apply to you, our legal bases are: performing our contract with you, our legitimate interests in running a secure and useful service, your consent where we ask for it, and legal obligations.
Who processes data for us
We use these service providers. They may only use the data to provide their service to us.
| Provider | What for |
|---|---|
| Supabase | Database and sign-in (servers in Singapore) |
| Vercel | Website and API hosting |
| Cloudflare | AI design service, bot protection (Turnstile), DNS and email forwarding |
| OpenRouter and the AI model providers it routes to | Generating AI designs |
| Polar and Stripe | Checkout, payments, invoices and sales tax |
| Resend and Cloudflare Email | Sending email |
| Sign in with Google; web fonts on our blog and information pages |
We do not sell or rent personal data, and we do not share it for advertising. We may disclose data if the law requires it, or to protect our users or the Service from fraud or abuse.
International transfers
Our providers operate in several countries, including the United States and Singapore, so your data may be processed outside the country where you live. We use established providers that protect data with safeguards such as standard contractual clauses.
How long we keep data
- Account, documents and sharing data: until you delete them or ask us to delete your account.
- Shared-link view statistics: as long as the document exists.
- AI design run log and credit history: as long as your account exists.
- Contact messages: up to 24 months.
- Technical logs: kept by our providers for a limited time, usually days to weeks.
- Purchase records: kept by Polar for as long as tax and accounting law requires.
Your rights
You can ask us to give you a copy of your data, correct it, delete it or your whole account, export your documents, or stop using your data for a particular purpose. Write to [email protected] from the email address on your account; we reply within 30 days. You can unsubscribe from product emails with the link in any of them. You also have the right to complain to the data protection authority where you live.
Security
Connections to the Service are encrypted (HTTPS). Database access is restricted with row-level security, IP addresses are stored only as hashes, and secrets are kept out of our code. No system is perfectly secure, so please use a strong password and tell us about any problem you find.
Children
The Service is not intended for children under 16, and we do not knowingly collect their data. If you believe a child has given us personal data, contact us and we will delete it.
Changes to this policy
We may update this policy. The date at the top shows the latest version; if a change materially affects you, we will tell you by email or in the app.