Plain-language privacy

Your draft is local. Publishing is deliberate.

Last updated October 13, 2026.

Drafts

Editor drafts are stored in your browser local storage. They are not sent to our server until you choose Publish. Loading a local HTML file reads it in your browser. A selected ZIP stays in the current tab only and must be selected again after a refresh or sign-in.

Preview

Previewed HTML updates automatically as you edit and runs in an origin-isolated iframe without access to the app's cookies or local storage. Scripts, images, stylesheets, and other external resources in your HTML may contact third-party servers during preview. Preflight checks flag common patterns but do not block those requests; only preview code and resources you trust.

Published pages

Publishing stores the HTML and any accepted ZIP assets on our hosting server, plus a page label, total file size, expiry, view count, and a one-way hash of the private edit key. Published URLs are public to anyone who has the link and must not contain confidential information.

Operational data

We may process basic request information needed for abuse prevention, reliability, and security. We also keep daily upload-byte totals to enforce the shared free allowance. We do not sell editor content or use published pages to train models.

Publishing analytics

We measure visits to the homepage, pricing, docs, sign-in, dashboard, privacy, and terms pages, plus pricing-page entries and attempts to publish. The browser sends the event type, a unique event identifier, a random anonymous browser identifier, and only an approved page path, without query parameters or fragments. A publishing operation also has a random operation identifier so the server can associate the attempt with its actual outcome. Attempts are measured even if validation or quota checks stop publication; a button impression is not a successful publish.

The anonymous identifier is stored in browser local storage, with an in-memory fallback if storage is unavailable. These analytics events do not contain your HTML, ZIP content, page label, chosen subdomain, URL query parameters, or private edit key. Server-side publication outcomes and byte counts are recorded separately. Clearing browser storage resets the stored identifier on a future visit.

Accounts and billing

When you sign in, we store your email address and the account details needed by the sign-in method you use. A connected identity provider may supply a name, profile image, and provider identifier. Email sign-in uses verification messages sent to the address you provide. Stripe processes card payment details, and NOWPayments processes cryptocurrency payments where offered; we store payment customer and subscription identifiers, plan status, and billing event records, but not full card numbers. If you are in the European Economic Area, United Kingdom or Switzerland, we record your consent to immediate supply (time, country and wording version) with each purchase.

Optional GA4 and Microsoft Clarity analytics

Only if you choose Allow analytics, Google Analytics 4 counts canonical page views on the clean homepage, pricing, documentation, privacy and terms pages. GA4 receives no query strings, fragments, HTML, ZIP content, page labels, subdomains, private edit keys, account identifiers or custom publishing-event fields. Advertising storage, Google signals and ad personalization remain disabled. Microsoft Clarity measures anonymous visits and interactions only on public pricing, documentation, privacy and terms pages. See Google's Privacy Policy and Microsoft's Privacy Statement.

Clarity never runs in the homepage editor, on account or sign-in pages, or on user-hosted websites. We exclude signed-in visitors and pages with query parameters, fragments or potentially sensitive referrers, and respect Global Privacy Control. GA4 likewise never loads on account, sign-in, dashboard, hosted-content, query-string or fragment-bearing documents. Moving from a measured page to a private page opens a fresh document instead of carrying optional scripts into private content.

Use Privacy settings in the footer to reject or withdraw optional analytics at any time. Withdrawal denies analytics storage, clears this site's optional analytics cookies and reloads a measured page without its scripts; a final transmission may contain activity recorded before stopping. It does not undo data already sent. We remember your choice for up to 180 days. Changing it does not disable publishing or the first-party publishing statistics described above.

Expiry

Expired pages stop being served. Backups and operational records may persist for a limited period where required for reliability, abuse prevention, or legal compliance.