Last updated: 6 May 2026
LuxSense ("LuxSense," "we," "us," or "our") is the operator of the LuxSense skincare ingredient scanning and analysis application and website (together, the "Service"). LuxSense is operated from Australia.
For the purposes of the General Data Protection Regulation (GDPR), LuxSense is the data controller: we decide how and why personal data is processed for users in the European Economic Area, the United Kingdom, and Switzerland.
Contact us:
Email: [email protected]
Subject line: "Privacy Inquiry"
| Data | What Happens | Stored? |
|---|---|---|
| Ingredient label photo | Sent from your device to our server (Cloudflare Workers), then forwarded to Anthropic's API (Claude) to extract the printed ingredient list as text | No. Processed in real time, immediately discarded after extraction. Not stored on our servers and not retained by Anthropic for model training. |
| Barcode number | If the scanned barcode isn't already in our database, the bare barcode number (e.g. "3660005081960") is sent to Go-UPC to retrieve product name, brand, and image. No photo, no personal data, no device identifier is sent to Go-UPC. | The product metadata Go-UPC returns is cached in our database. The lookup itself isn't logged. |
| Scan results | Extracted ingredient list and computed safety scores returned to your device | Yes. Stored on our servers (Cloudflare D1) so the product becomes searchable for other users and can be served from cache on future scans. Tied only to an anonymous device identifier, never to your name, email, or other personal data. If you share an analysis, the shareable copy is stored separately for 30 days then auto-deleted. |
Barcodes are read entirely on your device using Apple Vision. Only the extracted barcode number (e.g., "3337875398718") is sent to our server for product lookup. No image data is transmitted during barcode scanning.
| Purpose | Data Used | Legal Basis (GDPR) |
|---|---|---|
| Read ingredient labels from photos | Ingredient label photo (sent to Anthropic API) | Legitimate interest (Art. 6(1)(f)) |
| Look up product metadata for unknown barcodes | Barcode number only (sent to Go-UPC) | Legitimate interest (Art. 6(1)(f)) |
| Calculate safety scores | Ingredient names matched against our database | Legitimate interest (Art. 6(1)(f)) |
| Enforce free-tier scan limits and prevent abuse | Anonymous device identifier and per-day scan counts | Legitimate interest (Art. 6(1)(f)) |
| Website analytics | Anonymous page view data (cookieless) | Legitimate interest (Art. 6(1)(f)) |
| Legal compliance | As required by law | Legal obligation (Art. 6(1)(c)) |
This section explains exactly what happens when you photograph an ingredient label inside the app:
We cannot access your camera feed, photo library, or any images on your device beyond the specific photos you explicitly capture for scanning. Photos are never written to disk or persistent storage on our servers.
Barcodes are detected entirely on your device using Apple Vision. Only the resulting barcode number is sent to our server for lookup. No image data is transmitted during barcode scanning. If the barcode isn't in our database, the bare barcode number alone is forwarded to Go-UPC to retrieve product name and image. No photo, device identifier, or personal data is sent to Go-UPC.
Under Anthropic's API Data Policy: API inputs (including photos) are not used for model training. They may be retained for up to 30 days for trust-and-safety purposes (abuse monitoring), after which they are deleted. See Anthropic's policies.
We do not sell, rent, or trade your data. We share data with the following service providers, solely as necessary to operate the Service:
When you use photo scanning or scan an unknown barcode, data is transmitted to:
These transfers are protected by:
| Data Type | Retention Period |
|---|---|
| Product photos | Zero retention. Processed in real-time, immediately discarded. |
| Scan results (ingredient lists, safety scores) | Stored in our database to build the public product catalog. Linked only to an anonymous device identifier, never to a personal identity. Retained for as long as the product remains in our database; you can request deletion of any data linked to your device by emailing us. |
| Shared scan analyses | When you tap "Share" on a standalone ingredient scan, the rendered analysis is stored for 30 days in a key-value store, accessed via a random URL, then auto-deleted. |
| Web search queries | Transient. Not logged by us. |
| Website analytics | Aggregated and anonymous, with no personal data retained. |
As an EU resident, you have the following rights. Exercise any of these by emailing [email protected]. We'll respond within 30 days.
Note: Since we do not currently require user accounts or collect personal data, we are unlikely to hold any personal data about you. However, you may still exercise these rights:
Right to lodge a complaint: You can complain to the data protection supervisory authority in your country of residence. A list of EU/EEA supervisory authorities is published by the European Data Protection Board. UK residents may complain to the Information Commissioner's Office (ICO).
For users in Australia, LuxSense handles personal information consistent with the Australian Privacy Principles (APPs) set out in the Privacy Act 1988 (Cth). You may request access to, correction of, or deletion of any personal information we hold about you by emailing [email protected].
If you believe we have mishandled your personal information, you may lodge a complaint with the Office of the Australian Information Commissioner (OAIC).
We don't use cookies for analytics or tracking.
Our website uses Cloudflare Web Analytics, a privacy-first analytics service that:
Because we don't set tracking cookies, you won't see a cookie consent banner on our site.
LuxSense is not intended for children under 16 years of age. We do not knowingly collect personal data from children. If you believe a child has provided us with personal data, please contact us at [email protected] and we will promptly delete it.
We take reasonable technical and organizational measures to protect data in transit:
No system is 100% secure. If we discover a data breach affecting personal data, we will notify affected individuals and the relevant supervisory authority within 72 hours, as required by GDPR.
We may update this Privacy Policy from time to time. When we make material changes:
For any questions, concerns, or requests regarding your privacy or this policy:
We aim to respond to all privacy-related requests within 30 days.