Privacy policy
Effective 2 September 2026
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.
Camera and photo library
QScan asks for camera access to read barcodes and capture label photos. A photo library permission description and image picker package are configured, but no current screen opens the photo library. 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's configured vision model. 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 relevant saved member preferences to MixRoute to produce an answer.
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. 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. Supabase session credentials are kept in secure device storage.
Subscriptions
RevenueCat retrieves the available subscription offers, starts the selected Apple purchase, and checks whether the pro entitlement is active. Apple handles payment details. QScan's code does not receive card details.
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. Operational scan and Ask records described above are still recorded by the service.
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 above when needed to provide QScan.
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. 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. Local recent searches can be cleared from Search. To request deletion of support correspondence, email us.
Contact
QScan is operated by Qubba in Switzerland. Privacy and data requests can be sent to hello@qubba.ai.