Privacy Policy

Last updated: May 22, 2026

TryOn (“the app”) adds an AI virtual try-on widget to Shopify storefronts. This policy explains exactly what data the app processes, what it stores, and what it never stores — for shoppers who use the try-on widget and for merchants who install the app.

Shopper photos are never stored

When a shopper uploads a photo to try on a garment, that image is sent to our server, passed in-memory to the AI image model (Google Gemini via Google Cloud Vertex AI) to generate the try-on result, and then discarded. The uploaded photo and the generated result are never written to any database, disk, or log. They exist only for the few seconds it takes to produce the result and are gone the moment the request completes or the shopper closes the window.

What we do store

For each try-on, we record an image-free event row containing:

  • the product the try-on was for (title, handle, and URL);
  • whether the generation succeeded or failed, and how long it took;
  • a timestamp;
  • a salted SHA-256 hash of the visitor’s IP address.

The IP hash is one-way and salted with a private key. It cannot be reversed to an IP address and is not personally identifiable. It is used solely to enforce the per-visitor try-on rate limit the merchant configures — nothing else. We never store the raw IP address.

We also store the merchant’s configuration (shop domain, widget settings, rate-limit settings, plan), aggregate add-to-cart counts, and, for order-conversion analytics, basic order metadata received from Shopify’s order webhook — the order id, total, currency, item count, and whether a purchased product had been tried on. We do not read or store any customer-identifiable order fields (no names, emails, addresses, or phone numbers). None of this contains shopper personal data.

Data we never collect

  • Shopper names, emails, addresses, or payment details.
  • Uploaded or generated photos (see above).
  • Raw IP addresses.
  • Tracking cookies or cross-site advertising identifiers.

Subprocessors

Try-on images are generated by Google Gemini via Google Cloud Vertex AI. Photos are transmitted to Google only for the duration of generating a result and are subject to Google Cloud’s data-processing terms. Application data and analytics are stored in a managed PostgreSQL database, isolated to this app’s own schema. Hosting is provided by Vercel.

Merchant data & uninstalling

When a merchant uninstalls TryOn, the app immediately disables the widget and clears its access tokens. In line with Shopify’s requirements, when Shopify sends the shop/redact request (48 hours after uninstall) the app permanently hard-deletes all data for that shop — the shop record and every associated try-on event, add-to-cart event, and order event — with no recoverable copy.

GDPR & mandatory compliance webhooks

The app implements all of Shopify’s mandatory privacy webhooks:

  • customers/data_request — the app stores no customer-identifiable data, so there is nothing to export; the request is acknowledged.
  • customers/redact — no customer-identifiable data is stored (try-on events carry only a non-identifiable IP hash), so there is nothing to delete; the request is acknowledged.
  • shop/redact — all data for the shop is permanently deleted, as described above.

All webhooks are HMAC-verified using the app’s secret before any action is taken.

Children

The widget is intended for use by adults on merchant storefronts. We do not knowingly process photos of children.

Changes to this policy

We may update this policy as the app evolves. Material changes will be reflected by the “Last updated” date above.

Contact

Questions about privacy or data handling? Email info@solyio.com.