QR Code Reader Privacy Policy

Last updated: 29 October 2026

QR Code Reader is an Android application published under the Nerdosoft brand by Certus IT - Przemysław Zapaśnik, Poland (“we”, “us”). We are the controller for personal data processing whose purposes and means we determine when providing the app, integrating advertising and handling support. This responsibility is not limited to data sent directly to us. For support and privacy requests, contact support@nerdosoft.com.

Scanning codes and permissions

QR Code Reader scans QR codes and barcodes using the camera or an image you select. No account is required. Camera permission is used for the scanner preview and decoding. You can revoke it in Android settings. Selecting an image uses the system photo or file picker; the app does not request access to your entire photo library.

Images and code contents are processed on your device using the bundled Google ML Kit barcode model. Scanning works without an internet connection. The app does not upload camera frames, selected photos or scan contents to Nerdosoft, and does not supply them to AdMob for advertising. It does not save camera frames as photos. Images you select remain in their original storage location.

ML Kit processing of images and results stays on the device, but the SDK can communicate with Google for operational purposes and send performance and usage metrics. These may include device and app information. Auto-zoom metrics can include a generated scanning-session identifier, zoom changes and predicted barcode bounding-box coordinates. These metrics are distinct from the image and decoded content. See ML Kit privacy information and ML Kit Android data disclosures.

Data kept on your device

Scan history is part of Advanced (see below). When Advanced is active and “Save history” is enabled, the app stores decoded content, the code format and scan time in its private local database. This can include links, text, phone numbers, email addresses and full contact details contained in a code. Recognised Wi-Fi credentials and driver’s licence codes are excluded from history. This exclusion is based on recognised content types; arbitrary text can still contain sensitive information. Without Advanced, new scans are not saved; history saved earlier stays on the device until you delete it.

You can delete individual entries or use “Clear all” in History. Turning off history prevents future recording but does not delete existing entries. There is no automatic time-based expiry. Settings such as sound, vibration and history preferences are stored locally.

With Advanced, “Export CSV” saves your history as a CSV file containing scan time (UTC), code format and content, at a location you choose in Android’s file picker. The file is a separate copy: clearing history does not delete it, and if you save it to a cloud storage service, that service processes it under its own policy.

The history database is excluded from Android cloud backup. On Android 12 and later, the current rules allow history to be included in direct device-to-device transfer. The local record of whether you own Advanced is excluded from both cloud backup and device-to-device transfer; ownership is restored from Google Play. Other app settings may be backed up and restored according to Android and device settings. We do not operate an online history account or synchronisation service.

Actions you choose to take

Opening a link, searching the web, displaying a map, preparing a call, message or email, adding a contact, or sharing a result passes the relevant content to Android or an app you choose. Those apps and destination services process it under their own policies. Scanning alone does not automatically open a link or send a message.

Copy places content on the system clipboard. For Wi-Fi connections the app passes network details to Android’s network-saving interface where supported. Otherwise it may copy the password to the clipboard and open Wi-Fi settings. Password copies are marked sensitive for supported clipboard interfaces. Clipboard contents and saved networks are managed by Android separately from scan history.

Copies you share, contacts you save and information sent to other services are not deleted when you clear QR Code Reader history.

Advanced purchase

Advanced is an optional one-time in-app purchase that removes ads and unlocks scan history and CSV export. Payment is handled by Google Play under its own terms and Google’s Privacy Policy; we do not receive your payment card details. The app uses Google Play Billing to show the offer, confirm the purchase and restore it, and stores only a local record of whether Advanced is owned. Google Play provides us with order information needed for accounting, refunds and support, such as the order number, product, price, country and status.

Advertising and privacy choices

The app integrates Google AdMob and Google’s User Messaging Platform (UMP). In the free version it displays bottom banners, a larger banner on results and occasional full-screen ads when returning from a scan result to the camera. With Advanced, the app does not request or show ads. Debug builds use Google’s test advertising identifiers; test ads still involve communication with Google.

The GMA Next-Gen SDK collects and shares IP addresses, app and ad interactions, diagnostic information and device or account identifiers, including advertising ID and app set ID where applicable. Uses include advertising, measurement and fraud prevention; IP addresses can indicate general location. Google states that SDK data is encrypted in transit using TLS. See Google’s SDK data disclosure.

UMP communicates with Google to determine and manage applicable privacy choices. Advertising technologies can read or store information on your device. Where consent is required, the consent message explains the purposes and providers covered by your choices. The app requests ads only when UMP permits them. Scanning remains available without an ad being available.

When required by Google, “Privacy settings” in the app’s Settings lets you review or change your choices. Android settings also provide advertising-ID controls. Declining personalised advertising does not necessarily disable all ads or all processing associated with permitted ads.

Advertising data is sent directly to Google rather than through a Nerdosoft backend. For processing covered by the Google Ads Controller-Controller Data Protection Terms, we and Google act as independent controllers for our respective processing. Providers involved depend on the advertising configuration and consent choices. See Google’s Privacy Policy and how Google uses information from apps and sites.

Support and reliability

If you contact us, we receive your email address, message and any attachments you choose to send. We use these to respond and investigate problems. Do not send passwords or sensitive scan contents unless needed for your request. The app does not automatically send your scan history to support.

Android and Google Play may collect crash and performance information according to your device and Google settings. We may use reports available through Android vitals to improve reliability. The app does not include a separate developer-operated analytics service, Firebase Analytics or Firebase Crashlytics. This does not exclude the SDK metrics described above.

Retention, deletion and security

History and settings are kept in Android’s private app storage. You can delete history in the app, clear app storage or uninstall the app to remove its local data. Backups, transferred copies, original images, clipboard contents and data shared with other apps must be managed separately. We cannot retrieve local history that has not been sent to us.

We retain support correspondence as long as needed to resolve the matter and relevant follow-up, comply with legal obligations or establish, exercise or defend legal claims. You can request deletion at support@nerdosoft.com; we will explain any applicable reason for retaining information.

Google and other independent providers retain data under their own policies. Clearing QR Code Reader data or changing consent does not automatically delete their existing records. Android isolates app storage, but no storage or transmission method provides an absolute security guarantee.

Recipients and international processing

Recipients can include Google for advertising, consent, SDK diagnostics and Google Play purchases; email providers when you contact support; and apps and services you select for actions on scan results. We do not sell your scan history or images.

Providers may process information outside your country, including outside the European Economic Area. Their notices describe applicable safeguards and retention practices. See Google’s data transfer frameworks.

Children’s privacy

QR Code Reader is a general utility and is not directed at children. It does not ask for a date of birth or verify age. If you believe a child has sent personal information to us through support, contact support@nerdosoft.com so we can investigate and arrange deletion where appropriate. This does not delete information independently held by other providers.

Where European data protection law applies, we process personal data as needed to provide requested services and support, for legitimate interests in resolving problems and maintaining reliability, to comply with legal obligations, or with consent where required, including for advertising technologies. Local scanning and history processing carry out the functions and preferences you select.

Depending on applicable law, you may request access, correction, deletion, restriction or portability, and object to processing based on legitimate interests. You may withdraw consent without affecting the lawfulness of earlier processing. Contact support@nerdosoft.com to exercise your rights. Requests concerning information independently controlled by Google can also be made through Google’s privacy controls.

You may complain to your local data protection authority. In Poland, this is the President of the Personal Data Protection Office (UODO).

Opening this policy on the website

Opening this page makes a website request from your browser. Cloudflare, the website’s hosting provider, processes network information needed to deliver and protect it. The Nerdosoft website uses Google Analytics only after website analytics consent; you can change this in the website footer’s privacy settings. Website analytics choices are separate from app advertising choices. See Cloudflare’s Privacy Policy and Google’s Privacy Policy.

Changes and contact

We may update this policy when the app or its data practices change. The current version will remain available at this address with its revision date. Where needed, we will provide additional notice or request consent.

Certus IT - Przemysław Zapaśnik · Nerdosoft · Poland
Support and privacy contact: support@nerdosoft.com