Who we are
Qinci ("we", "the app") is a Shopify app that reads the ingredient lists in a merchant’s catalogue and recommends complementary products, with a stated reason for each suggestion. When you install Qinci, you (the merchant) are the data controller for any personal data of your customers; we act as your data processor. Contact: qinci@qavlar.tech.
For the data described below where we ourselves decide the purposes (merchant contact data, contact-form messages, business prospects, the marketing website), the controller is Istvan Ekes, trading as Qavlar.tech, Preußenstraße 15, 66111 Saarbrücken, Germany (see the legal notice). We have not appointed a data protection officer.
What we process
Catalogue data (not personal): product titles, descriptions, prices, images, handles, and ingredient (INCI) lists, read from the Shopify Admin API and product metafields.
Order data, from the orders/paid webhook: the order ID, its line items, order total, the customer’s email address, and the customer’s locale. Used only to measure which orders included a product Qinci recommended (attribution reporting shown to the merchant).
Storefront widget: the current cart contents (product titles and ingredient lists), the shop domain, and a random per-visitor identifier stored in the browser’s localStorage to keep a placement A/B assignment stable, but only if the visitor has allowed analytics through the store’s cookie banner (Shopify Customer Privacy API). Without that consent nothing is stored. No advertising cookies, no cross-site tracking, no device fingerprinting.
Routine Planner: the quiz answers a shopper submits (skin type, concerns, routine preferences) and, only if the shopper enters it, their email address. We use it to email that shopper their generated routine. The store the shopper used the planner on also receives the address as a lead in its Qinci dashboard and is the controller of it from then on. Answers that could relate to health (pregnancy or breastfeeding, skin concerns) are used only to build the routine at that moment; they are not stored with the shopper’s email address.
Authentication: the OAuth access tokens Shopify issues for the merchant’s store, stored server-side so the app can call the Admin API on the merchant’s behalf.
Merchant account and contact data (for this data we are the controller): your shop domain, shop name, the store contact email and store language that Shopify provides, your plan and subscription status, usage counters, your settings, and any message you send us. We read the contact details from Shopify when you install and refresh them regularly while Qinci is installed.
Marketing website: if you accept it in the cookie banner (you can change this at any time with “Cookie settings” in the footer), a cookieless page-view count (page path, language, referrer host and, where the hosting network provides it, a coarse country). No IP address, no cookie, no fingerprint is stored. Your chosen language is remembered in a first-party language cookie (qinci_locale), which is not used for tracking. In the merchant admin, simple interface preferences (for example, that you dismissed a notice) are kept in your browser’s localStorage.
Contact form and bug reports: the name, email address, message and technical context (page, browser) you send us, used to answer you.
Business prospects: business contact details of shops found in public sources (company, website, business email), used to tell them about Qinci.
Why we process it
- To generate deterministic product recommendations and routines from ingredient data (performance of the service to the merchant).
- To give the merchant attribution and usage analytics for their own store (our and the merchant’s legitimate interest in measuring the app).
- To email a shopper the routine they requested (their request), and, where a merchant enables follow-up emails, to send refill reminders only to shoppers whose Shopify email-marketing consent is active (consent).
- To run the service for merchants: billing, support and service emails such as the usage-limit notice and the weekly recap (performance of the contract; the recap can be switched off in Settings).
- To email merchants on the Free plan about the features of the paid plans (weekly), and to send one follow-up email after an uninstall that asks for feedback and invites the merchant back. This is our legitimate interest in keeping and improving the service and in direct marketing to our existing users. Every weekly email has an unsubscribe link; the uninstall email is sent once and no further email follows. You may object at any time.
- To keep an anonymous record of uninstalls, with no contact details, to understand why merchants leave (legitimate interest).
- To measure and improve the marketing website with cookieless, aggregate counts if you allow it in the cookie banner (consent), and to answer contact-form and bug-report messages (legitimate interest; your request).
- To contact businesses that may benefit from Qinci, using business contact details from public sources (legitimate interest in business-to-business direct marketing; each message says how to object).
What we do not do
- We do not sell personal data.
- We do not use personal data for automated decisions that produce legal or similarly significant effects.
- We do not combine data across different merchants’ stores.
Retention
Order-attribution records are deleted automatically 24 months after they are created. When a merchant uninstalls the app, all of that store’s data is hard-deleted within 48 hours (Shopify shop/redact). When a merchant or Shopify sends a customers/redact request, the stored email for that customer’s records is removed.
A merchant’s contact details (shop name, email, language) are part of that same store data: they are deleted with it when Shopify sends shop/redact. The one follow-up email after an uninstall is sent before then, using the address we already hold. After deletion we keep only an anonymous uninstall record (shop domain, plan, install and uninstall dates, usage counts; no name or email) for 24 months. Marketing-site page views and operational logs are deleted after 90 days. Contact-form and bug-report messages are kept only as long as needed to handle them and are deleted on request. Business-prospect details are deleted when a business asks us to, or after 24 months without contact.
The production database is also backed up nightly for disaster recovery. Backups, including any older ones that briefly still hold data since redacted or deleted from the live database, are kept for 30 days on a rolling basis, then automatically overwritten; a backup is never restored in a way that reinstates a customer’s data after a deletion or redaction request.
Sub-processors
We share the minimum data necessary with:
- Shopify: the platform the app runs on and the source of all merchant and order data.
- netcup GmbH: our cloud hosting and database provider (Karlsruhe, Germany; data centre in Nuremberg, Germany). Runs the application server and the PostgreSQL database, encrypted at rest and in transit.
- Hetzner Online GmbH (Gunzenhausen, Germany; data stored in Falkenstein, Germany): holds the nightly encrypted database backup described under Retention above. Access is key-based only; no password authentication.
- Mailjet (Sinch, France; processed in the EU): sends the planner routine, refill-reminder emails where enabled, and our emails to merchants (service notices, the weekly recap, plan information and the uninstall follow-up). Only the recipient address and message content are shared.
- Sentry and PostHog (United States; transfers covered by EU Standard Contractual Clauses): error monitoring and product analytics. Dormant unless configured by us; events are keyed to the shop domain, not to individual shoppers.
Security
All traffic is over TLS. The database is encrypted at rest. Access tokens are stored server-side and never exposed to the browser. The app requests the narrowest set of Shopify scopes it needs.
Merchant and visitor rights
For the data we control ourselves (merchant contact data, contact-form and bug-report messages, business prospects) you can ask us at any time for access, correction, deletion, restriction or portability, and you can object to our processing, by writing to qinci@qavlar.tech. You can unsubscribe from our product emails with the link in each email. You also have the right to complain to your data-protection supervisory authority.
Shopper rights
If you are a shopper, the merchant whose store you bought from is the controller of your data. Direct access, correction, or deletion requests to that merchant; we action Shopify’s customers/data_request and customers/redact webhooks automatically on their behalf.
Changes
We will update this page and its "last updated" date when our processing changes materially.
This document is provided for transparency and does not itself create a contract. The Data Processing Agreement governs the processor relationship between Qinci and the merchant.
