PAIRSHELF · YOUR DATA

Privacy policy

How we handle store information and consented recommendation interactions.

Effective and last updated: October 31, 2026

1. Who we are

PairShelf provides product-pair and cart-recommendation tools for Shopify merchants. This policy covers our app, public website and support communications.

Operator: PairShelf
193 North State Street, Concord, NH 03301, United States
Privacy contact: [email protected]

Merchants decide how to use recommendations in their stores and remain responsible for their store privacy notices and customer requests. We process store configuration to provide the service to the merchant, and manage our own service administration and support information.

2. Information we use

  • Shopify account and store information: shop domain, shop ID, name, currency and time zone. Shopify authentication sessions can include access and refresh tokens, permissions, expiry, account identifiers, staff name, email, locale and account flags.
  • Catalog and merchant settings: product IDs, titles, handles, publication and availability information, plus the pair names, product selections, tags, types, placements, priorities and experiment settings you configure.
  • App subscriptions and usage: subscription identifiers, plan, status, test flag, a temporary billing-request identifier and expiry, AI allowance windows, request status, token counts, estimated provider usage cost and suggestion results. Shopify handles payment approval; PairShelf does not collect payment-card details or cache new subscription approval links.
  • Consented storefront interactions: view, click or add events, a random identifier for each event, the relevant pair or rule, and any experiment variant. These event records do not include customer names, email addresses, order IDs, IP addresses or a persistent visitor identifier.
  • Support and operation: information you choose to email us and background-task status or error information needed to operate the service. Hosting and network providers may process ordinary request metadata, such as IP addresses and request times, when delivering the service; this is separate from our interaction-event records.

We do not request Shopify customer-profile or order access scopes. Please do not send passwords, access tokens or customer records in support messages.

3. Why we use information

We use this information to authenticate merchants, retrieve their catalog, display their selected recommendations, apply plan limits, report consented interactions, return requested AI suggestions, provide support and resolve operational or security issues. Recommendation results are not used to make legal or similarly significant decisions about individuals. PairShelf does not use this information for advertising audiences or sell it. Where privacy law requires a legal basis, service administration supports the provision of the requested service and its security; optional interaction analytics rely on the consent signal described below.

4. Browser storage and analytics choices

The merchant interface uses Shopify authentication and session mechanisms. The storefront extension uses browser session storage to keep an experiment assignment consistent within a session; the assignment seed is not transmitted to PairShelf.

Interaction events are sent only when the Shopify Customer Privacy API reports that analytics processing is allowed. Theme-editor previews do not generate these events. Customers can change consent using the store’s privacy controls. Withdrawing analytics consent stops subsequent event collection; it does not automatically remove previously recorded anonymous events. Contact the merchant about its own storefront privacy practices.

5. Service providers and processing locations

  • Shopify: sign-in, catalog APIs, app billing, storefront delivery and consent controls.
  • DigitalOcean: application hosting and PostgreSQL storage in New York, United States.
  • Volcengine Ark / Doubao: when a merchant chooses the AI suggestion action, selected starting-product and candidate-product titles are sent to the configured Beijing-region API in China. This request does not include shopper profiles or orders. Avoid putting personal or confidential information in product titles sent for AI processing.

Support messages are handled through our Microsoft-hosted Hotmail mailbox. The public site also loads its font stylesheet from Shopify’s CDN. These providers process information to deliver their services under their applicable terms and privacy practices. Their operational logs and retention may differ from the app database periods below; we do not promise zero provider-side retention or that all processing remains in your country. Information may be processed outside your location, including the United States and, for requested AI suggestions, China.

6. Retention and uninstalling

  • Interaction events older than 30 days and AI usage records older than 13 months are removed by the app’s scheduled cleanup. Cleanup runs within the web service, so service interruptions can delay removal.
  • Store connection information, recommendation settings and experiments remain while the app is installed. These settings do not have an automatic age-based expiry.
  • When Shopify notifies us of an uninstall, the app removes its stored authentication sessions, subscription snapshot, temporary billing-request state and background jobs, and marks the connection uninstalled. The remaining shop data is removed when Shopify sends the shop-redaction notification. Uninstalling is not an immediate deletion of every record, and reinstalling does not guarantee recovery.
  • To reduce duplicate simultaneous billing requests, a random creation identifier is valid for two minutes and normally removed when the request finishes. If a request or its cleanup is interrupted, the record can remain until replaced by a later plan request or removed by the uninstall or shop-redaction cleanup. Approval links stored by earlier versions are not reused and are replaced on the next plan request. Other active session and completed-job records do not have a separate automatic age-based deletion rule; the uninstall and shop-redaction cleanup described above applies.
  • Support correspondence may remain in our support mailbox after an issue is resolved. Contact us to request access or deletion. Provider-managed logs are separate from app records.

Configuration exports are files downloaded to the merchant’s device. The merchant controls those copies. An export is not a database backup and there is currently no configuration-import restore feature.

7. Your requests and choices

Contact [email protected] to ask about access, correction, deletion, export, restriction or objection to processing, or to appeal our response where applicable. Include your store domain and the nature of the request, but no passwords or access tokens. We may ask for information necessary to verify authority over the relevant account before disclosing or changing records.

Customers should first contact the store where they shopped. We support Shopify’s privacy-request and deletion notifications. Because our interaction records do not identify individual customers, we may be unable to associate an anonymous event with a particular person. You may also contact your relevant data-protection authority where applicable.

8. Security

The service uses HTTPS, Shopify authentication for merchant pages, server-side store ownership checks and verified Shopify webhook signatures. API credentials are kept on the server. These safeguards reduce risk but cannot guarantee that all loss or unauthorized access will be prevented. This policy does not claim security certification, guaranteed recovery or a separate data-processing agreement.

9. Policy updates

We may update this policy when the service or its data practices change. The date below identifies the current version. Please review it when using new features, and contact us with questions about any change.