Privacy policy

Last updated 18 October 2026

OptionCraft is a Shopify app published by Varyan Soft. It adds product options, option pricing, customer file uploads and option-aware upsells to a Shopify store. This policy explains what the app stores, why it stores it, how long it keeps it and how it is deleted. It applies to merchants who install OptionCraft and to the customers of those stores whose orders and uploads pass through the app.

For information about a store's customers, the merchant decides how it is used and Varyan Soft processes it on the merchant's behalf, only to run the app. Merchants should describe OptionCraft in their own privacy notice to customers.

What the app stores

Store information

When a store installs OptionCraft, the app keeps the store's myshopify domain, store name, plan name, currency, published languages, the access scopes the merchant granted, the install and uninstall dates, and the app settings the merchant chooses. It does not keep the store owner's name, email address or postal address.

The access tokens Shopify issues to the app are encrypted with AES-256-GCM before they are stored, and they are deleted when the app is uninstalled. The admin activity log records who changed what by the Shopify staff user number, not by name or email address.

Option sets and products

The app stores the option sets, rules, prices, translations, product assignments and upsell links the merchant creates, with each published version. Each publish also writes a backup copy that cannot be changed or deleted for 30 days and is deleted automatically after 365 days. Published options are written to the store's own products in Shopify, where the storefront reads them.

Customer uploads

When an option asks the customer for a file, the customer's browser sends the file straight to the app's storage. OptionCraft accepts PNG, JPEG, WebP, SVG and PDF files of up to 25 MB, and, for options that ask for a font, TTF, OTF, WOFF and WOFF2 font files of up to 10 MB.

Before a file can be opened, the app checks and cleans it:

  • PNG, JPEG and WebP images are decoded and saved again, which removes EXIF data, GPS location and other embedded metadata.
  • SVG drawings are rebuilt from a list of safe drawing elements; scripts, embedded documents and links to other sites are removed.
  • PDF files are rebuilt from their pages. A PDF that contains scripts, embedded files, launch actions, form submissions or links other than web or email links is refused.
  • Font files are checked for a valid structure and stored as uploaded, then offered to the merchant only as downloads.

A refused file stays in a closed quarantine area for 7 days and is then deleted. For each upload the app stores the cleaned file, the file name the customer chose, its type, size, pixel dimensions and resolution, the product and option it belongs to, and the order it was placed with. A file link opens only with the random key printed on the order line, and the app stores only a hash of that key.

Uploads on an order are deleted after the retention period set in the app's settings: 730 days by default, and never less than 30 days. Uploads that never reach an order are deleted after 30 days. Deleted files can remain in the storage service's recovery copies for up to 30 days before they are removed for good.

Orders

OptionCraft reads new orders to check that every line with OptionCraft options was charged the price the options call for. Shopify treats order data as protected customer data. OptionCraft asks only for order data, without the optional customer name, email, phone or address fields.

When an order arrives, the app keeps a short list of fields: order and line ids, the order number, currency, quantities, prices, SKUs and OptionCraft's own line properties. The customer's name, email address, phone number, billing and shipping addresses, browser IP address, order notes and other apps' private line properties are removed before anything is stored or logged. Other visible line properties stay in the reduced order and are cleared with it. Answers to email and phone options are replaced with placeholders at the same step.

The reduced order is stored encrypted until the check runs and is then cleared. The check result that remains holds order and line ids, amounts, the result, reason codes, the composed SKU and per-line figures for the analytics dashboard. It is kept for 180 days by default; the merchant can set any period from 30 to 730 days. The app may add a tag and a short note with amounts and SKUs to the order in Shopify. It never changes an order's prices, payment or fulfillment.

Storefront analytics

OptionCraft uses a Shopify web pixel to count option and upsell activity. The pixel runs only when the visitor has allowed analytics under the store's privacy settings. It sends product, option, value and upsell ids, quantities, and the order id at checkout, which is checked and not stored.

A visitor is represented by a SHA-256 hash of Shopify's anonymous browser id and the date, so the value changes every day; the browser id itself never leaves the pixel. The app does not store names, email addresses, IP addresses, browser details or anything a visitor types. Individual events are kept for 30 days. Daily totals per product, option and upsell are kept until the store's data is deleted. Analytics are shown only to the merchant and are never used for advertising, sold or shared.

Technical logs

The app's service logs record request paths, timings, error types and internal ids so problems can be found and fixed. They exclude customer information and are kept for 30 days.

What the app does not do

  • It does not read customer accounts or customer lists.
  • It does not sell personal information or share it for advertising.
  • It does not make automated decisions about customers. The price check only tags an order for the merchant to review.
  • It does not load code from outside Shopify. The storefront widget and the analytics pixel ship inside the app's Shopify extensions.

Requests and deletion

Shopify sends privacy requests to the app on the merchant's behalf. OptionCraft handles them as follows:

  • Customer data request (customers/data_request): the app keeps no customer profile. For the orders in the request, it lists the ids of any uploaded files and order check results in the store's OptionCraft activity log, so the merchant can download them from the app and send them to the customer.
  • Customer erasure (customers/redact): the app deletes the uploaded files, and their records, that belong to the orders in the request, and the order check results for those orders.
  • Store erasure (shop/redact): Shopify sends this 48 hours after the app is uninstalled. The app then deletes what it holds for the store: settings, option sets, publications, order check results, uploads and their files, analytics and webhook records. The publish backups, which hold only option sets and contain no customer information, cannot be deleted while their 30-day lock lasts and are removed automatically 365 days after they were written.

Access tokens are deleted as soon as the app is uninstalled. A merchant can also ask for their store's data to be deleted at any time by writing to hello@varyan.com.

Where data is stored and who processes it

  • Microsoft Azure hosts the app in the North Central US region: the application servers, the database, file storage, message queues, key management and logs.
  • Shopify runs the store and sends the app the store, order and privacy request information described above. The app writes options, tags and notes back to the store through Shopify.

OptionCraft uses no other service providers.

Security

All traffic to and from the app uses TLS. Azure encrypts stored data at rest. Access tokens and the content of incoming webhooks are also encrypted by the app with keys held in Azure Key Vault. The database accepts no connections from the public internet, files are never publicly listed, and access to the production systems is limited to Varyan Soft's administrator.

Changes to this policy

When this policy changes, the date at the top changes with it. Material changes are announced to merchants who have the app installed.

Contact

OptionCraft is published by Varyan Soft. For questions about this policy or to make a request, write to hello@varyan.com.

Lexi

AI assistant

Hi, I’m Lexi, Varyan Soft’s AI assistant, not a person. I can explain our services and prices, point you to the right page, and help you book a free 30-minute consultation. I can make mistakes, so please don’t share passwords, health or payment details.

Powered by ElevenLabs · Privacy