Privacy Policy
Privacy Policy — Rich Product Quiz
Effective date: [EFFECTIVE DATE] Last updated: [EFFECTIVE DATE]
This policy explains what the Rich Product Quiz Shopify app collects, why, who it is shared with, and how to get it deleted. It is written to describe what the app actually does, not what apps of this kind usually do.
1. Who we are
Rich Product Quiz (“the app”) is operated by [REGISTERED ENTITY NAME], trading as North JS Tech (“we”, “us”).
Registered address: 1st floor top star ice-cream center, parishan chowk Skardu
Privacy contact support@northjstech.com
2. Scope, and the two kinds of people this policy covers
The app has two distinct groups of users, and our legal role differs for each.
Merchants — Shopify store owners and staff who install the app and build quizzes in the Shopify admin. For their account data we are the controller.
Shoppers — visitors to a merchant’s storefront who answer a quiz. Shoppers have no account with us and never sign in. For shopper data we act as a processor on the merchant’s instructions: the merchant is the controller of their shoppers’ personal data and is responsible for having a lawful basis to collect it, for their own privacy notice, and for responding to their shoppers’ requests. We process it only to provide the app to that merchant.
This policy does not cover the merchant’s own website, their other apps, or Shopify itself. Shopify’s handling of data is governed by Shopify’s Privacy Policy.
3. Merchant data we collect
When a merchant installs the app, Shopify’s OAuth flow gives us a session record containing:
- Store domain (e.g.
example.myshopify.com) and install/uninstall timestamps - Staff first name, last name and email address
- Shopify staff user ID, UI locale, and role flags (account owner, collaborator, email verified)
- Shopify API access and refresh tokens, and the permission scopes granted
- The store’s plan tier within the app, and app preferences (such as setup-guide progress and which editor was last open)
We also store the quiz content merchants create: questions, answer options, theming, scoring rules, results pages, and version history. This is business content, but merchants should be aware it is stored on our servers and should avoid putting personal data into quiz titles or question text.
Legal basis (GDPR): performance of our contract with the merchant (Art. 6(1)(b)), and our legitimate interest in operating and securing the service (Art. 6(1)(f)).
4. Shopper data we collect
When a shopper completes a quiz on a merchant’s storefront, we create one submission record. Depending on how the merchant built the quiz, it can contain:
Answers and contact details
- Every answer the shopper gives, including free-text fields. A merchant can ask anything, so this may include names, email addresses, phone numbers, dates, and any other information the questions request.
- Email address and phone number, where the quiz includes those fields.
- The file name of any file selected in an upload question. The file itself is never uploaded and never leaves the shopper’s device — only its name is recorded.
- Marketing-consent state recorded at the moment of answering, reflecting the consent wording the shopper was actually shown.
Because answers are used for display, for search, and for funnel reporting, the text of an answer may be stored in more than one place within our database. Deletion (section 12) removes all copies held in submission records.
Technical and behavioural data
- IP address. This is recorded in full and is not anonymised or hashed, and is visible to the merchant on the submission. See section 13.
- Browser user-agent string
- The page URL the quiz was taken on, including its query string, and the referring URL where the shopper came from another site
- UTM parameters (source, medium, campaign, term, content)
- A visitor ID and a session ID (see section 5)
- Language/locale, and how long the quiz took to complete
- Which products were recommended, and any calculated scores
Funnel events
To give merchants drop-off reporting, the app records events as a shopper moves through a quiz: quiz started, question viewed, question answered, results viewed, product recommended, product clicked, added to cart, proceeded to checkout, quiz retaken, and whether contact details were supplied. These events are linked to the visitor and session IDs, and the “question answered” event also stores the answer text.
Merchant notes
Merchants can add tags, private notes and comments to a submission. Those are written by the merchant and stored with the record.
Legal basis (GDPR): the merchant’s own lawful basis, typically consent for marketing capture (Art. 6(1)(a)) and legitimate interest for the quiz itself and its reporting (Art. 6(1)(f)). Merchants are responsible for obtaining consent where required.
5. Storage on the shopper’s device
The app sets no cookies. It uses browser localStorage only, under the rqz: prefix, with these two entries:
KeyContentsLifetimePurposerqz:visitorA random identifier. It contains no name, email or device details.365 days, renewed each time it is used — so it can persist indefinitely for a returning shopper.Links a shopper’s funnel events to the submission they eventually make.rqz:progress:{quiz}Answers given so far and the current position, which may include a typed email or phone number.Set by the merchant; 30 days by default, configurable between 1 and 90 days.Lets a shopper close the page and resume the quiz later.
Both are first-party to the merchant’s store. Clearing site data in the browser removes them. If storage is unavailable (private browsing, quota exhausted, or disabled) the quiz still works — the shopper simply cannot resume it.
Progress saving can be switched off by the merchant.
6. How we use the data
- To render quizzes and calculate product recommendations
- To record submissions and show them to the merchant
- To produce funnel and drop-off analytics for the merchant
- To add a shopper to the merchant’s Shopify customer list, where the merchant has enabled that (section 9)
- To operate, secure, debug and maintain the service
We do not use shopper data to train machine-learning models, we do not build cross-merchant profiles, and we do not use it for our own marketing. Data from one merchant’s store is never shown to another merchant.
7. Who the data is shared with
Shopify
The app runs on Shopify and reads and writes data through Shopify’s APIs.
Analytics and advertising pixels — controlled by the merchant
If the merchant enables it on a given quiz, the app forwards quiz events to analytics and advertising tools already installed on that merchant’s storefront:
- Google Analytics 4
- Meta (Facebook) Pixel
- TikTok Pixel
These are switched off by default and must be enabled per quiz. Importantly:
- The app never loads these vendors’ scripts. It only passes events to tags the merchant’s own theme has already placed on the page. Whether those vendors are present at all is the merchant’s decision, not ours.
- What is sent includes the quiz name, question titles, the text of the shopper’s answer, product names, IDs, prices and cart value. A merchant who asks for an email address in a question should understand that enabling pixel tracking on that quiz may send the typed value to those vendors.
- Lead events themselves carry only the quiz name — not the email or phone value.
Where these tools are enabled, the vendor’s own privacy policy governs what they do with the data, and the merchant is the controller of that sharing.
Google Fonts
If a merchant chooses a non-system typeface for their quiz, the shopper’s browser requests that font from fonts.googleapis.com. This discloses the shopper’s IP address, user-agent and referring page to Google. This request is not gated by the analytics consent check. Choosing a system font avoids it entirely.
Embedded video
If a merchant adds a video to a quiz, it is displayed in an iframe from the host the merchant supplied — commonly YouTube or Vimeo, but any URL is accepted. That host may set its own cookies and receive the shopper’s IP address. The set of such hosts is determined entirely by the merchant.
Infrastructure
- Linode (Akamai) — the virtual server that runs the app and its database
- GitHub / GitHub Container Registry — build and deployment artefacts only; no personal data is stored there
What we do not do
- We do not sell personal data, and do not “share” it for cross-context behavioural advertising as CCPA/CPRA defines those terms.
- We run no analytics product, error tracker, session-replay tool or advertising network of our own.
- We use no third-party email or SMS provider — the app sends no email or SMS to shoppers at all.
- We send no data to any AI or machine-learning service.
Marketing platform list IDs
Quizzes can record a Klaviyo, Mailchimp, HubSpot or Omnisend list ID against a submission so merchants can export or sync it themselves. The app transmits nothing to those providers. The IDs are stored as data and never acted upon.
8. Consent and tracking controls
Before sending analytics events, the app consults Shopify’s Customer Privacy API — the store’s own record of whether the shopper has consented to analytics in their region.
Merchants should be aware of two limits on this:
- If that API is unavailable on the storefront, or returns an error, the app treats tracking as permitted. It fails open, not closed. Merchants operating in regions requiring prior consent should configure Shopify’s customer privacy settings and verify the banner is working.
- The consent check gates analytics events only. Recording the quiz submission itself — including the IP address and user agent — is not gated by it, because the submission is the service the shopper asked for.
9. Data written into the merchant’s Shopify store
If a merchant turns on “add to Shopify customers” for an email or phone question, then when a shopper submits that quiz the app will, in the merchant’s own store:
- Look for an existing customer with that email or phone number
- Create or update a customer record with the email, phone, first name, last name and any tags the quiz assigns (existing tags are merged, never overwritten)
- Set the email and SMS marketing consent state and opt-in level to the values the merchant configured for that question
From that point the data is in the merchant’s Shopify customer list and is governed by the merchant’s privacy policy and Shopify’s terms. Deleting a submission in our app does not remove a customer record created in Shopify — that has to be done in Shopify.
The app also writes a small “published quiz” reference into the store’s metaobjects so quizzes can be picked in the theme editor. It contains a quiz name and ID, and no personal data.
The app reads products, product vendors, discount codes, files and the live theme’s settings to build quizzes and check setup. It does not read orders, and it does not modify products.
10. Where data is held, and security
The app and its PostgreSQL database run on a single Linode virtual server. [SPECIFY REGION, e.g. “located in London, United Kingdom”]. The database is not exposed to the public internet and is reachable only from the application on a private interface.
Measures in place:
- HTTPS everywhere, with certificates issued and renewed automatically
- Every storefront request is verified against Shopify’s HMAC signature, so a request cannot claim to be from a store it is not from
- The application container runs as a non-root user; only HTTP, HTTPS and SSH are open on the host
- Deployment credentials are held in the CI provider and never in the codebase; production database credentials never enter CI
Server access logs are kept for 30 days. In those logs IP addresses are masked (to /24 for IPv4 and /48 for IPv6) and credentials are redacted. The application’s own logs record store domains and record identifiers; they do not contain request bodies, quiz answers, email addresses, IP addresses or user-agent strings.
No method of storage or transmission is completely secure, and we cannot guarantee absolute security.
International transfers
Data may be accessed from, or transferred to, a country outside the UK/EEA. Where that happens we rely on the UK/EU Standard Contractual Clauses or an adequacy decision. Shopify’s own transfers are governed by Shopify’s terms.
11. How long we keep it
We want to be precise here rather than quote a policy we do not enforce.
DataRetentionQuiz submissions and funnel eventsKept until deleted. There is no automatic expiry. They are removed when the merchant deletes them, when an erasure request is processed, or when the shop’s data is erased after uninstall.Quizzes and version historyKept while the app is installedMerchant sessions and API tokensDeleted immediately when the app is uninstalledAll of a store’s data after uninstallErased when Shopify sends the shop-erasure request, 48 hours after uninstallBrowser localStorage365 days (visitor ID, renewed on use); 30 days by default for saved progressServer access logs30 days, with masked IP addresses
Merchants can delete individual submissions or delete them in bulk at any time from the Responses screen in the app. Deleting a submission also deletes its comments.
12. Erasure and access requests
Because we are a processor for shopper data, shoppers should contact the merchant whose store they used. The merchant can delete a submission immediately from within the app.
We also implement Shopify’s mandatory privacy webhooks, so a request routed through Shopify reaches us automatically:
- Erasure request — we permanently delete every matching submission, together with its comments, and we remove the visitor, session and submission identifiers from the related funnel events.
- Access request — we identify the relevant submissions so the merchant can provide them. We deliberately do not copy the answers or contact details into our logs, because that would create a copy that erasure could not reach. The records themselves remain available to the merchant in the app.
- Shop erasure — 48 hours after uninstall we delete the store’s record and, with it, every quiz, version, submission, comment and event belonging to it.
Two limits you should know about:
- We match erasure requests on email address and phone number. A shopper who completed a quiz without giving either cannot be identified in our data, and their submission cannot be located or erased through this route.
- Funnel events are de-identified rather than deleted. They are unlinked from the shopper, but where an event recorded the text of an answer, that text remains in the anonymised event record.
If you need something erased and neither route works, write to [PRIVACY CONTACT EMAIL] and we will handle it manually.
13. Your rights under the UK GDPR and EU GDPR
You have the right to:
- Access the personal data held about you
- Rectify data that is inaccurate or incomplete
- Erase your data (“right to be forgotten”)
- Restrict or object to processing, including profiling
- Portability — receive your data in a structured, machine-readable format
- Withdraw consent at any time, where processing relies on consent. This does not affect processing already carried out.
To exercise any of these as a shopper, contact the merchant whose store you used. As a merchant, or if you cannot reach the merchant, contact [PRIVACY CONTACT EMAIL]. We respond within one month.
A note on IP addresses. IP addresses are personal data under the GDPR. The app stores the full IP address of each quiz submission without anonymisation, and displays it to the merchant. Merchants relying on legitimate interest should account for this in their own assessment.
You may complain to your data protection authority. In the UK this is the Information Commissioner’s Office; in the EEA it is your national supervisory authority.
14. Notice for California residents (CCPA/CPRA)
In the past 12 months the app has collected these categories of personal information from shoppers:
CategoryExamplesSourceIdentifiersName, email address, phone number, IP address, visitor and session IDsThe shopperCommercial informationProducts recommended, clicked, added to cartShopper activityInternet/network activityPages visited, referring URL, UTM parameters, user agent, quiz interaction eventsShopper’s browserInferencesScores and recommendations calculated from answersDerived from answersAny category a merchant chooses to ask forFree-text answers can contain anything the quiz requestsThe shopper
We collect this to provide the quiz service on the merchant’s behalf, and we retain it as described in section 11.
We do not sell personal information, and we do not share it for cross-context behavioural advertising. We have not done so in the preceding 12 months. We do not knowingly sell or share the personal information of consumers under 16.
You have the right to know, delete, correct, and to opt out of sale or sharing (none occurs), and not to be discriminated against for exercising these rights. Requests go to the merchant whose store you used, or to [PRIVACY CONTACT EMAIL]. We verify a request by matching the email address or phone number you supply against our records.
Where the app forwards events to a merchant’s own Google, Meta or TikTok tags (section 7), that disclosure is made under the merchant’s control and their privacy notice governs it.
15. Children
The app is not directed at children and we do not knowingly collect personal data from anyone under 16. Merchants are responsible for not aiming quizzes at children. If you believe a child has given us personal data, write to [PRIVACY CONTACT EMAIL] and we will delete it.
16. A note for merchants
Because you are the controller of your shoppers’ data, you should:
- Describe this quiz in your own privacy policy, including that an IP address and user agent are recorded with each submission
- Obtain marketing consent before pushing shoppers into your Shopify customer list or setting their marketing consent state
- Configure Shopify’s customer privacy settings if you operate where prior consent is required — the app’s consent check depends on them, and permits tracking when they are absent
- Consider whether to enable pixel tracking on quizzes that ask for contact details, given that answer text is forwarded (section 7)
- Avoid asking for special-category data (health, religion, sexual orientation, biometrics) unless you have a lawful basis for it and have said so in your own notice
17. Changes to this policy
We may update this policy as the app changes. The “last updated” date at the top will change, and material changes will be communicated to merchants through the app or by email. Continued use after an update means you accept the revised policy.
18. Contact
Questions, requests or complaints:
[REGISTERED ENTITY NAME] [REGISTERED ADDRESS] [PRIVACY CONTACT EMAIL]
Last updated: