BumuStudios·Türkçe sürüm·ImageToPdf policy·PdfPages policy

Privacy Policy — QR Pocket

Android app, package com.bumustudios.qrpocket

Effective date: 9 October 2026. Last updated: 9 October 2026.

What you scan and the codes you create never leave your device. There is no account to make, no sign-in and no server belonging to this app. Codes are read and generated on your phone, and your scan history is kept only on your phone. The app does not hold the camera permission.

What does leave your device is described in full below: the advertising served through Google AdMob and its mediation partners, Google's payment services, and the usage statistics and crash reports that the developer collects through Google Firebase — never the content of your scans, your history, your images or your Wi-Fi passwords. If you buy the one-time ad removal, the ads stop altogether; the usage statistics and crash reports do not depend on it.

Who this policy is from

This policy covers the Android application QR Pocket: QR Code Generator (shown on your phone as QR Pocket), distributed through Google Play under the package name com.bumustudios.qrpocket. It is written by the app's developer, BumuStudios, an independent developer. Questions can be sent to the address in Contact.

What the app does

QR Pocket creates QR codes and barcodes — text, link, Wi-Fi, contact, social profile link, calendar event, email, phone, SMS, location, EAN-13 and Code 128 — with optional colours, a caption under the code and a printable Wi-Fi card, which you can save as an image or share. It also scans codes — with the camera, from a photo you pick, or from an image you share to the app — and shows what they contain: links, Wi-Fi networks, contacts, email, phone and SMS details, locations, calendar events, product codes and plain text. Scanned and created codes can be kept in a history with search and favourites. There is no subscription.

Your scans and codes stay on your device

This is the most important section, so it is stated plainly:

Links open only when you tap — and are checked first

Scanning a code never opens anything by itself. The result screen first shows the content in full and, for a link, the real web address it points to, in large type. The app checks the link offline, on the device — nothing is looked up and nothing is sent anywhere — and warns you about the usual tricks used in malicious codes: a bare IP address instead of a name, look-alike international characters (punycode), known link shorteners that hide the destination, a fake address placed before an @, unencrypted http and unusual ports. A link with a warning asks you to confirm before it opens. Links using schemes such as javascript:, data:, file: or intent: are never opened. These checks reduce risk but cannot guarantee that a site is safe; please look at the address before you open it.

When you choose to open a link, it opens in your browser, and the website you visit has its own privacy practices, which this policy does not cover. The same applies to the other actions on a result — dialling a number, writing an email or SMS, showing a location on a map, searching the web for a product code, adding a contact or a calendar event: each one only happens when you tap it, and each hands the details to another app on your phone (your dialler, mail, maps, browser, contacts or calendar app), where you confirm. QR Pocket needs no contacts, calendar, phone, SMS or location permission for any of this, and it cannot read your contacts or calendar.

Wi-Fi codes

For a Wi-Fi code, the app shows the network name, the security type and the password, which is hidden until you choose to show it. Connect to this network (Android 11 and newer) opens Android's own "add network" screen with the details filled in, and you confirm there; Open Wi-Fi settings opens the system settings. The app does not read, scan or change your Wi-Fi connections itself and holds no Wi-Fi-changing permission. When you copy a Wi-Fi password, the app marks it as sensitive so that Android 13 and newer hide it in the clipboard preview.

A Wi-Fi password is part of the code's content, so if Keep history is on it is stored in your history on the device, like any other scan. That is one of the reasons the history is kept out of cloud backup (below).

What the app stores locally

The app keeps the following in its own private storage on the device. None of it is sent anywhere:

If you turn on Copy automatically (it is off by default), the content of every scan is also placed on your phone's clipboard, where other apps you use may be able to read it, as with anything you copy.

The history database and the app's settings files are excluded from Android cloud backup and from device-to-device transfer, both on Android 12 and newer and on older versions, so they are not copied to your Google Drive or to a new phone. Google's advertising and consent components also keep their own settings on the device, under Google's control, and the Google Firebase components described below keep three random identifiers in the app's private storage: a Firebase installation ID, the Analytics app-instance ID and a Crashlytics installation ID. Unlike the list above, these identifiers travel with the usage statistics and crash reports. Uninstalling the app or clearing its data removes everything the app has stored, your history and these identifiers included. Images you saved to Pictures/QR Pocket, and files you shared or exported to other apps, are yours and are not removed.

Google ML Kit and the Code Scanner

Both ways of scanning use Google technology that works on the device:

Under Google's ML Kit terms, Google may collect limited usage and performance information about these features, such as which API was used, how long processing took and device and app information, to maintain and improve them. This never includes the images, the camera frames or the content of the codes.

Advertising — Google AdMob and its mediation partners

The app is free and is supported by ads served through Google AdMob (Google Ireland Limited / Google LLC, depending on your region). AdMob is embedded in the app as a software development kit, and it does collect data, independently of the developer. When ads are served, AdMob and Google's advertising partners may collect and process:

DataUsed for
Advertising ID (a resettable identifier assigned by Android) Ad serving, frequency capping, ad measurement, fraud prevention
Approximate location — coarse, derived from your IP address, not GPS Serving ads relevant to your country or region, and legal compliance
Device information — model, operating system version, language, screen and network characteristics Rendering ads correctly, ad measurement, fraud prevention
App interaction events — that an ad was requested, shown, clicked or closed Ad measurement, billing advertisers, fraud prevention

Mediation partners

The app also includes the software development kits of other advertising networks, connected through AdMob mediation: AppLovin, Unity Ads, Liftoff Monetize (Vungle), Meta Audience Network, Mintegral and Pangle. When the app asks for an ad, AdMob may pass the request to one of these partners, which then serves the ad itself. A partner that does so receives the same categories of data listed in the table above — advertising ID, approximate location derived from your IP address, device information and ad interaction events — and processes them under its own privacy policy, as an independent company:

Your consent choices, described under "Your advertising choices", are passed on to these partners through the standard consent signal that Google's consent form records.

The app does not request GPS or any location permission, and it does not send the content of your scans, your history, your images or your Wi-Fi details to AdMob or to any mediation partner. The developer receives no personal data from them — only aggregated, anonymous reporting such as impression and revenue totals.

Because ads require an advertising identifier, the app declares the com.google.android.gms.permission.AD_ID permission. The ad formats and where they appear:

The Scan tab and the result of a scan never show an ad.

How Google handles this data is governed by Google's own policies, not by this one:

Usage statistics and crash reports — Google Firebase

To see how the app is used and to find and fix crashes, the developer has built two Google Firebase services into it: Google Analytics for Firebase and Firebase Crashlytics. Google provides them as the developer's data processor, and they are active only in the version of the app distributed through Google Play. The app adds nothing of its own to what they collect — no custom events, no user ID or user properties, no custom keys or log messages — so only their automatic collection applies:

DataUsed for
App-instance ID — a random identifier that Analytics creates for this installation Counting installations and sessions without knowing who you are
Advertising ID — the resettable identifier described above, available to Analytics because the app declares the AD_ID permission for AdMob Usage statistics; use for advertising only as far as your consent choices allow (below)
Approximate location — country or region, derived from your masked IP address, not GPS Statistics by country and region
Device and app information — device model, operating system version, language, app version Statistics by device, Android version, language and app version
Usage events — first open, sessions, screens viewed, engagement time, updates and removal of the app How many people use the app, how often and for how long, and which screens they open
How the app was installed — the Google Play install referrer (for example the store listing or a campaign link) Counting where installations come from
Purchase events reported by Google Play — product, name and price of the one-time "remove ads" purchase Counting purchases; no card or payment details are included
Crash reports, sent only when the app crashes or hits a fatal error — the stack trace, the state of the app at that moment, device details (model, operating system version, orientation, free memory and disk space) and a random Crashlytics installation ID Finding and fixing crashes, and counting how many installations a crash affects

Analytics records that a screen was shown and for how long, not what you do on it, and a crash report shows where in the code the crash happened, not your content. Neither service receives the content of your scans or codes, your history, your name, your email address or any account details.

In the EEA, the UK and Switzerland, the consent form described below under "Your advertising choices" also covers Analytics: your choices there decide whether Analytics may store its identifiers on your device and whether the data may be used for advertising. Use of the data for advertising ("ad user data") and for ad personalisation stays off there until you consent. You can change your choice at any time from Settings → Privacy options; the entry appears where it is required. The app has no separate switch for the usage statistics or the crash reports; uninstalling it stops both.

Analytics keeps data linked to an installation's identifiers for no longer than 14 months; aggregated reports that contain no identifiers may be kept longer. Crashlytics keeps crash reports for 90 days.

Google processes this data on the developer's behalf, as its data processor, under the Firebase and Google Analytics data processing terms. It may be processed on Google's servers outside your country, including in the United States, and it is encrypted in transit (TLS).

Google describes these services here:

Purchases — Google Play Billing

The app offers one optional, one-time, non-consumable purchase that permanently removes ads. There is no subscription and nothing recurring.

The transaction is handled entirely by Google Play Billing. The developer never sees or receives your card number, bank details, billing address or full name. Google Play reports only aggregated sales figures, and Google Analytics for Firebase records that a purchase was made — product, name and price, with no payment details (see above). Inside the app, the purchase is recorded as a single true/false flag on your device, restored from your Google Play account when you reinstall or move to a new device. Your handling of payment data by Google is covered by the Google Privacy Policy and Google Play's terms.

The app also uses Google Play's in-app update service to check whether a newer version of the app is available, so that it can offer you the update; this check goes through the Google Play app on your phone.

Your advertising choices

If you are in the EEA, the UK or Switzerland

Before ads are requested, the app shows a consent form built with Google's User Messaging Platform, where you choose what you allow. Your choice is stored on your device by Google's component, is respected on later launches, and also applies to the mediation partners listed above.

You can change your decision at any time: open the app, go to Settings → Privacy options, and the same form reappears. You may withdraw consent there. Withdrawing consent does not disable the app; you will still be able to scan and create codes, and ads may still be shown in a non-personalised form. The same choices also apply to Google Analytics for Firebase, as described above.

If you are in a US state with a privacy law

Where a US state privacy law gives you the right to opt out of the sale or sharing of your personal information or of targeted advertising, the app uses the same Google consent tooling to offer that choice where applicable, and the Settings → Privacy options entry appears when it is required for you.

Everywhere else

The privacy options entry appears only where a consent choice is legally required, so you may not see it. You can still control advertising at the operating-system level: open Android Settings → Privacy → Ads (the exact path varies by manufacturer and Android version) to reset your advertising ID, or to delete it entirely, which stops apps from receiving a stable advertising identifier.

Removing ads completely

Buying the one-time ad removal stops ad requests from the app altogether. A rewarded video (above) stops them for 24 hours.

Permissions the app requests

These are the permissions the app declares itself. The Google and advertising components built into it add a few more that Android grants at installation without asking you, such as Google Play's billing and install-referrer permissions, Android's advertising-services permissions, and permissions that let an ad or analytics component check the Wi-Fi state, keep the processor awake briefly or vibrate. But the app requests no camera (scanning with the camera is done by Google Play services, as described above), storage, photos, contacts, calendar, phone, SMS, microphone, location, Wi-Fi-changing, notification or account permissions, on any Android version.

Children

This app is a general-purpose utility. It is not directed at children under 13, or under 16 in the EEA (or the equivalent minimum age in your country), it is not listed in a children's category, and it is not designed for or marketed to children. The developer does not knowingly collect any personal information from children. If you believe a child has provided personal information through the ad, analytics or crash-reporting services in this app, contact the address below and contact Google or the ad partner concerned, whose services would hold it.

Data retention

The developer runs no server and keeps no user data of its own. The usage statistics and crash reports are held by Google on the developer's behalf: Analytics data linked to an installation's identifiers for no longer than 14 months (aggregated reports without identifiers may be kept longer), and crash reports for 90 days. Data held on your device, including your history, stays there until you delete it, clear the app's data or uninstall the app. Data collected by Google through AdMob and Google Play is retained according to Google's own retention schedules, described in the Google Privacy Policy, and data collected by a mediation partner according to that partner's privacy policy, linked above.

Security

Your history and settings live in the app's private storage, which Android protects from other apps, and they are kept out of cloud backup and device transfer. The Firebase services encrypt the data they send in transit (TLS). No method of storage or transmission is perfectly secure, but because the developer receives none of your scans or codes, there is no copy of them anywhere outside your phone to protect.

Legal bases and your rights

Where the GDPR (EU/UK) applies, the legal basis for personalised advertising is your consent, collected through the form described above and withdrawable at any time. Non-personalised advertising, fraud prevention and the security of the ad services rely on legitimate interests. Processing your purchase is necessary to perform the contract you enter when you buy ad removal. The usage statistics and crash reports rely on the developer's legitimate interest in keeping the app working and understanding, in aggregate, how it is used; storing Analytics identifiers on your device and any advertising use of the data follow your choices in the consent form.

Under the GDPR, and under Turkey's KVKK (Law No. 6698) on equivalent terms, you have the right to ask whether your personal data is processed, to access it, to have it corrected or erased, to restrict or object to its processing, to data portability, and to withdraw consent. You may also lodge a complaint with your national data protection authority — in Turkey, the Kişisel Verileri Koruma Kurumu (KVKK).

The usage statistics and crash reports are pseudonymous: they carry random identifiers, never your name or email address, so the developer cannot tell which records are yours. Where the consent form is shown, you can withdraw consent at any time in Settings → Privacy options, and you can object to this processing, or ask about it, by writing to the address below. Uninstalling the app or clearing its data ends the link to the old identifiers, and data already sent then expires on the schedule above. You can also reset or delete your advertising ID in Android's settings at any time. Requests concerning advertising data must be directed to Google, or to the mediation partner concerned, as the party that holds it, using the tools in their privacy policies linked above. For anything else, or for help finding the right route, write to the address below.

Changes to this policy

If the app's data practices change — for example if a new third-party service is added — this page will be updated and the "last updated" date at the top will change. Material changes will also be reflected in the app's Google Play listing. Continuing to use the app after an update means you accept the revised policy.

This is the first version of this policy, published with the first release of the app.

Contact

For any question about this policy or about privacy in this app, write to:

bumustudios@gmail.com

This is the same address listed on the app's Google Play page. Bug reports, privacy questions and data requests all reach us here.