Privacy Policy
Last updated: 2026-08-13
Basic policy
IconFit AI (the “Service”) processes uploaded images entirely inside your browser. The image file itself is never sent to, or stored on, the Service's servers.
How we handle image data
- Uploaded image files are never sent to the Service's servers.
- Images are never stored on a server. They're discarded from browser memory when you close the page or choose a different image.
- Images are never used as AI training data.
- We don't log file names or upload contents.
- Data produced by face detection (positions, counts, coordinates) is used only inside your browser and is never sent anywhere.
About face detection
To automatically detect subjects, the Service uses “MediaPipe,” an on-device (in-browser) face detection library provided by Google. The first time this feature runs, it loads the program (a WASM runtime) and a model file needed for detection from an external source.
- The program itself (the WASM runtime) is served by the Service directly and does not connect to any external server.
- The detection model file (data used to locate faces) is loaded directly from Google's own servers (storage.googleapis.com). This request only fetches program components — it never includes your image or anything you upload.
- If face detection fails or finds no face, the image is centered automatically instead.
We've also confirmed that this library, by design, can attempt to send anonymous usage and performance metrics to Google (never your image data or its contents). The Service technically blocks this request via a browser security feature (Content Security Policy), and we've verified during development that this request never actually occurs. See the official MediaPipe repository for technical details.
About analytics
The Service has built-in support for Google Analytics 4 (GA4) usage measurement, but it is disabled by default. The measurement script only loads if the operator explicitly enables it via environment variables and the consent described below has been granted. While disabled, no GA4 script or network request occurs at all.
Even when enabled, only minimal usage events like the following are ever sent.
- Action types such as: opened the tool, selected an image, automatic placement completed, automatic placement fell back (e.g. to centering), switched finish mode, manually adjusted position/zoom, started/completed a download
- The chosen file format (PNG/JPEG), whether a low-resolution warning was shown, and which guide article was viewed
The following is never sent, even when GA4 is enabled:
- The uploaded image data itself, or its file name
- Face detection results (face count, position, bounding boxes, or any coordinates)
- The actual numeric values of adjustments — drag amount, zoom level, rotation angle
- Any personally identifying ID, fingerprint, or free-text form input
The set of fields allowed for each event type is restricted by a fixed allow-list in the implementation; any field not on that list is automatically discarded.
About Vercel Web Analytics
To understand how the Service's pages are used and to help improve it, we use “Vercel Web Analytics,”provided by our hosting platform (Vercel), to measure anonymous page views. At this stage, this measurement is limited to anonymous page views only — we don't send any custom events.
Vercel Web Analytics does not use cookies for this measurement. Instead, Vercel identifies visitors using a hash generated from the incoming request, which is automatically discarded after 24 hours and isn't linked to any other data. See Vercel's own documentation for the technical details.
Before a page-view event is sent, the Service removes any query string (e.g. ?ref=...) and URL fragment (e.g. #section) from the page path first. So this measurement only ever sees which page (such as /ja/tool) was visited — never any dynamic parameters that page might carry.
No uploaded image, editing result, or any other content you create in the tool is ever included in this measurement — it only records that a page was visited.
This is separate from the GA4-based usage measurement described above (still disabled by default, unchanged) and from Google AdSense described below (also disabled by default, unchanged) — neither is affected by this. It's also unrelated to the iconfit-ai-locale cookie described further below, which only remembers your language preference.
While page-view measurement is active in production, this does involve minimal network communication with Vercel as described above — we're not claiming that zero communication occurs. What we commit to is limiting that communication to what's described here.
About advertising
The Service has built-in support for displaying ads via Google AdSense, but it is disabled by default. Ad scripts and ad slots only load if the operator sets a valid Publisher ID via environment variables and the consent described below has been granted. While disabled, no ad-related script, network request, or ad slot appears at all.
The editing screen (/tool) never shows ads, even when advertising is enabled — this is a standing policy that won't change. The same applies to this page (Privacy Policy), the Terms of Service, and the Contact page. We only consider showing ads alongside informational content: the landing page's content sections, guide articles, and the FAQ page.
About consent
The Service doesn't currently implement its own consent banner (cookie banner). A hand-rolled banner alone can't guarantee compliance with regional regulations (e.g. the EU's GDPR). Instead, loading analytics or ads requires consent state to be explicitly “granted” as one of its conditions — until a proper consent mechanism (such as a Google-certified CMP) is integrated, analytics and ads remain inactive even if enabled via environment variables. If the Service is offered in a region with legal consent requirements (e.g. the EU), the operator must separately integrate an appropriate Consent Management Platform (CMP).
Cookies and stored data
The Service does not issue any cookie for tracking or identification purposes. Uploaded images and their processing results are never persisted to browser storage (such as localStorage).
As a limited exception, the Service may store a single localStorage key, iconfit-ai-consent, to remember your consent choice (granted/denied). This holds only a settings value for consent state — never an image, personal data, or an identifier.
We also store your language preference (Japanese/English) in a single first-party cookie, iconfit-ai-locale. It holds only the literal value “ja” or “en”, is never sent to any third party, and is used solely to remember which language to show you next time.
Contact
For questions about this policy, please reach out via our Contact page.
Changes to this policy
This policy may be revised without notice in response to legal or service changes. We'll update the “Last updated” date on this page when a meaningful change is made.