Nxora · AI Catalog Readiness
This policy describes exactly what the app reads from a merchant's Shopify store, what it stores, what it sends to anyone else, and what it never collects. It is written to be checked against the app, not just read.
No customer personal data is collected at all. The app never reads a
customer's name, email address, phone number, shipping or billing address, or payment
details. The only order data it requests is
lineItems { quantity, product { id } } — a quantity and a product
id — and that result is reduced to a single integer per product, a units-sold count,
before anything is written to storage. No order record is kept.
The app is provided by Yehiel Amor, an individual trading as Nxora at getnxora.com ("Nxora", "we"). Nxora is the data controller for the information described below.
| Controller | Yehiel Amor, trading as Nxora |
|---|---|
| Location | Ramat Gan, Israel |
| Contact | support@getnxora.com |
Write to support@getnxora.com for anything in this policy, including access, correction and deletion requests. It is a monitored address, not an auto-responder.
Our customer is the Shopify merchant who installs the app. We have no relationship with, and no data about, that merchant's shoppers.
The app requests two Shopify access scopes, both read-only.
read_products |
Reads product, variant, image, option and metafield data in order to score the catalog against the criteria Shopify publishes for its Catalog and Agentic Storefronts pipeline. This is the entire function of the app. |
|---|---|
read_orders |
Requested for one purpose only: to count units sold per product over the last 60 days, so the "fix these first" list can be ordered by commercial impact rather than arbitrarily. The 60-day window is Shopify's limit for this scope, not a choice. The query asks for no customer field of any kind. |
The app has no write access to a store. It cannot change a product, a price, a title, a description, an order or a setting, and it never attempts to.
This is the complete list of what the app's database holds. There are four tables and nothing else.
| Table | Contents |
|---|---|
Session |
Shopify's own session model, unmodified: the shop domain, the offline access token, the granted scopes, the token state and its expiry. See the note in section 5 about the unused columns in this table. |
Scan |
One row per scan: the shop domain, the timestamp, the score, the number of products scanned, the scan's status, the Shopify bulk-operation id used to collect the result, an error message if the scan failed, and the serialized report — which contains finding codes, field names, product ids and product titles. |
WatchedProduct |
The last known state of a product, so that a real change can be told from noise: shop domain, product id, score, and the finding codes. |
WatchEvent |
One row per notable change to a product: shop domain, product id, product title, the kind of change, the new score, the previous score, and the finding codes gained and resolved. |
We do not store the catalog itself, and we do not store order records. Product content is read, evaluated, and discarded; what is kept is the finding — which field is wrong on which product id, plus the product's title so the merchant reads a name rather than an id. This is a merchant's commercial data, so we hold as little of it as the report needs.
Shopify's session model, which the app uses as shipped, includes columns named
userId, firstName, lastName, email,
locale, accountOwner, collaborator and
emailVerified.
The app uses offline access tokens only, so those columns are never populated. They exist because they are part of Shopify's own model, not because we collect anything into them. They describe store staff in any case, never shoppers.
Stated again plainly, because it is the most important fact in this document: the app does not process, store or transmit any customer personal information.
lineItems { quantity, product { id } } and nothing else.| Shopify | The source of all store data, and the platform the app runs against. Shopify's own privacy terms govern the merchant's use of Shopify. |
|---|---|
| Anthropic | Used only by the Pro tier, and only for the AI review of titles and descriptions. See below for exactly what is sent. |
When a Pro-tier scan runs an AI review, the app sends a compacted record for up to 25 products per review — the top of the prioritized worklist, in batches of five products per request. For each product, the payload contains only:
Nothing else leaves the app. No order data, no customer data, and no access token is ever included. Anthropic's own terms and privacy policy apply to that request. Merchants on the Free and Growth tiers never reach this code path at all, and the review is optional to the product: if it cannot run, the scan is unaffected.
The AI review produces suggestions and explanations, shown beside the merchant's current title or description. Suggestions are shown, never applied — the app has no write access with which to apply them.
We hold the data in section 4 in order to provide the app: to authenticate against the merchant's store, to render the report they asked for, to let them compare a new scan against the last one, and to tell them when a product changed.
shop/redact request from Shopify (which Shopify sends 48
hours after an uninstall), the app deletes the store's session records.
The app implements all three webhooks Shopify requires:
customers/data_request |
Acknowledged. There is no customer data to return, because none is collected. |
customers/redact |
Acknowledged. There is no customer data to erase, because none is collected. |
shop/redact |
The shop's session records, including its access token, are deleted. |
A merchant may ask us, at any time, to tell them what we hold about their shop, to correct it, to send them a copy of it, or to delete it. A merchant may also withdraw access outright by uninstalling the app, which stops all reading immediately.
Email support@getnxora.com from an address on the store's domain, or from the email on the Shopify account, and we will act on the request. If we need to confirm that you control the store before deleting anything, we will ask for that and say why.
Depending on where a merchant is located, local data-protection law may give them further rights. We do not require a merchant to go through us to exercise a right they have under their own law, and we do not charge for any request in this section.
Access tokens are stored server-side and are never exposed to the browser. The app holds no customer data, no payment data and no copy of a merchant's catalog, which is a deliberate design decision and the most useful thing we can say here: the smaller the store of data, the less there is to lose.
We make no certification claim in this policy. We do not claim any security standard, certification or audit that we have not completed, and this app has not been audited or certified against one.
The app is a business tool for Shopify merchants. It is not directed at children and collects no data from them.
If this policy changes we update the date at the top of this page. If a change affects what data the app reads, stores or sends, we will also say so in the app before the change takes effect.
This policy is governed by the law of Israel, and the courts of Israel have jurisdiction over disputes arising from it.
support@getnxora.com
Yehiel Amor, trading as Nxora · Ramat Gan, Israel