Privacy Policy

Effective: 6 October 2026

This policy explains what PriceSway collects, why, and what you can ask us to do about it. It covers three different groups of people: merchants who use PriceSway, visitors to our website, and the operators of stores our customers choose to monitor. If you only want the last one, skip to section 6.

1. Who we are

PriceSway is a competitor price monitoring and pricing service for online retailers, operated by a company registered in New Zealand. In this policy “we”, “us” and “PriceSway” mean that company.

For privacy questions, requests, or to ask us to stop monitoring a store you operate, email privacy@pricesway.com. We answer within 20 working days, or sooner where the law that applies to you requires it (see section 11), and usually much sooner.

2. The roles we play

For your account, your organisation and your billing, we decide how the information is handled. We are the controller for it (in the terms of New Zealand's Privacy Act 2020, the agency holding it).

For the catalogue and order data we take from your own store, we act on your instructions. You decide which store to connect, what we import from it, and when to delete it. We use that data to run PriceSway for you and for nothing else.

Competitor observations work differently, and we would rather say so than blur it. You choose which stores to track, but we decide how those observations are collected, how often we go back, and how long we keep them, and we rely on our own legitimate interest to do it rather than on your instructions. For that data we are the controller, not your processor. Section 6 sets out what that means for the stores concerned.

3. What we collect

Account and sign-in

  • Your name and email address.
  • If you register with a password, a bcrypt hash of it. We never store the password itself and cannot recover it.
  • If you use Sign in with Google, the profile and email address Google returns to us and the OAuth tokens that keep the connection alive. Google has already proved you own the address, so we mark it verified without sending our own link.
  • Whether and when you confirmed your email address. Before you have a paid plan we ask you to confirm it before we will run a store-URL import or competitor discovery for you. Digests, alerts and other notification email go only to confirmed addresses. Two things do not wait for confirmation: the verification email itself, and the automatic acknowledgement we send when you write to us through the contact form.
  • Session records for staying signed in.

Organisation and billing

  • Organisation name, and your membership record and its role.
  • Your plan, trial end date, and the Stripe customer and subscription identifiers. Card numbers go straight to Stripe — they never reach our servers and we never see them. During a paid trial, your Stripe subscription may also hold the Meta measurement details described in section 14, until the first payment.
  • A daily record of how many paid search lookups your organisation used, per endpoint, so we can apply plan limits.

Your store connection

  • If you connect Shopify, your store URL, the access token issued to us, and the store country, city and state Shopify reports. The token is what lets us read your catalogue and write an accepted price back.
  • We request four scopes: read_products, write_products, read_orders and read_inventory. Products so we can import your catalogue; write access so an accepted recommendation can go live; orders so the pricing model has real demand data; inventory so we do not recommend prices for items you cannot sell.

Your catalogue and sales data

  • Product names, SKUs, categories, current price, cost price and stock, however they arrive — Shopify sync, a store URL import, or a CSV upload.
  • Import records: the URL you imported, the platform we detected, how many pages and products we processed, and any error, so you can see what happened.
  • Order line items: product, quantity, price at sale, channel and timestamp. We do not store customer names, email addresses, postal addresses or phone numbers from your orders. Nothing that identifies your customers enters our database.
  • Recommendations we generate, and a log of price changes pushed to your storefront.

Competitor observations

  • Merchant or store name, product name, page address, the price and availability we observed, and when we observed it — kept as a history so you can see movement over time.
  • Suggested competitors we surface for you to accept or ignore.
  • Your alert threshold and notification preferences, and a record of alerts sent.

Support, sales and the free storefront audit

  • If you use the contact form we keep your name, email address, message, and — for abuse handling — the IP address and browser user-agent the message came from. If you were signed in, we record which account sent it.
  • If you request the free storefront audit we keep the email address you gave and the report we generated.

Usage, device and technical data

  • Pages viewed, features used and events like completing an import or accepting a recommendation. Our analytics tags run on every page of the site, so this starts before you have an account. Once you sign in, these are tied to your user ID and email address.
  • Session replays recorded by PostHog, which we use to understand where the product confuses people. Because PostHog loads on every page, replays cover anonymous visitors on our public pages as well as customers inside the signed-in application.
  • Server logs and error reports, which include IP addresses, and short-lived in-memory rate-limit counters keyed to IP.

4. Where it comes from

  • You — what you type, upload and configure.
  • Your connected store — the Shopify Admin API, using the token you granted at install.
  • Public store pages — for a URL import or a URL-monitored competitor we read what any visitor can see: public product APIs, sitemaps, schema.org product markup and product pages. How our reader names itself depends on the job. The scheduled competitor refresh identifies itself as PriceSwayBot, and the free storefront audit identifies itself as PriceSwayAudit. Catalogue imports send an ordinary browser user-agent instead, because a large share of real storefronts block anything that names itself a bot and the import would simply fail. We are not pretending otherwise. In every case we read only public pages: we do not sign in, we do not defeat access controls, and we do not read anything behind a login.
  • A search data provider — a third-party service we buy product search data from. We send a product name and a market code; we get back listings for that product from online stores. We never send customer, order or cost data.
  • Stripe and Google — subscription status from Stripe, and your basic profile from Google if you sign in that way.

5. How we use it, and on what basis

Where the GDPR or UK GDPR applies, these are the lawful bases we rely on. New Zealand's Privacy Act 2020 covers all the personal information we hold, wherever you are, and these are also the purposes we collect it for under that Act's information privacy principles (IPPs): we collect personal information only for a lawful purpose connected with running PriceSway, and only what we need for that purpose. Where Australian privacy law applies, these are the purposes we collect for under it too.

  • To run the service you signed up for — importing your catalogue, finding and tracking competitors, generating recommendations, pushing an accepted price back to your store, sending your digest, taking payment and providing support. Basis: performance of our contract with you.
  • To monitor the stores our customers choose to track — see section 6. Basis: legitimate interests.
  • To keep the service secure and working — rate limiting, abuse handling, debugging, error reporting, and understanding which features are used. Basis: legitimate interests in a service that stays up and is not abused.
  • To improve the product — analytics and session replay, on public pages and in the app alike. Basis: legitimate interests; for visitors in the EEA, the UK and Switzerland, your consent. If you are there, these tools only run once you accept them in the banner we show you. Section 14 says exactly what loads and how you can block it.
  • To meet legal obligations — tax, accounting and responding to lawful requests. Basis: legal obligation.

We do not sell personal information, we do not use your catalogue, order or competitor data to train models we sell to anyone else, and we never show one customer another customer's data.

6. Stores that our customers monitor

This section is for merchants we monitor on a customer's behalf, rather than for our own customers. It is the part of our processing you did not ask for, so we have tried to be specific.

What we process. When a PriceSway customer chooses to track a store, we process information that store publishes to every visitor: the store or merchant name, product names, page addresses, prices, availability, and the time we saw them. We also receive some of the same information through product search data supplied by a third-party search data provider. We do not collect anything about that store's customers, staff or orders, and we do not access anything that is not publicly visible.

Whether it is personal information. In the ordinary case this is business information about a company, not personal information about an individual. But where a store is run by a sole trader, or the store or merchant name is a person's name, it can be personal information about that person. Where it is, we treat it as such and the rights in section 11 apply to it.

Our basis, and the balance we struck. We rely on legitimate interests: providing a price comparison service that retailers ask for, on information those retailers publish deliberately. We weighed that against the effect on store operators. The data is limited to what is on a public page, we read at low frequency — tracked competitor pages roughly every six hours, and listings found through product search no more than about once a day per product — and we do not use any of it to contact, profile or market to store operators.

How to be excluded. If you operate a store and do not want PriceSway reading it or holding data about it, email privacy@pricesway.com from an address at that domain, or tell us how you are connected to it. We will stop reading the store and delete the observations we hold about it, normally within 30 days, and write back to confirm. You do not need a PriceSway account and we will not ask you for one.

What that promise is worth. We do this by hand. We do not run an automated block list, so a customer could add your store again later without us noticing. If you see that happen, tell us and we will remove it again. We would rather describe a manual process accurately than promise you a permanent technical block we have not built. The same wording appears in section 7 of our Terms of Service.

Accuracy. Every competitor price we show is an observation at a point in time. It may be regional, promotional, or already out of date. We label when we saw it, and we tell our customers not to rely on it without checking.

7. Who we share it with

We share data with the providers below, only so they can perform their function for us. This list is current as at the effective date of this policy.

ProviderWhat they do for usWhere
Google Cloud PlatformApplication hosting, database, file storage, secret management, logging and error reporting.United States
StripeSubscription billing and card payments. Stripe handles card details directly.United States
Twilio SendGridSending verification, notification and digest email.United States
Search data providerProduct search results used to find competitors and refresh their prices. Receives product names and a market code only. We will tell you who this provider is on request: privacy@pricesway.com.United States and Europe
PostHogProduct analytics and session replay across the whole site, public pages and the signed-in application alike.United States
Google Analytics and Google AdsTraffic measurement and advertising conversion measurement on every page, including the signed-in application.United States
Meta PlatformsAd measurement for Facebook and Instagram: page views, sign-up and trial-start events, and a paid trial's first payment, from the Meta Pixel in your browser and from our server (the Conversions API). Receives your IP address, browser user agent and Meta browser identifiers, never your email address or phone number.Ireland and United States
Google (Sign in with Google)Authenticating you when you choose to sign in with a Google account.United States
ShopifyThe store platform, if you choose to connect it. Supplies your catalogue, inventory and order line items, and receives accepted price changes.Canada and United States

We may also disclose information if the law requires it, or to establish or defend a legal claim. If we are ever involved in a sale or merger, your data would transfer with the business and this policy would continue to apply until we told you otherwise.

8. Where your data is held, and transfers

PriceSway runs on Google Cloud in the United States — Cloud Run and Cloud SQL in the us-central1 region (Iowa). If you are in New Zealand, Australia, the UK, the EEA or anywhere else, your data is transferred to and stored in the United States.

Under New Zealand's Privacy Act 2020, where a provider only stores or processes personal information on our behalf, as Google Cloud does in hosting PriceSway, we are still treated as holding it (section 11 of the Act) and we remain responsible for protecting it. Where we disclose personal information to a provider outside New Zealand that also uses it for its own purposes, information privacy principle 12 (IPP 12) on cross-border disclosure applies, and we disclose it only on one of the grounds IPP 12 allows, such as the provider being required to protect it in a way that, overall, gives safeguards comparable to the Privacy Act 2020.

For customers in Australia, we also handle personal information consistently with the Australian Privacy Principles, including APP 8, which covers disclosing it to recipients overseas.

For customers in the UK or EEA, our requirement of every provider in the table above is a transfer mechanism recognised under the GDPR: in practice the European Commission's Standard Contractual Clauses, with the UK International Data Transfer Addendum where the UK GDPR applies. Several of these providers publish a data processing addendum incorporating those clauses, and where they do, that is the mechanism we rely on. We are not going to state that a signed set of clauses is in place with every provider on the list, because we cannot evidence that for all of them today. If a specific provider matters to you, ask us at privacy@pricesway.com and we will tell you what is actually in place for that one.

9. How long we keep it

  • While your account is open — we keep your workspace data so the product works. Nothing is deleted on a timer while you are using it.
  • Competitor price history — each observation is kept for as long as you track that competitor product, because the history is what the trend charts and change detection are built from. There is no age-based deletion of price history today. It is removed when you stop tracking the competitor or product, when the disconnect purge below runs, or when your organisation is deleted.
  • If you uninstall our Shopify app — we mark the connection as severed immediately and stop syncing. A scheduled job then deletes, 90 days later, the products, order line items, recommendations, competitors, competitor products and their price history, price-change logs and discovery records tied to that organisation. Your login and organisation survive so you can come back and reconnect. A Shopify shop/redact request is handled differently and more severely: see section 12.
  • If you delete your account — the owner can delete the organisation from Settings by typing its name to confirm. We cancel any Stripe subscription, ask Stripe to delete the customer record, and then delete the organisation together with its products, order line items, recommendations, competitors, competitor products and price history, notification preferences and events, price-change logs, audit reports and memberships. If you are not a member of any other organisation, your user record and sign-in records are deleted too. Contact-form messages are not part of that cascade — email us and we will remove them.
  • Backups and logs — database backups and server logs age out on their own retention schedule, so deleted data can persist there briefly after it has gone from the live system.
  • Billing records — kept as long as tax and accounting law requires, even after the account is gone.

10. How we protect it

The measures we actually have in place:

  • Traffic to and from PriceSway is encrypted in transit with TLS.
  • The database and file storage are encrypted at rest by Google Cloud using AES-256 with Google-managed keys.
  • Passwords are stored only as bcrypt hashes.
  • Application credentials and store access tokens live in Google Secret Manager or the database, reachable only by the application's own service account through IAM. Secrets are never committed to source control.
  • Every query is scoped to your organisation, so one account cannot read another account's catalogue, competitors or orders.
  • Every webhook we accept from Shopify is rejected unless its HMAC signature verifies. That covers all of them: the product, order and app-uninstall webhooks, and the three privacy webhooks in section 12. Internal jobs — the digest, the purge, discovery finalisation — require a shared secret and deny by default if it is not configured.
  • Public endpoints are rate limited.

To be clear about what we do not have: PriceSway has not been audited against SOC 2, ISO 27001 or any comparable standard, and we make no certification claims. No service is perfectly secure. If we discover a breach affecting your data, we will notify you and the relevant regulator as the law requires.

11. Your rights

Wherever you are, you can ask us to:

  • Access the personal information we hold about you, and get a copy.
  • Correct anything inaccurate or out of date.
  • Delete your account and its data, as described in section 9.
  • Export your products, order line items, competitors and recommendations as CSV or JSON, from the Export tool in the app, at any time and without asking us.
  • Opt out of digests and any non-essential email.

If the GDPR or UK GDPR applies to you, you also have the right to restrict processing, to object to processing we base on legitimate interests (including the monitoring described in section 6 and the analytics described in section 14), and to data portability. Where we rely on your consent (analytics and ad measurement for visitors in the EEA, the UK and Switzerland), you can withdraw it at any time using cookie settings, without affecting what we did beforehand.

To exercise any of these, email privacy@pricesway.com. We may need to confirm who you are before we act, particularly for deletion. We respond within 20 working days, or sooner where the law that applies to you sets a shorter time, and will tell you if we need longer and why.

Complaints. Tell us first if you can — we would rather fix it. If you are not satisfied, you can complain to New Zealand's Office of the Privacy Commissioner (privacy.org.nz). If you are in Australia, you can also complain to the Office of the Australian Information Commissioner (oaic.gov.au). In the UK, to the Information Commissioner's Office (ico.org.uk). In the EEA, to the supervisory authority where you live or work.

12. Shopify merchants and their customers

Where you connect Shopify, we honour Shopify's privacy webhooks: customers/data_request, customers/redact and shop/redact. Each one is rejected unless its HMAC signature verifies, as are the ordinary product, order and uninstall webhooks described in section 10.

Because we never store customer-identifying fields from your orders, there is nothing about an individual shopper for us to return or erase. For customers/data_request and customers/redact we check the signature and reply, and that is the whole of it. We do not write a record of the request into our database; it appears only in ordinary server request logs, which age out on their own schedule.

A shop/redact does real work. The endpoint registered with Shopify deletes the organisation record for that store outright, which cascades to its products, order line items, recommendations, competitors, competitor products and their price history, notification preferences, price-change logs, discovery records and memberships. Two tables that do not cascade, the record of notifications we raised and any saved audit report, are deleted in the same transaction. It runs immediately rather than waiting out the 90 days in section 9. Your own user record and sign-in survive, but the workspace and its contents do not, so this is not the same as the 90-day disconnect purge, which leaves your organisation in place for you to reconnect to.

13. Automated decision-making

PriceSway generates price recommendations automatically, from your own sales history and the competitor prices you track. They are suggestions. A person in your organisation reviews and accepts each one before anything changes, and you set a hard margin floor the engine cannot recommend below. We do not make any decision that produces a legal or similarly significant effect on an individual by automated means alone.

14. Cookies and analytics

Essential cookies keep you signed in and protect the session. The product does not work without them.

What loads, and where. Four non-essential tags are loaded from the root of the site, which means they run on every page we serve: our public marketing pages, this policy, and the signed-in application alike.

  • Google Analytics 4 and a Google Ads conversion tag, which measure traffic and tell us which ads led to a signup. These set third-party cookies.
  • The Meta Pixel (Facebook and Instagram), which records page views and tells us which Meta ads led to a signup or a trial. It sets first-party cookies (_fbp, and _fbc when you arrive from a Meta ad). When you create an account or start a paid trial, our server also reports that event to Meta directly (Meta's Conversions API) with your IP address, browser user agent and those two cookie values, so it is counted once even if the Pixel is blocked. When a paid trial turns into a paid plan, our server reports that too, with the same details as they were when you started the trial: we keep them with your Stripe subscription until the first payment, then delete them, or delete them if the subscription ends before it is ever charged. We never send Meta your email address or phone number.
  • PostHog, which records page views, feature events and session replays. Session replay is switched on. Once you sign in, your events and replays are tied to your user ID and email address so we can connect a session to an account when supporting you. Before that, they are tied to an anonymous identifier.

When we ask first. Visitors whose browser is set to a European time zone see a banner asking whether to allow these tags. Until you accept, PostHog does not load, the Meta Pixel does not load and our server sends Meta nothing about you, and Google Analytics and Google Ads run in Google's consent mode with cookies off, sending only cookieless signals. For visitors in the EEA, the UK and Switzerland, Google also applies that default from your location. Your choice is stored in your browser (a ps_consent cookie and local storage) for 180 days, and you can change it at any time with cookie settings; withdrawing it stops the Meta Pixel and removes its cookies. If you allowed these tags when you started a paid trial, withdrawing later does not reach the details kept with your subscription for its first payment; email privacy@pricesway.com and we will delete them. A ps_consent_region cookie records only that your time zone is European, so our server applies the same rule. Elsewhere, the tags load when the page does, with no banner.

Outside Europe, then, our analytics cover people who never sign up, and session replay covers anonymous visitors reading our public pages, not only customers inside the app.

What you can actually do about it:

  • Block or clear cookies in your browser, and turn on its tracking protection. A browser or extension that blocks third-party scripts stops these loading at all, but it does not stop the sign-up, trial and first-payment events our server reports to Meta. Choosing Reject in cookie settings does, and it also turns PostHog and the Meta Pixel off and puts the Google tags in cookieless consent mode. Cookie settings work wherever you are, not only in Europe, and whether or not you have an account with us.
  • Install Google's Analytics opt-out browser add-on, and turn off ad personalisation in your Google account settings.
  • Email privacy@pricesway.com and ask us to exclude your account from analytics and session replay, and we will. This one works for a signed-in account, not for anonymous browsing, because until you sign in we have no way to tell which visitor is you.

15. Children

PriceSway is a business tool sold to retailers. It is not directed to anyone under 18, we do not knowingly collect information from under-18s, and if we learn we have, we delete it.

16. Changes to this policy

We update this policy when what we do changes. If a change materially affects you we will email account owners or show a notice in the app at least 14 days before it takes effect. The effective date at the top always tells you which version you are reading.

17. Contact us

Privacy: privacy@pricesway.com
Legal and contractual: legal@pricesway.com