Halftone Maker
Privacy notice
How Halftone Maker handles local editing, optional cloud processing, presets, feedback, browser storage, and optional analytics.
Content updated:
- Operator
- Halftone Maker
- Contact
- support@halftonemaker.org
Editing on your device
Core image editing, halftone rendering, pattern creation, and exports run in your browser. Choosing an image for local editing does not by itself upload that image to the site's server. This does not mean every optional feature works offline or keeps all data on your device.
Optional cloud background removal
When cloud background removal is available and you explicitly run it, the current source image is sent to this site's server and forwarded to the configured background-removal provider, remove.bg by default. Merely opening the background-removal panel checks availability without sending an image.
The current server implementation processes the request and returns a PNG without saving the image in the site's preset or feedback store. The provider and hosting infrastructure have their own processing and retention practices. Do not submit images you are not allowed to send to that provider.
Optional anonymous preset sync and share codes
When available, preset sync uses a random sync key rather than requiring an account. Once you enable sync and keep a key in your browser, syncing can recur when you save presets, open the preset library, return to the editor, or reconnect. Synced records include preset names, settings, timestamps, deletion markers, and optional preview thumbnails; these previews may reveal artwork. Local snapshots and artwork documents are excluded from this preset sync.
Anyone with your sync key can access and update the associated collection. Anyone with a share code or token can retrieve its presets while the share remains valid. Sharing sends selected preset names and settings to the server. Treat keys and codes as access credentials, and avoid private information in presets.
Share retrieval stops at the stored expiry time. Expiry does not itself erase the stored record. The current implementation has no automatic retention cleanup for share records or synced collections.
Feedback and server retention
The contact page provides an email link and has no submission form. If you send an email, its contents and your email address are handled by the operator's email service. The website does not save that message through its feedback API.
If optional in-app feedback is enabled, submissions store the message, any supplied email, a record identifier, a timestamp, and any supported attachments in the configured server store. Feedback, anonymous sync collections, and share records have no automatic deletion schedule in the current implementation. Email the operator about access or deletion, with enough non-sensitive details to locate the record. Clearing browser data does not delete server records.
Browser storage and optional accounts
The app uses browser storage for preferences, theme, editor and clipboard options, QR content, sync keys, and sync status. IndexedDB stores locally saved presets, snapshots, artwork documents, imported fonts, and other local assets. An enabled offline cache can store app resources. Storage may fall back to temporary memory when browser persistence is unavailable.
Delete local items in the app where controls are available, or clear this site's storage using your browser settings. Export work you want to keep first. Removing a saved sync key stops that browser from using it; it does not revoke other copies of the key or erase the server collection.
If optional Supabase sign-in is configured and exposed, requesting a sign-in link sends your email to Supabase authentication, and the client can keep a session in browser storage. Anonymous preset sync and feedback do not require this sign-in.
Usage analytics
When this deployment has a valid Google Analytics 4 measurement ID configured, usage analytics loads automatically without a consent prompt. It records public page visits and fixed action categories, without sending images, filenames, artwork content, query strings or URL fragments. Google processes usage information under its own privacy practices. Analytics remains disabled when the measurement ID is missing or invalid.
Questions and requests
Email the operator using the address on the contact page for privacy questions or requests about stored feedback and presets. Server features send network requests, so this notice is not a promise that hosting or service providers keep no access logs.