Privacy policy
Effective 21 October 2026
Who we are
QScan is provided by Qubba HQ Ltd, a company registered in Cyprus with registration number HE 499298, Zinonos Sozou 11, 3rd floor, Office 303, 1075 Nicosia, Cyprus. Qubba HQ Ltd is the controller of the personal data this policy describes. Privacy questions and requests go to hello@qubba.ai.
The short version
QScan creates an anonymous account so scanning works without a name or email. Scans, saved members, subscription access, and support diagnostics are used to run the product. QScan has no advertising SDK and does not sell personal data or share it with advertisers.
Accounts and sign in
QScan starts with an anonymous Supabase session stored securely on the device. During onboarding, you can sign in with an email and password or attach them to your account. Apple sign in is available when supported by the device and enabled in the app. A Google option appears when configured for the app. You can skip these optional account steps.
Allergies, diets, and health information
The allergens, intolerances, avoid terms, diets, and goals you save for yourself or for people you add can reveal health information, and a halal or kosher diet can reveal religious beliefs. QScan asks for your explicit consent before it saves them, and uses them only to check products, answer Ask Quix questions, and run the features you choose. They are never used for advertising.
If you add someone else, such as your child, you confirm that you are their parent or guardian or that they agreed. You can withdraw consent at any time by clearing these choices in Profile, after which QScan asks again before saving any, or by deleting your account. Withdrawing does not affect what was done before.
Camera and photo library
QScan asks for camera access to read barcodes and capture label photos. The photo library opens only when you choose a profile photo, and only the photo you pick is read. QScan does not inspect other photos on the device.
Barcode and label photo processing
A scanned barcode is sent to QScan's Supabase service. The service checks its product catalogue and may look up that barcode through Open Food Facts or Open Beauty Facts before calculating a score.
A label photo is encoded on the device and sent to the Supabase scan-photo function. That function sends the image and parsing instructions to MixRoute, an AI gateway, which passes them to the OpenAI vision model configured for the task. The current scan-photo flow does not save the submitted image in Supabase Storage. Ask Quix also sends the current product facts, score, selected question, and the names and saved preferences of the relevant members to MixRoute and the configured OpenAI model to produce an answer.
When you send label photos to add a missing product, the photos are stored privately in Supabase Storage under your account so the product can be checked and kept, and are deleted when you delete your account.
Profile photos
A profile photo you pick is resized on the device and sent to the Supabase profile-avatar function. Before it is kept, an automated moderation model checks it: OpenAI's moderation service when configured, otherwise the vision model QScan reaches through MixRoute. An approved photo is stored in Supabase Storage and is currently shown only to you; other people see your initials. Deleting the account deletes the stored photo.
Private groups, messages, and reports
Groups, shared scans, comments, reactions, and private messages are stored in Supabase and are visible only to the members of that group or to the two people in that conversation.
When you report a message, shared scan, or comment, QScan stores the report in content_reports with the reason, your account, the author's account, and a copy of the reported text, so the report can be reviewed even if the original is deleted. People at Qubba read reported content only to decide on the report. A report is deleted with the account of the person who made it. The copy of the reported text is cleared when its author deletes their account, and 90 days after the report is resolved; the rest of the report stays.
Recall alerts
If you allow notifications, QScan stores your device's Expo push token so it can alert you when a product you scanned is recalled. Expo and Apple deliver the notification. You can turn recall alerts off in Profile or in iOS Settings.
Scan history and Supabase records
Scan history is stored in the Supabase scans table under the anonymous or linked account, not only on the phone. The service also writes account setup to profiles, saved people and preferences to members, shared catalogue facts to products, calculated results to product_scores, and Ask Quix usage records to ask_events. Ask records include the question type, model usage, outcome, and only a hash for free text questions, not the raw free text or generated answer. Short lived request counters use rate_limits. Subscription state forwarded by Superwall is kept in qs_entitlements, and the subscription events themselves in qs_superwall_events. A vision retry can add a model and reason record to vision_escalations without an account identifier.
On the device, QScan keeps the appearance preference and recent search terms in local storage, and a copy of what Home last showed (recent scans and their products, picks, recalls, rewards, and your name) so the app opens without waiting for the network. That copy is deleted when you sign out or delete the account, and is not used after a week. Supabase session credentials, and whether onboarding is finished, are kept in secure device storage.
Subscriptions
Superwall shows QScan's subscription screens, starts the selected Apple purchase, restores purchases, and tells the app whether the premium entitlement is active. QScan identifies you to Superwall with your QScan account identifier and sends the app version; it does not send your name, allergens, diets, the people you add, avoid terms, or other health details. Superwall records how its subscription screens are shown and used, and receives Apple's events for your subscription, which it forwards to QScan's service so paid access lifts the free daily limits. Apple handles payment details. QScan's code does not receive card details.
Family plan
When someone joins a Family plan, QScan records which accounts belong to it so each of them gets Premium. The plan holder and the members can see each other's display name and that they belong to the family. Nothing else is shared between their accounts: not scans or history, not allergies, diets, or other health information, and not the member profiles saved in each account.
Crash reporting and analytics
Sentry receives crash and render error reports when reporting is configured. QScan adds the route name and limited route context to boundary reports so a failure can be diagnosed. There is no analytics SDK such as Amplitude, Mixpanel, PostHog, or Segment in the app; Superwall's records of its subscription screens are described under Subscriptions. Operational scan and Ask records described above are still recorded by the service.
Launch updates by email
If you sign up for launch updates on this site, or on a partner page that uses the same sign up, QScan stores your email address and when you signed up, and uses it only to email you about QScan. Every email includes a way to unsubscribe. The address is kept until you unsubscribe or ask us to remove it, or until we stop sending launch updates. To stop abuse, the sign up service keeps a short lived counter based on your IP address.
Cookies
This website sets no cookies and runs no analytics, advertising, or tracking scripts, so it shows no cookie banner. Its fonts are served from this site. The app uses no advertising identifier and does not track you across other companies' apps or websites.
Advertising and sharing
QScan contains no ad network integration. We do not sell personal data, share it with advertisers, or use scans for cross-app advertising. Data is shared only with the service providers named in this policy when needed to provide QScan: Supabase (database, storage, and functions), Vercel (this website), MixRoute and OpenAI (label reading, moderation, and Ask Quix), Superwall and Apple (subscriptions), Sentry (crash reports), Expo and Apple (notifications), and Open Food Facts and Open Beauty Facts (barcode lookups, which send only the barcode).
Why we use your data
We use account, scan, and subscription data to provide the service you asked for (performance of a contract). We save allergies, diets, and other health or belief information only with your explicit consent. Launch emails and notifications are sent with your consent. Security, abuse prevention, rate limits, crash reports, and the review of reported content rely on our legitimate interest in keeping QScan safe and working. Transaction records are kept where accounting law requires them.
International transfers
Some of these providers process data outside the European Economic Area, including in the United States. Where they do, the transfer relies on the EU-US Data Privacy Framework for certified providers, or on the European Commission's Standard Contractual Clauses.
Retention
Account records, saved members, and scan history remain until they are deleted in the app or the account is deleted. Ask usage records are tied to the account and follow account deletion. When an account is deleted, its subscription events in qs_superwall_events lose the account identifier and personal fields and keep only what accounting needs: transaction identifiers, product, price, currency, and dates. Shared product facts and scores can remain in the catalogue because they are not account history. The repository defines automatic cleanup for short lived rate limit records, but no shorter automatic expiry for scan history.
Deletion and your choices
A scan can be deleted from History by swiping it and choosing Delete. Profile includes Delete account, which removes the Supabase account and cascades its profile, members, scans, and Ask records. The deletion function also removes any private label files stored under that account. Deleting the account does not cancel an App Store subscription; cancel it in your Apple Account subscription settings. Local recent searches can be cleared from Search.
If you no longer have the app, email hello@qubba.ai from the address on the account, or with the account's details, and we will delete it once we have confirmed it is yours. To request deletion of support correspondence, email us.
Your rights
You can ask for a copy of your data, including in a portable format, and ask us to correct it, delete it, restrict its use, or stop using it where we rely on legitimate interests. Where we rely on consent you can withdraw it at any time. Email hello@qubba.ai and we will answer within one month. You can also complain to the Office of the Commissioner for Personal Data Protection in Cyprus (dataprotection.gov.cy) or to the data protection authority where you live.
Children
QScan is for people aged 16 and over, and we do not knowingly collect data from anyone younger. Profiles a parent or guardian adds for a child are created and controlled by that adult. If you believe someone under 16 has an account, email hello@qubba.ai and we will delete it.
Changes and contact
If this policy changes in a way that matters, we will say so in the app or on this page before the change applies. QScan is provided by Qubba HQ Ltd, a company registered in Cyprus with registration number HE 499298, Zinonos Sozou 11, 3rd floor, Office 303, 1075 Nicosia, Cyprus. Privacy and data requests can be sent to hello@qubba.ai.