Legal
Privacy
The legally binding text of this page is German. unsupport is a private project based in Germany.
As of 18 October 2026
1. What this notice covers
This notice covers the website unsupport.com and the iOS and Android apps. It describes which data arises, for what purpose, on what basis, who receives it, how long it stays, and which rights you have.
Some of it you enter yourself: a product photo, a chat message, sign-in with Apple in the iOS app, and, if you tick it there voluntarily, consent to emails. Technical details arise with the request, such as browser, operating system, and time. A photo or a chat goes to Google’s AI only after your consent. Usage statistics and crash reports are described below.
We need the data so the website and the app can be reached and abuse can be limited. The statistics are for reach and improvement. Rows that carry a hash are not used for advertising and are not sold. No paid contract is concluded through the website.
2. Controller and your rights
Controller
The controller for this data is:
Robin Milason Kryszak
Friedrichstraße 155
10117 Berlin
Germany
Email: hi@unsupport.com
Website: unsupport.com
No data protection officer is appointed. A representative in another state of the European Union is not required, because the establishment is in Berlin. The connection to the website is encrypted. We do not promise protection against every possible access by a third party.
How long data stays
Where no specific period is stated below, we delete or shorten data once the purpose has ended. After a withdrawal or a justified request for deletion we delete, unless a legal duty requires us to keep it. The periods for statistics, the account, cookies, and error monitoring are in those sections. If the processing changes, we replace this notice on this page. The date above applies.
Objection (Art. 21 GDPR)
You have the right to object, on grounds relating to your particular situation, at any time to processing of personal data concerning you which is based on Art. 6 (1) (e) or (f) GDPR. We then no longer process the data unless we can demonstrate compelling legitimate grounds which override your interests, rights, and freedoms, or the processing serves the establishment, exercise, or defence of legal claims.
Where personal data is processed for direct marketing, you have the right to object at any time to that processing. That also applies to profiling insofar as it is related to such direct marketing. After your objection the data is no longer used for that marketing.
Send the objection to the email address above.
Right of access, correction, and deletion
You have the right of access to your personal data, the right to have inaccurate data corrected, and the right to deletion unless a duty to keep it stands in the way. You may demand that processing be restricted. Data you have provided to us and that we process by automated means on the basis of consent, or in order to use the app, you may receive in a common format.
You may withdraw consent at any time with effect for the future. Withdrawal does not affect the lawfulness of processing before the withdrawal.
You may lodge a complaint with a supervisory authority. For the controller named here that is in particular the Berliner Beauftragte für Datenschutz und Informationsfreiheit, Alt-Moabit 59-61, 10555 Berlin, datenschutz-berlin.de. You may also contact the supervisory authority where you live.
3. What arises in detail
Details at the hosting
Technical details arise at the hosting so the page can be delivered and abuse can be limited. The basis is Art. 6 (1) (f) GDPR. They are not used to build a profile. The IP is not stored in plain text in the statistics.
- Browser type and browser version
- Operating system used
- Address requested and, if the browser sends it, the page visited before
- Time of the server request
- IP address, at the edge of the hosting
Photo check and chat
If you upload or take a photo, or send a chat message, that content is sent to an AI from Google, Anthropic, or OpenAI for analysis. On the website this happens only before the first scan or chat. The sentence is shown, and you tap “Accept and continue”. There is no checkbox on the website. In the iOS app the same sentence is a checkbox on the sign-in screen. It is not pre-selected. Without that checkbox, sign-in with Apple has no effect. You can withdraw consent in the app, on the Settings tab, at the legal pages, and on the website by deleting the website data. Scan and chat are then blocked until you consent again. Processing is solely to answer your request and is based on your consent (Art. 6 (1) (a) GDPR). The analysis serves only that check. Please do not send personal or confidential content by photo or chat. The analysis (product recognition, brand match, campaign and traffic-light classification) is automated and without warranty. There is no guarantee that the right product is recognised, or that the campaigns, assessments, and sources shown are correct, complete, or current. The sources are links we keep for the entries used; the AI does not add its own. The traffic light can repeat a campaign about the brand, its company, a parent company, or a subsidiary or sister company. A minority stake is shown and does not change the colour. The colour is therefore not necessarily a boycott of that exact brand. More is in the terms of use.
After sign-in, the Scan tab is the start screen of the iPhone app. From the second time you open the app, it is there at once. While this tab is open, the camera runs. If a barcode is in the viewfinder, the phone reads it on the device, without you pressing the shutter. The camera does not do this in Chat or in Settings. On this path no image leaves your phone. Only the number goes to our server, through your signed-in account, so we can look up the product name and the brand in a local copy of the open product lists. On the website the same happens while the scan camera is open: the browser reads the barcode on the device, without the shutter, and sends only the number, without an account. That is only for recognition and is based on the request you started (Art. 6 (1) (b) GDPR). The colour and the campaign come from our own campaign database. The card says which list the recognised name comes from. We do not publish that slim copy as a table. The method that builds it from the open lists is machine-readable and free at unsupport.com/barcode-slice.py.
AI analysis
For product recognition and chat replies we use generative AI from Google, Anthropic, or OpenAI. The data you enter or upload (chat text, optional product photos, and technical context the request needs) is sent to that provider and processed there. Processing may take place on servers outside the EU. Standard contractual clauses in that provider’s terms apply to this. The chosen provider does not use the photo or the chat to train its models and keeps them only for a limited time, longer only if the law or a safety review requires it. We do not keep the photos and chat histories we send as a lasting archive of our own. Your personal scan history is covered in the next section. The traffic light and the chat reply are not a decision with legal effect, or a similarly significant effect, on you. What you do with them is your own choice.
Personal scan history
So you can look back at your recent checks, the iOS and Android apps store scan results locally on the device (product name, traffic light, reason), without the product photo. The purpose is only your own history view, not publication, advertising, or sale. You can clear the history in the app or remove it with “Delete account”. We remove uploads that were not allowed, or that are unlawful, after a notice through the thumbs-down button. That button can report content and give feedback, each with a short note. The same button can also report a wrong recognition, match, or label. Such a report, and an email to the address above about a wrong recognition, match, or label, is used to check that specific entry (Art. 6 (1) (f) GDPR). Chat histories are not automatically part of this history.
When you choose “Declined” on the scan card, or “Bought” on an alternative, we store the brand or the alternative’s name and a count of how often that choice was made. The phone keeps a random device code. We store only a hash of it, not the account, not the photo, and not your name. “Declined” and “Bought” count again on every tap, including on a later scan. Other people see the count from 5 upward. This is based on the choice you make (Art. 6 (1) (b) GDPR). “Delete account” removes the list on the phone. The shared count stays, without a link to your account. We also see the totals, without the hash, in an internal view, to tell which brands and products were declined and which alternatives were chosen. That view includes totals under 5. The hash is not read for it and is not linked to the account. The basis for this view is Art. 6 (1) (f) GDPR (legitimate interest in the evaluation). The hash is not used for advertising and is not sold.
Cache for lookup results
To answer repeated requests faster, we may store technical intermediate results of product and brand lookups (for example a recognised name and the related campaign or traffic-light information) for a limited time. This cache contains no user accounts, no photos, and no full chat histories. It is used only for performance and expires automatically after a short period (currently a few days). We may also store anonymised notes of searches we could not match, to improve our campaign database.
Usage statistics (product analytics)
To improve the website and the iOS and Android apps, we record technical usage events: page view or app start, scan (start, success, error), chat message, a change to the topic filters, and clicks on campaign sources or alternatives. No product photos, no chat texts, and no real names are stored.
An event may include: the event name, coarse metadata (path, or “ios” or “android”, success or error, duration, and for a scan the time spent recognising and looking up), a timestamp, the traffic-light level, the recognised brand, the product name or campaign, whether the camera, the photo library, or chat was used, the interface language, the origin (referrer domain, UTM, or App Store / TestFlight / deep link), and, through the hosting provider and without us storing the IP, the country (Cloudflare CF-IPCountry). The IP address is read at the edge of the hosting to determine the country and to limit abuse. It is not stored in plain text in the statistics.
For each calendar day we form an HMAC hash (SHA-256) from technical connection data (including the IP at the edge of the hosting, the user agent, and whether it was the website or the app). The hash is pseudonymous and applies only to that day. The next day produces a new hash. It is not linked to a name, an email, or an Apple account. We do not place a random ID on your device for this. For the time from open to scan and from scan to chat, the app or website may send a short-lived session token from memory; after about 30 seconds in the background or in another tab, a new one is created. It is not a device ID and is not linked to the account. We base the evaluation of the hash rows on Art. 6 (1) (f) GDPR (legitimate interest in reach and improvement). These rows are not used for advertising and are not sold. For that day the hash can be tied to a brand, a product, and a campaign. That can show which entries were looked up. We do not ask for a political opinion and we do not treat the scan as one. The hash is not linked to the account.
We keep individual hash rows and scan times with brand and product names for 90 days, and before that we condense them into daily and monthly totals without a personal link (number of visits, scans, chats; frequent brands and products). We keep the totals for internal evaluation. Anyone who sends “Do Not Track” or Global Privacy Control in the browser is not included in the usage statistics. You can also object (Art. 21 GDPR) by email to the address above.
The same events may be forwarded to PostHog Cloud EU (PostHog Inc., hosting in the EU, currently Frankfurt) if an API key is configured. The provider is based in the United States. Where a transfer to a third country takes place, it provides standard contractual clauses. PostHog receives the hash as an identifier, and for a thumb only the direction (positive or negative) and counters. PostHog does not receive the free text of the note, nor photos, nor chat histories. We store the note itself only in our internal feedback list, with whether it belongs to a scan or to chat. It is deleted with the other individual rows after 90 days and is not used for advertising. Shortened event lines may also appear in the hosting logs (Cloudflare Workers Logs), without that note text. We do not sell these events and we do not use them for advertising or personalised prices.
Internal usage overview
The summarised statistics are available only internally, behind a secret login (no public dashboard). They are for our evaluation of the events described above.
Fonts
The fonts used on the website are on our own servers. Opening a page does not connect to Google Fonts.
Error monitoring
For stability, technical error reports go to Functional Software, Inc. (Sentry). On the server, when a request fails, for example during scan, chat, or sign-in: error type, stack trace, and the affected route. In the iPhone app, once that version contains its own key: the crash stack, the operating system, the device type, the app version, and the technical step, for example recognising or looking up. None of that is linked to the account, the photo, or the chat. There is no screen recording, no session recording, and no performance tracing. While a version does not contain that key, crashes of the app are not sent to Sentry. Sentry receives the reports in the EU. The basis is Art. 6 (1) (f) GDPR (stability of the app and the server). We do not store the reports ourselves. Sentry keeps them for the retention period of the respective project. Where a transfer to a third country takes place, the provider provides standard contractual clauses. No photos or chat content are sent.
Separately, Apple can provide us with crash reports and aggregated usage figures if you allow sharing of diagnostics and usage data with app developers on the iPhone. That happens in the device settings, not in unsupport. Apple decides what those reports contain and how long Apple keeps them. We do not copy the reports into a database of our own. We use them for stability and to understand views, downloads, and use of the app (Art. 6 (1) (f) GDPR). The account, the photo, and the chat are not attached to them.
Sign-in and account deletion (iOS and Android)
The iOS app requires sign-in with Sign in with Apple. The Android app requires sign-in with Google. Without an account, scan and chat cannot be used in the app. That creates a user account and session tokens with us or with our authentication provider (Supabase). Apple or Google sends us a user identifier and, if you allow it, a name and email. The purpose of the account is sign-in, usage limits per account, and account deletion (Art. 6 (1) (b) GDPR). Sign-in is required in order to use the app. That does not create a duty to keep features available permanently. For each account we store how many scans and chat messages it triggered. That carries the limit and the internal overview. Product names are not attached to that number. We send emails with offers, updates, and news about unsupport (our own content, no advertising for other companies, no sale of the address) only if you tick that voluntarily in the iOS app or turn it on later in Settings. The tick is not pre-selected and is not required for the account or for use. Accepting the terms of use is not that consent. The legal basis is Art. 6 (1) (a) GDPR and § 7 (2) UWG. We store the account identifier, the account email address, the time, the language, and the wording that was shown. That is the list of addresses such emails may go to. Withdrawal at any time for the future: turn the switch off in the app’s Settings, or email the address above. The address is then no longer on the list. Proof that you granted or withdrew consent stays on the account, with the address, the time, the language, and the wording that was shown, until the account is deleted. Emails about the account itself, for example about deletion or a security problem, do not need this consent. We do not send such emails at present. The website has no account and therefore no such tick. On the website, scan and chat work without an account. “Delete account” in the app’s Settings removes the account on the device and on our servers, and the scan history, local stats, and the chat on that device. If deletion fails on the server, it is retried. If it still fails, you see an error, and we receive an internal error note. The account does not silently disappear only on the device. You can demand the same deletion without the app installed: write from the address that belongs to the account to hi@unsupport.com with the subject “Delete account”. We then delete the account on our servers.
Voice input (optional)
If you use the optional microphone or dictation feature, your speech is turned into text by the speech recognition of your device or browser (for example the Web Speech API, Apple’s speech recognition, or Google’s speech recognition on Android). The audio is processed by those platform services. We do not store audio files.
Hosting and storage on your device
The website and the API run on Cloudflare (Cloudflare, Inc., including Workers and access logs). Product data and the usage statistics sit in a database we operate at Supabase (AWS, region of the instance). Both process data on our behalf. Cloudflare and Supabase may process data outside the European Economic Area. Where a transfer to a third country takes place, these providers provide standard contractual clauses. We also store settings locally on your device (browser localStorage, or the settings of the iOS and Android apps), in particular:
- Your language setting
- Your choice of campaign topics (“Campaigns”), so the filter is still there on the next visit
- Whether a callout about the topic filter has already been dismissed
- On the website, a timestamp of whether the camera was recently allowed (only so the next scan does not ask for the camera again without need)
- In the iOS and Android apps, your personal scan history (the result, without the photo)
- In the app, the session after sign-in with Apple or Google
Language, topic filter, callout, and the camera timestamp usually do not leave your device. Short-lived session data (for example context from the scan to the chat) may sit temporarily in the browser’s session storage. We do not keep advertising profiles or a cloud history across devices.
Cookies that are technically required
There is no consent banner for this. Under § 25 (2) no. 2 TDDDG a cookie may be set without consent if it is strictly necessary to provide a service you have expressly asked to use. We do not set tracking or advertising cookies.
On the website, a scan or a chat sets the cookie “us_q”. It contains a random identifier, not a name, and together with the IP address it limits daily use. It lasts two days from the last scan or chat and is renewed on each such use. A cookie set earlier can remain until its previous expiry, at most one year, and is set to two days on the next scan or chat. It is HttpOnly and only for unsupport.com. For the same limit we store a hash of the IP address and a hash of the identifier from the cookie. The IP itself is not stored there. Rows whose window is older than two days are deleted.
The cookie “un_intern” is created only after sign-in to the internal statistics page. Visitors of the website and the app do not receive it. It stores a signed expiry, not the access password, and it lasts seven days.
unsupport