This Privacy Policy describes how we collect, use, and disclose information in connection with the CleanerMaster – Storage Clean mobile application (the "App"), available on Google Play for Android devices. "We," "us," and "our" refer to the independent developer who publishes the App. By downloading, installing, or using the App, you agree to the collection and use of information in accordance with this policy.
The App is a device storage-cleaning utility. It has no login system, no user accounts, and no cloud storage — all scanning and file-cleaning operations are performed locally on your device. We do not upload, copy, or transmit the contents of your files, photos, videos, or documents to any server.
01Information We Collect
We collect information in the following categories. We do not collect the categories of information listed separately in Section 1.4 below.
1.1 Information Automatically Collected Through Analytics and Crash Reporting
The App uses Google Firebase Analytics and Google Firebase Crashlytics to understand how the App is used and to diagnose technical problems. Both are switched off when the App is first installed. The App then decides whether to switch them on, using the result of the consent step described in Section 1.2:
- Until your choice is known, they stay off. On a new installation, both stay off until the consent step has produced a result. On a later start, if the App cannot get that result yet (for example, because you are offline or the App has only just started), it leaves the setting from the previous start unchanged. If your consent has expired, or the consent form has not been answered, both are switched off.
- If European data protection law (the GDPR or UK GDPR) applies to you, both are switched on only if, in the consent form, you accept all of the purposes it presents for storing information on your device and for measurement, audience research and service improvement, and accept Google as a vendor. If you decline, or turn off any of those purposes or Google under the form's options, both are switched off, and the App also has Firebase Crashlytics delete any crash reports that are waiting on your device and have not yet been sent. This is the only case in which the App deletes such reports.
- If European data protection law does not apply to you, but you have answered a consent message under other privacy laws (for example, a US state privacy law), or consent data from such a message is stored on your device, both are switched on, whether Google's consent tool reports the consent process as completed or as not required. The App does not read which options you chose in such a message. In every such case it sets the Google consent mode signals that allow the data collected by Firebase Analytics to be used for personalized advertising or sent to Google for advertising purposes to "denied".
- If no consent is required where you are, and no such consent data is stored on your device, both are switched on and all of Google's consent mode signals are set to "granted".
- If the consent process has finished but its result does not make clear which law applies to you, both stay off.
While they are off, they send nothing. A crash report written on your device during that time may stay there and may be sent later if Crashlytics is switched on, unless it is deleted as described above. Where European data protection law applies, the consent mode signals that the App sets for the data collected by Firebase Analytics follow your choices in the consent form.
App interaction data. We collect data about how you interact with the App's screens and features, such as which screen you viewed, which button you tapped, whether a scan started/completed/failed, and summarized results of cleaning actions (for example, the total number of bytes and number of files affected by a scan or delete operation). This data is transmitted as named events with a fixed set of parameters (for example: screen name, feature/category type, byte counts, file counts, operation duration in milliseconds, ad placement identifiers, ad format, error codes).
What is explicitly excluded from this data by design: the App's analytics layer includes a parameter-level filter (PrivacyParameterFilter) that is applied to every outgoing analytics event and drops any parameter whose key name matches: file name, file path, image URI, video URI, phone number, contact name, message content, email address, IMEI, MAC address, or raw Android ID. We verified this filter is applied uniformly before any event is sent.
Diagnostic and crash data. If the App crashes or encounters an unhandled error, Firebase Crashlytics automatically collects a crash report containing the device state at the time of the crash (such as device model, OS version, memory state, and the stack trace of the error), along with a short breadcrumb log of the names of recent in-app events (event names only — not file names, file paths, or file contents). We do not intentionally log file names, file paths, or media URIs to crash or debug logs in Release builds.
Standard technical parameters automatically collected by the Firebase SDK. As part of its normal operation, the Firebase Analytics SDK automatically collects certain standard technical parameters common to virtually all apps using the SDK, such as app version, operating system version, device model/manufacturer, and a coarse (city/region-level, not precise) geographic region inferred from IP address, consistent with Google's own documentation for the Firebase SDK. Firebase Analytics may also use information from Google Play about how the App was installed (the install referrer) to attribute the installation to a marketing campaign. This collection is performed by Google's SDK itself, not by app-specific code we wrote.
1.2 Information Collected Through Advertising
The App is funded entirely by advertising and does not charge for downloads or offer in-app purchases or subscriptions. We use Google AdMob to display advertisements (app open ads, interstitial ads, and native ads).
Google AdMob may collect and use device and advertising identifiers (such as the Google Advertising ID, where available), IP address, and general device information in order to serve and measure advertising, in accordance with Google's own privacy practices. We also send AdMob-related events (ad requested, ad loaded, ad failed to load, ad shown, ad clicked, ad closed) and revenue/impression-value events to our analytics pipeline; these events are tied to an ad placement identifier and ad format, not to any personal profile we maintain, because we do not maintain user profiles or accounts.
Advertising telemetry. To deliver ads, measure their performance and diagnose problems with the App's advertising, the App includes advertising infrastructure of our own, operated by us under the name MagicianReach. This component sends reports to servers we operate on Alibaba Cloud infrastructure in Singapore. It starts sending diagnostic reports as soon as the App starts — before the consent form described below is shown — and continues to send them whatever you choose in that form, including if you decline; there is no setting in the App that turns it off. It also reports each time an ad is loaded, shown, clicked or closed, fails, or earns revenue. The data reported consists of: the ad format, ad network, ad unit and in-app placement involved; the ad event type (for example loaded, shown, counted as an impression by the ad network, clicked, closed or failed, with the error code and error message returned by the ad network if it failed) and, for paid impressions, the revenue value, its currency and how precise that value is; an identifier of the individual ad response assigned by the ad network and, for paid impressions, an identifier generated at random for that single impression; whether attribution information is available for the installation; how the App was opened (for example from the home screen or from a link) and the time of each event; your device brand, model and Android version; the App's package name, version and build number, the version of this component, and whether it is running in its production or test configuration; your device language and time zone; the time the App was first opened after installation; and two identifiers generated by the component itself — an installation identifier (regenerated if you reinstall the App) and a session identifier. Because the App also uses Adjust (see "Attribution" below), each of these reports also carries the identifier that Adjust assigns to your device (the Adjust device ID) and, once it is available, the attribution result: the advertising network, campaign, ad group, creative, tracker and tracker name that the installation is credited to; the component also sends separate events that record these two things. Like any request sent over the internet, these reports reach our servers from your device's IP address, which our logging infrastructure may record alongside the event. This component does not itself collect your Google Advertising ID, Android ID, IMEI, phone number, or any file names or file contents.
Attribution. To understand which marketing channel an install came from, and to measure advertising performance, the App includes the Adjust attribution SDK, provided by Adjust GmbH. Adjust starts as soon as the App starts — before the consent form described below is shown — and keeps sending data whatever you choose in that form, including if you decline; there is no setting in the App that turns it off. Its requests are sent over HTTPS to Adjust's servers, which see your device's IP address. When the App is first opened after installation, on each session, and when attribution is determined, Adjust receives:
- Identifiers: your Google Advertising ID and whether ad tracking is limited; your Android ID, but only if no advertising ID can be read (for example, on devices without Google Play services); a random identifier that the Adjust SDK generates on your device; and an identifier assigned by Adjust's servers.
- App and usage: the App's package name and version, and the times it was first installed and last updated; how many times the App has been opened and used, and for how long (session count and time spent).
- Device: your device's model, manufacturer and type, its hardware name and build ID, its processor architecture, the name, version and API level of its operating system, its screen size, density and resolution, its interface mode (for example, whether dark mode is on, or whether the device is a television or a car system), and whether the App is running on Google Play Games for PC.
- Region and network: your device's language, your country (taken from your device's language and region settings, not from your location), the code of your mobile network operator, and the type of network connection.
- Installation source: information from Google Play about how the App was installed (the install referrer in its original form, which can include an advertising click identifier, with related times and versions), which Adjust uses to match the installation to an advertisement; the package name of the app store that installed the App; and whether the App is an instant app.
- Advertising revenue: each time an app open, interstitial or native ad shown in the App earns revenue, the App's advertising component sends Adjust an advertising revenue event that names AdMob as the source and ad network, and includes the revenue amount and its currency, the AdMob ad unit ID, and the name of the in-app placement.
Adjust returns the attribution result — such as the advertising network, campaign, ad group, creative and tracker an install is credited to — which the advertising component described above also records in its own reports. Adjust does not receive custom events, purchases or subscriptions, your location, your contacts, or any file names, file contents or scan results. According to Adjust's documentation, if you delete your advertising ID or opt out of ads personalization in your Android settings, its SDK receives a string of zeros instead of the advertising ID; this does not stop the other data described here from being sent. Adjust collects and processes this data on our behalf, on its own infrastructure, for attribution, analytics and fraud prevention, and its handling of the data is described in its own privacy policy, linked in Section 3.
Consent for advertising in regions requiring prior consent. The App uses Google's User Messaging Platform (UMP) to obtain your consent where it is legally required. If you are located in the European Economic Area, the United Kingdom, Switzerland, or another region where prior consent is required, a consent form is presented before Google AdMob uses advertising identifiers to personalize ads. Your choice in this form governs personalized advertising by Google AdMob and, as described in Section 1.1, whether Firebase Analytics and Firebase Crashlytics collect data. Your choice does not control the advertising telemetry or the Adjust attribution described above, both of which start when the App starts and continue regardless of your choice (so Adjust receives your advertising identifier before the form is shown, and also if you decline), or the retrieval of remote configuration described in Section 3. You can review or change your choice at any time using the privacy options entry in the App's Settings screen, which is shown whenever your region requires it. You may also limit or opt out of personalized advertising through your device settings (see Section 5).
1.3 Permissions We Request, and Why
The permissions below are the ones the App asks you to grant and the ones that let the App or the services in it read identifiers or information about how the App was installed. The App and the libraries it includes also declare standard system permissions, such as those used to run scheduled background tasks. We describe what each permission below is actually used for, based on how the App's code uses it — not a generic description.
Permission: READ_MEDIA_IMAGES, READ_MEDIA_VIDEO, READ_MEDIA_AUDIO (Android 13+) / READ_EXTERNAL_STORAGE (older Android versions). Why we request it: To let you view and select photos, videos, and audio files that appear in cleaning tools such as Duplicate Photos, Large Files, and Junk Files, so you can choose what to delete. All scanning happens on your device.
Permission: MANAGE_EXTERNAL_STORAGE (All Files Access). Why we request it: File cleaning is the App's core function. This broader permission is used to find files that the narrower media permissions above cannot see — such as files in your Downloads folder, installed-app package (APK) files, and non-media large files (documents, archives) that were not created by this App. This permission is optional: if you do not grant it, the App continues to function using only the narrower media permissions, with a banner explaining that some file types will not be visible until full access is granted. We never use this permission to access files outside of the cleaning features you open.
Permission: POST_NOTIFICATIONS (Android 13+). Why we request it: To send you occasional reminders about cleanable storage found on your device — for example, when cached and residual files build up. These notifications are generated on your device from your own scan results; we do not send marketing or promotional notifications, and no notification content is transmitted off your device. Granting this permission is optional: the App's cleaning features work normally without it, and you can turn notifications off at any time in your device settings.
Permission: INTERNET, ACCESS_NETWORK_STATE. Why we request it: Required for the App to communicate with Google Firebase (analytics, crash reporting, remote configuration) and the advertising services described in this policy, and to check network connectivity before attempting those requests.
Permission: com.google.android.gms.permission.AD_ID. Why it is declared: So that the advertising and attribution services described in Section 1.2, and Firebase Analytics, can read your device's advertising identifier. You can reset that identifier, or opt out of personalized advertising entirely, in your device's Android settings (see Section 5).
Permission: ACCESS_ADSERVICES_AD_ID, ACCESS_ADSERVICES_ATTRIBUTION, ACCESS_ADSERVICES_TOPICS. Why they are declared: They are declared by Google AdMob and Firebase Analytics, and allow these Google libraries to use Android's privacy-preserving advertising features (an advertising identifier, attribution reporting and the Topics API) on devices that support them.
Permission: com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE (Google Play Install Referrer). Why it is declared: It lets the App ask Google Play how the App was installed — for example, whether the install came from an advertising campaign. The App's reminder and advertising component asks for this once, when the App is first opened (and again on a later start if Google Play could not answer). It keeps only its conclusion on your device — whether the install appears to come from an ad campaign and, if so, which kind of channel (for example Google Ads or Meta) — and does not itself send the install referrer off your device. The Adjust SDK, however, reads the install referrer from Google Play and sends it to Adjust in its original form, as described in Section 1.2, and Firebase Analytics may also use the install referrer, as described in Section 1.1.
We do not request access to your contacts, precise or approximate location, camera, microphone, SMS/call logs, or any account/login credentials, because the App has no features that use them.
1.4 Information We Do NOT Collect
Based on a direct review of the App's source code, the App does not:
- Upload, transmit, or store the contents of your photos, videos, audio files, or documents on any server. All scanning, matching, and deletion of files happens locally on your device.
- Collect or transmit file names or file paths as analytics parameters (actively blocked by our parameter filter, see Section 1.1).
- Access your contacts, SMS/call history, or the content of any messaging app.
- Access your device's location. The App does not request location permission and does not read GPS or network location; the only location information involved is the coarse region that Firebase infers from your IP address, described in Section 1.1.
- Collect your phone number, email address, or any account credentials (the App has no login or account system).
- Collect your IMEI or MAC address, or read your raw/unhashed Android device ID itself. (The Adjust SDK described in Section 1.2 sends the Android ID when it cannot read an advertising identifier, for example on devices without Google Play services.)
- Create any account-based or cross-device user profile. The App does not generate a persistent user identifier of its own: the identifiers created by the advertising component described in Section 1.2 are scoped to an installation and to a session, and are reset when you reinstall the App. The advertising and attribution services described in Section 1.2 do use your device's advertising identifier, which is provided and controlled by the Android system and which you can reset or opt out of at any time (see Section 5), and the Adjust SDK also creates a random identifier of its own on your device and receives an identifier assigned by Adjust's servers; these are created or provided by Adjust rather than by the App, and the App does not reset them. Apart from the identifiers described in Section 1.2, the data the App keeps on your device (in app storage, and not transmitted off your device by the App) consists of: your app settings (selected language, whether you completed onboarding, whether you have seen the permission guide, and whether we have already asked you for notification permission); records used to pace reminders and ads (for example, when a reminder, an ad or a low-storage warning was last shown); and the installation-source result described in Section 1.3. None of this is a user identifier.
02How We Use Information
We use the information described in Section 1 to:
- Operate and provide the core functionality of the App (file scanning and cleaning);
- Send you on-device reminders about cleanable storage, if you have granted notification permission;
- Understand feature usage and improve the App's design and performance;
- Diagnose and fix crashes and technical errors;
- Display and measure the performance of advertising, including which marketing channels lead to installs, which funds the App's free availability;
- Maintain and improve the security and stability of the App.
We do not use any of this information to build a profile of you for purposes unrelated to operating this App, and we do not sell your personal information.
03Third-Party Services and Other Recipients
The App sends data to the recipients listed below. Each third-party provider processes data under its own privacy policy, which we encourage you to review; the one exception is noted immediately after the list.
- Google Firebase Analytics — Purpose: In-app event and usage analytics — Provider's Privacy Policy: https://firebase.google.com/support/privacy
- Google Firebase Crashlytics — Purpose: Crash and error reporting — Provider's Privacy Policy: https://firebase.google.com/support/privacy
- Google Firebase Remote Config — Purpose: Remotely adjusting non-personal app configuration (e.g., feature toggles, ad frequency limits); it is contacted when the App starts, including before the consent step described in Section 1.2. It does not transmit any of your personal data to us — it only allows us to push configuration values to your device. To return those values, Google uses a Firebase installation identifier and, like any request sent over the internet, receives your device's IP address — Provider's Privacy Policy: https://firebase.google.com/support/privacy
- Google AdMob — Purpose: Displaying and measuring in-app advertising — Provider's Privacy Policy: https://policies.google.com/privacy
- Google User Messaging Platform (UMP) — Purpose: Collecting and storing your advertising consent choice where required by law — Provider's Privacy Policy: https://policies.google.com/privacy
- MagicianReach — Purpose: Advertising infrastructure used to request, display and measure advertising, to record ad performance and revenue events, and to send diagnostic reports from the moment the App starts (see Section 1.2) — Covered by this Privacy Policy — see the note below
- Adjust — Purpose: Mobile attribution: identifying which marketing channel an install came from, measuring advertising performance and detecting advertising fraud; it starts when the App starts, including before the consent step described in Section 1.2, and that step does not control it (see Section 1.2) — Provider's Privacy Policy: https://www.adjust.com/terms/privacy-policy/
- Google Play Services — Purpose: Underlying platform services required by the above (e.g., advertising identifier access and install referrer information) — Provider's Privacy Policy: https://policies.google.com/privacy
About MagicianReach. MagicianReach is listed above so that every recipient of data appears in one place, but it is not an independent third-party provider: it is advertising infrastructure operated by us. Its handling of the data described in Section 1.2 is governed by this Privacy Policy rather than by a separate provider policy.
Services we do not currently use. The App does not currently integrate any marketing SDK such as Meta (Facebook) Audience Network/SDK or TikTok's marketing SDK. If we integrate any such service in the future, we will update this Privacy Policy before that update is released.
04Data Retention
- Data on your device: The small set of local values described in Section 1.4 remains on your device until you clear the App's data or uninstall the App, at which point it is permanently deleted along with the rest of the App's data by the Android operating system.
- Data held by Google: Analytics, crash, and advertising data described in Section 1 is retained by Google (Firebase, AdMob and UMP) according to Google's own data retention policies, which are described in the privacy policies linked in Section 3.
- Data held by Adjust: The data described in Section 1.2 is held by Adjust on our behalf and retained according to Adjust's own retention policy, described in the privacy policy linked in Section 3. Uninstalling the App does not delete data that Adjust has already received.
- Advertising telemetry we hold: The advertising telemetry described in Section 1.2 is retained for up to 60 days from the date it is recorded, after which it is deleted or retained only in aggregated form that cannot be linked back to an individual installation.
- No other server-side copy: The App has no backend of its own for your files, scan results, or any other content on your device — none of that ever leaves your device. The advertising telemetry described in Section 1.2 is the only data that reaches servers we operate.
05Your Choices and Rights
- Ad personalization opt-out: You can limit or opt out of personalized advertising through your device's Android system settings (Settings > Google > Ads > "Delete advertising ID" or "Opt out of Ads Personalization," depending on your Android version), or through the Digital Advertising Alliance's opt-out tools where available.
- Advertising consent (where required): If your region requires prior consent for personalized advertising, you can review or change your choice at any time through the privacy options entry in the App's Settings screen.
- Adjust attribution: The consent form and the App's settings do not control Adjust (see Section 1.2). If you reset your advertising ID or opt out of ads personalization in your Android settings, the Adjust SDK, according to Adjust's documentation, receives a string of zeros instead of the advertising ID, but it still sends the other data described in Section 1.2. The only way to stop Adjust from receiving data from your device is to uninstall the App. To ask about data that Adjust already holds, contact us at radasemarade@gmail.com; we will handle your request as described in Section 5.1.
- Notifications: You can turn off the App's notifications at any time in your device settings (Settings > Apps > CleanerMaster – Storage Clean > Notifications), or decline the notification permission when it is requested. The App's cleaning features are unaffected.
- Uninstalling the App: Because the App does not maintain a server-side account for you, uninstalling the App removes all locally stored data described in Section 1.4, and resets the installation identifier described in Section 1.2. This is the most complete way to remove App-specific data associated with your device, and the only way to stop the advertising telemetry and the Adjust attribution described in Section 1.2.
- Analytics collection: Where European data protection law applies to you, Firebase Analytics and Firebase Crashlytics collect data only with your consent, as described in Section 1.1. If you withdraw it through the privacy options entry in the App's Settings screen, both are switched off as soon as you close the form, and they stay off on later starts of the App. Where a consent message under other privacy laws (for example, a US state privacy law) applies, the App does not read your answer and does not switch collection off because of it; instead, it always sets the advertising-related consent mode signals described in Section 1.1 to "denied". Firebase Analytics collection can also be limited through your device or Google Account ad/analytics settings referenced above.
5.1 European Economic Area, UK, and Switzerland (GDPR / UK GDPR)
If you are located in the EEA, UK, or Switzerland, you have rights under the General Data Protection Regulation (GDPR) and equivalent UK/Swiss law, including the right to access, correct, delete, or restrict the processing of your personal data, and the right to data portability and to object to processing. Because the App does not maintain user accounts, most of these rights can be exercised directly through your device settings as described in Section 5, or by contacting us at radasemarade@gmail.com. We will respond to verifiable requests within the timeframe required by applicable law.
Legal bases. Where the GDPR or UK GDPR applies, we rely on your consent, given through the consent form described in Section 1.2, for personalized advertising by Google AdMob and for the analytics and crash data described in Section 1.1. We rely on our legitimate interests in operating the App, keeping it working reliably and funding it through advertising for the advertising telemetry and the Adjust attribution described in Section 1.2 (which include measuring which marketing channels lead to installs, measuring how advertising performs, and detecting advertising fraud), for showing advertising that is not personalized, and for remote configuration of the App. We do not rely on your consent for the advertising telemetry or the Adjust attribution: both start when the App starts, before the consent form is shown, and the form does not control them. You can withdraw your consent at any time through the privacy options entry in the App's Settings screen; Firebase Analytics and Firebase Crashlytics are switched off as soon as you close the form. Withdrawing consent does not affect processing that took place before you withdrew it. You can object to processing based on our legitimate interests by contacting us at radasemarade@gmail.com. Because the advertising telemetry and the Adjust attribution are sent automatically and cannot be switched off inside the App, uninstalling the App is the way to stop them completely.
5.2 California (CCPA/CPRA)
If you are a California resident, you have the right to know what personal information is collected about you, to request deletion of that information, and to opt out of the "sale" or "sharing" of personal information (as those terms are defined under California law), which may include certain advertising-related data sharing with Google AdMob and Adjust. Advertising telemetry is additionally processed by our own advertising infrastructure described in Section 1.2. We do not sell your personal information for monetary consideration. To exercise these rights, use your device's ad settings as described in Section 5, or contact us at radasemarade@gmail.com.
5.3 Other Jurisdictions
If you reside in a jurisdiction with other applicable data protection laws, you may have similar rights. Please contact us at radasemarade@gmail.com with any request and we will respond in accordance with applicable law.
06Children's Privacy
The App is not directed at children under the age of 13 (or the equivalent minimum age in your jurisdiction), and we do not knowingly collect personal information from children. The App does not include a login or age-verification system; it is a general-audience utility app. If you believe a child has provided us with personal information through the App, please contact us at radasemarade@gmail.com so we can address it.
07Data Security
We rely on the security practices of the underlying Android operating system (App sandboxing, scoped storage, and permission model), of our own advertising infrastructure, and of our third-party service providers to protect information. All network communication between the App and the services described in this policy uses HTTPS/TLS encryption. The App does not upload your files, photos, videos, or documents, so there is no server-side store of your file contents that could be breached. The only server-side data that we ourselves hold about your device is the advertising telemetry described in Section 1.2, which is held subject to the retention limit in Section 4; data held by Google and Adjust is described in Sections 3 and 4.
08International Data Transfers
Data described in this policy may be processed and stored outside your country of residence. Google (Firebase, AdMob and UMP) may process data in the United States and other countries where it or its sub-processors operate data centers. Adjust (Adjust GmbH) processes the data described in Section 1.2 on its own infrastructure, which may be located outside your country of residence. Google and Adjust describe the safeguards they apply to international transfers in their privacy policies linked in Section 3. The advertising telemetry described in Section 1.2 is sent to and stored on Alibaba Cloud infrastructure in Singapore, which is outside the European Economic Area, the United Kingdom and Switzerland. If you would like more information about how this transfer is protected, contact us at radasemarade@gmail.com.
09Changes to This Policy
We may update this Privacy Policy from time to time to reflect changes in the App's functionality, the third-party services we use, or applicable law. We will update the "Last Updated" date at the top of this policy when we do so, and where changes are material, we will provide additional notice (such as an in-app notice) where feasible. We encourage you to review this policy periodically.
10Contact Us
If you have any questions, concerns, or requests regarding this Privacy Policy or your data, please contact us at:
Email: radasemarade@gmail.com
Terms of Service — CleanerMaster – Storage Clean
Full policy: https://cleanermastersoft.com/privacy-policy.html (this page).