Last updated 5 October 2026.
Selvage is a Shopify app that a merchant installs on their own store. This page says what Selvage reads from a store, what it keeps, which other services that data reaches, and how long any of it survives an uninstall. It is about merchants and their stores: Selvage holds no data about a store's customers, and the section on Shopify's customer-data webhooks below says what happens when it is asked for some.
Selvage asks Shopify for two access scopes and no others: read_products and write_products. It has no access to customers, orders, payments, checkouts, themes or staff accounts, and it requests no optional scopes.
Through those scopes it reads your product catalog — product titles, descriptions, product type, vendor, tags, images and image alt text — together with your store's name and description. It also holds your store's myshopify.com domain, the store language recorded at install, your Selvage plan, and the access token Shopify issues so the app can act for your store.
During a scan Selvage also reads pages of your own public storefront: up to five product pages, one per product template, and your published policy pages. Those are the pages any visitor can open, and reading them is how the open-web citations checks see what a search engine or an AI assistant would see. No credentials are sent with those requests, and they identify themselves as Selvage.
That data is held in a PostgreSQL database run by a database hosting provider, and the app itself runs on a server operated by a server hosting provider.
Selvage talks to Shopify constantly, because that is what a Shopify app is: reading your catalog, writing a change you approved, and checking your subscription are all requests to Shopify's Admin API, sent with the access token your store issued. Beyond Shopify, and beyond the database and the server described above, your data moves along five routes: three leave the Selvage server, one carries every request that reaches it, and one carries email you send to Selvage's support address. Those five are all of them, and each one is described by what it carries rather than by what it is for.
The storefront reads described above go to your store and to nobody else. They carry no product data of yours outbound — they are ordinary page requests, and what they return is the HTML your storefront serves to the public.
Selvage drafts copy with a language model run by an AI model provider. To build your brand profile it sends the AI model provider your store name, your store description, the tags used across a sample of your products, and that sample's titles, product types and descriptions. To draft wording for one product it sends that product's own title, description, product type, vendor and tags, the checks that product did not pass, and your brand profile; where images are missing alt text, it sends the identifiers of those images and no image content. It sends no customer data, no order data, no access token, and no data from any other store.
What comes back is presentation copy only — titles, descriptions, product type, tags and image alt text. Selvage never asks the model for your facts and never writes them: barcodes and GTINs, materials, dimensions, certifications, price and inventory are refused, and where a check needs one of those, Selvage flags the product for your input instead.
Selvage records how the app itself is used — an install, a scan starting and finishing, a suggestion drafted, approved or applied, a plan limit reached, an upgrade — and sends those events to a product-analytics provider. Each event carries your myshopify.com domain, your plan, and identifiers, counts and statuses of Selvage's own records. Product copy, customer data and order data are not among them: the code admits a fixed list of properties and drops anything else. Events are sent from the server, so no analytics script runs in your admin, and location is not derived from the request.
Every request that reaches Selvage passes through a network provider in transit, and so does every response Selvage sends back. That covers the app's pages you open in your Shopify admin, including the product copy, scores and suggested wording they show, and what you submit from them; the authorization handshake with Shopify that installs the app; and the webhooks Shopify sends Selvage, including the requests to delete a store's data. The network provider terminates the encrypted connection, so that traffic is decrypted on its network before it is passed on to the server. This page says what passes through the network provider; it does not claim that the provider keeps none of it.
Email you send to Selvage's support address passes through an email-forwarding provider on its way to us. It carries whatever you write in the message, together with the address you send it from. The forwarded message is then kept in the mailbox it is delivered to, which an email-hosting provider runs. As with the network provider, this page says what passes through the forwarding provider and does not claim that it keeps none of it.
Selvage writes five fields and no others — title, description, product type, tags and image alt text — only to products in the store that installed it, and only after you approve the wording. Before each write it records what that field currently holds. A rollback restores the recorded value, unless you have edited the field yourself since, in which case your newer wording is left in place.
While Selvage is installed, your scans, scores, brand profile and suggestions are kept so they are there when you come back.
When you uninstall it, Selvage deletes your Shopify sessions and access tokens as the uninstall arrives, and marks the store uninstalled. Shopify then sends a shop redaction request about 48 hours after an uninstall that is not followed by a reinstall; when that arrives, everything keyed to your store is deleted. Because that request never comes for a store that reinstalled inside the window and then walked away, a sweep inside the app deletes every store uninstalled 30 days ago or longer. It runs several times a day, and it is a backstop rather than the usual path.
Shopify's customers/data_request and customers/redact webhooks are acknowledged and nothing else happens, because Selvage stores no customer data to hand over or erase.
Selvage does not sell your data, and does not share it with anyone outside that list.
This page names each processor by what it does rather than by company, so that changing a provider does not change what it says. To ask for the current list of processors by name, email [email protected].
Uninstalling Selvage from your Shopify admin starts the deletion described above. Reducing what the app can read means removing its access, since the two scopes it holds are the ones it needs to scan and to apply a change you approved. For a question about your data, or to ask for a deletion sooner, use the support page.
When this page changes, the date at the top changes with it. The version you are reading is the one in effect.