Nextspan Privacy Policy
Last updated: 2026-10-22 (markets, read only, for the free-shipping threshold).
Nextspan ("we") is a Shopify app that shows product recommendations, a free-shipping progress bar and a gift-with-purchase offer on a merchant's storefront, and measures whether those features increase the merchant's revenue. This policy describes what data the app processes, why, for how long, and how to have it removed. It is written for merchants who install the app and for their customers.
What we process, and why
From the merchant's Shopify store (Admin API):
- Products, variants, collections, prices, availability and tags: to compute which products go together and to render recommendations.
- Orders from the last 60 days: order date, currency, subtotal, refunded amount, the UTM source and campaign when the store records them as order attributes, the attributes our own storefront script adds (which experiment group the order came from), and the line items (product, quantity, price, refunded quantity, and which of our widgets the item was added from). This is what the recommendation model learns from. We do not currently request access to older orders; if we ever do, the merchant will be asked to grant it and can revoke it at any time.
- Shipping settings (read only): to find the store's free-shipping threshold, which the progress bar counts towards.
- Markets (read only): Shopify now keeps shipping settings per market, so we read each market's shipping options for the same free-shipping threshold. Nothing else about markets is used.
- Themes (read only): to place the storefront widgets.
- Discounts (write): to create the gift-with-purchase discount the merchant configures. We create and manage only our own discount.
We do not request access to customer records. We never read a customer's name, email address, phone number or shipping address from an order, and our database has no table for customers. The order fields above are an explicit allow-list in our code.
From the merchant, in the app:
- Which Nextspan plan the store is on (free or Standard), whether Shopify marked that subscription as a test, and when we last read it: to show the plan and let the merchant change it. Charging is done by Shopify on the merchant's Shopify invoice; we never see card or bank details. Deleted with the store's other data when the app is uninstalled.
- Messages the merchant sends us from the app's Contact us page, and our replies: to answer their questions and to improve Nextspan. They are stored with the merchant's store, never shared, and deleted with the store's other data when the app is uninstalled. We ask merchants not to include their customers' personal details in these messages.
From the storefront (first party, through the merchant's own domain):
- A random visitor identifier, an experiment group ("sees the widgets" or "control") and the experiment period the visitor was assigned in, stored in three cookies (
nsp_v,nsp_b,nsp_e) for up to one year, plus a copy in the browser's local storage. - For the current browsing session only, in the browser's session storage (cleared when the tab is closed): the products viewed in this session, how many times the add-on panel has been shown, and a short-lived copy of the recommendations so the page does not refetch them.
- Events about the widgets: shown, clicked, product added, with the product involved and its price. No names, emails or addresses, and nothing about pages where no widget appears.
The visitor identifier is not a Shopify customer ID and cannot be linked to a person by us or by the merchant. Its only purpose is to keep the same visitor in the same experiment group so the control group is valid, and to count visitors once.
Consent. Where the store shows a cookie consent banner, the widgets respect Shopify's Customer Privacy API: until a visitor consents to analytics, we set no persistent cookies and send no events; the visitor still sees recommendations.
What we do not do
- We do not sell data, and we do not share it with advertisers or data brokers.
- We do not use one merchant's data to make recommendations for another merchant. Every record is keyed to the store it came from and every query is scoped to that store.
- We do not make automated decisions with legal or similarly significant effects, and we do not vary prices per shopper. The gift-with-purchase discount depends only on the cart's contents.
- We send no data to third-party analytics or error-tracking services.
Retention and deletion
- Raw storefront events are kept for 13 months, then aggregated into daily counts (no visitor identifiers) and deleted. This runs automatically every day.
- On receiving Shopify’s uninstall notification, we remove the app’s sessions and access credentials at once, and delete the store’s data 24 hours later, so that reinstalling within that day finds the app as it was left. Deletion includes computed recommendations and stored privacy-request locators. Interrupted cleanup is retried by maintenance, and Shopify’s store-erasure notification, sent 48 hours after uninstalling, deletes anything that remains. We keep a record of each uninstall (the store’s domain and the dates, nothing else) for 13 months, and minimal compliance audit records separately.
- Customer data requests (
customers/data_request) and redaction requests (customers/redact) forwarded by Shopify are answered within 30 days, against the order identifiers Shopify includes with the request. We hold no name, email, phone or address, but we do hold those orders and their line items, so a data request is answered with that order and line data and a redaction erases it. A redacted order is also remembered as erased, so a later import of the same date range does not restore it. Each request is logged with its outcome and no customer identifier.
Where data lives and how it is protected
Data is stored in a managed PostgreSQL database in the United States (US East), encrypted at rest and in transit. Access is limited to the operator of the app. Merchant access tokens are stored server side only and never exposed to the storefront.
Sub-processors
| Provider | Purpose | Location |
|---|---|---|
| Fly.io | Application hosting | United States (iad) |
| Neon | PostgreSQL database | United States (US East) |
We will update this list before adding any provider.
Your rights
Merchants can download the currently stored order data for Shopify customer data requests from the app’s Your data page. This is not a full-store export. Uninstalling triggers store-data deletion. Customers should contact the merchant, who can forward requests to us through Shopify's data request tools; we will respond within 30 days. Residents of the EU/EEA, UK, California and other jurisdictions with data protection laws have the rights those laws grant, including access, correction, deletion and objection.
Contact
Nextspan is operated by Reagan Lee (inanswer). Write to hello@inanswer.tw, or use the Contact us page in the app.
Changes
Material changes will be announced in the app's admin page at least 14 days before they take effect.