CleanSnap Privacy Policy
Effective date: October 25, 2026 Publisher: Trudi I.T. Solutions Contact: [email protected]
CleanSnap ("the app") helps you free up space and check your phone's health. This policy explains what the app accesses, what leaves your device, and the choices you have. It applies to the CleanSnap Android app (package tech.trudi.cleansnap) and the CleanSnap API that the app uses for a few optional features.
Summary
- Your photos, videos, contacts, and app list are analyzed on your device. They are not uploaded.
- CleanSnap has no ads, no analytics, and no user accounts.
- Crash reports are off by default. If you turn on Settings > Share crash reports, technical crash details are sent to Google Firebase Crashlytics. You can turn it off at any time.
- Only two optional features send data to our server: AI-written tips (CleanSnap Pro) and subscription verification. Even then, the server receives counts and short labels, not your files.
- Payments are handled by Google Play. We never see your card or payment details.
What the app accesses on your device
CleanSnap asks for each permission only when the related feature needs it. You can decline or revoke any permission in Android Settings. Features that depend on it will then show a "permission needed" state.
| Data or permission | What CleanSnap does with it | Leaves the device? |
|---|---|---|
Photos and videos (READ_MEDIA_IMAGES, READ_MEDIA_VIDEO, or selected photos only) |
Finds duplicates, similar and blurry photos, large videos, and screenshots. Computes image fingerprints (hashes) and stores them with scan results in a local database. Moves items you choose to Trash or deletes them through Android's system prompt. | No |
| Photos analyzed by on-device AI (Best Shot) | Google ML Kit's face model runs inside the app on your device to check whether eyes are open, whether faces look at the camera, and whether people smile, so the sharpest, best photo in a burst or group of lookalikes can be suggested. Results are kept in memory only while the screen is open. | No (see the ML Kit note below) |
| Text in recent photos (Vault Suggestions, off until you turn it on) | Google ML Kit's text recognition and image labeling run on your device to spot passports, IDs, bank cards, and documents so CleanSnap can suggest moving them into the Vault. The text is used in memory only to classify the photo and is never saved, logged, or sent. You can turn it off on the Vault Suggestions screen. | No |
| Secure Vault files | Files you add are encrypted on the device with AES-256-GCM and stored in app-private storage that is excluded from backups. Your vault PIN is stored only as a salted hash. Biometric unlock uses Android's system prompt; CleanSnap never receives your fingerprint or face data. | No |
Contacts (READ_CONTACTS, WRITE_CONTACTS) |
Finds duplicate contacts. Deletes or merges a contact only after you confirm. | No |
Usage access (PACKAGE_USAGE_STATS, granted by you in Settings) |
Shows which apps used the most time and battery, and supports storage forecasts. | No |
| Installed launchable apps | Lists apps for the permissions audit, battery, and running apps screens. | No |
Network and Wi-Fi state (ACCESS_NETWORK_STATE, ACCESS_WIFI_STATE) |
Shows connection type and evaluates your current Wi-Fi network's security. | No |
| Battery and storage information | Battery health, storage breakdown, and cleanup suggestions. | No |
Notifications (POST_NOTIFICATIONS) |
Optional reminders and results of automations you turn on. | No |
Smart Delete confidence (on-device)
Smart Delete gives each suggestion a confidence score and a reason (for example "exact copy" or "very blurry"). It also uses signals that a photo may matter to you: it was taken recently, it is in an album, it was edited, or it shows people or pets. These signals only lower a suggestion's confidence. All of this runs on your device; nothing is sent or stored outside the app.
Smart Delete learning (on-device)
Smart Delete adjusts its confidence from your choices: suggestions you uncheck, confirm, or later restore from CleanSnap Trash. It stores only counts per reason (for example "very blurry: 12 kept, 2 restored") plus a short list of item IDs that are still in CleanSnap Trash, in a file on your device that is excluded from backups. Nothing is sent anywhere. You can erase it any time with Settings > Reset Smart Delete learning, or with Clear all data.
Google ML Kit (on-device AI)
On-device AI features use Google ML Kit models bundled in the app. Your photos and the results never leave the device. Like other Google Play services libraries, ML Kit may contact Google to receive model and compatibility updates and sends Google diagnostic metrics about how the ML Kit libraries perform (for example, device model, app version, and processing time). These metrics contain no photos, faces, text from your photos, or analysis results. See Google's ML Kit data disclosure at https://developers.google.com/ml-kit/android-data-disclosure.
Network reachability check
The Network screen checks whether the internet is reachable by sending a reachability probe to Google Public DNS (8.8.8.8). Like any network request, this reveals your device's IP address to Google. It carries no other data.
What leaves your device
1. AI-written tips (CleanSnap Pro, optional)
Several Pro features can show a short, AI-written tip: Cleanup Coach, the Permissions Audit summary, Storage Forecast, and "Ask to clean". When this happens, the app sends the following to the CleanSnap API (operated by Trudi I.T. Solutions):
- Counts measured on your device, for example the number of duplicates, megabytes of junk, number of blurry photos, number of high-risk apps, days until storage is full, and percent of storage used.
- Short labels: the name of your largest storage category (for example "Videos") and the names of common Android permissions (for example "CAMERA").
- For "Ask CleanSnap" (Ask to clean) only: the request you type (up to 200 characters) and nothing else. No photos, videos, file names, dates, sizes, counts, or lists of your media are sent. The server returns a search filter (for example "photos, blurry, from 2023"); the app applies it to your library on your device and shows you the matches to review. If our server is unavailable, the request is understood on your device instead and nothing is sent.
- A random install ID created by the app. It is not tied to your name, Google account, or hardware identifiers. It is used only to limit how often one install can make requests.
Our server turns this information into a prompt and sends it to xAI's Grok API to generate the tip. xAI processes it as our service provider under the xAI API terms. No photos, file names, contact details, or app names are sent. If the CleanSnap API is unavailable, the app shows a built-in tip instead.
2. Subscription verification
When you buy or restore CleanSnap Pro, the app sends the subscription product ID, the Google Play purchase token, and the random install ID to the CleanSnap API. Our server checks the purchase with the Google Play Developer API and acknowledges it. Google Play handles the payment itself under Google's privacy policy. We do not receive your name, email address, or payment details.
3. Reports about AI tips (optional)
Under each AI-written tip there is a Report link. If you use it, the app sends the CleanSnap API the tip text as shown, the reason you picked, the note you type (optional, up to 500 characters), the app version, a random report ID, and the random install ID (the install ID is used only for rate limiting and is not kept with the report). We use reports to review problem tips and improve how tips are written. If the CleanSnap API can't be reached, the report is saved on your device (excluded from backups) and sent automatically later, or you can choose to send it by email from your own email app to [email protected].
4. Crash reports (optional, off by default)
CleanSnap includes Google Firebase Crashlytics, but it collects nothing until you turn on Settings > Share crash reports. New installs and updated installs start with it off. When it is on and the app crashes or hits a serious error, the app sends Crashlytics:
- Technical crash details: the stack trace (which part of the app's code failed), the time of the crash, and the app version.
- Device and system details: device model and manufacturer, Android version, orientation, free memory and storage, and whether the device is rooted.
- A Crashlytics installation ID, a random ID created by the Firebase SDK on your device to group reports from the same install. It is not your name, Google account, advertising ID, or a hardware identifier.
Crash reports do not include your photos, videos, contacts, vault files, or text from your photos. We use them only to find and fix bugs. Crashlytics keeps crash reports for 90 days. If you turn the setting off, the app stops sending reports and deletes any reports on your device that were not yet sent. Settings > Clear all data also turns it off. Google processes crash reports as our service provider under the Firebase terms; see https://firebase.google.com/support/privacy.
How we handle data on our server
- All traffic uses HTTPS.
- We do not store tip requests, typed requests, AI responses, or purchase tokens. We process them to answer the request, then discard them.
- AI tip reports are the exception: we keep each report (tip text, reason, note, app version, report ID; no install ID or IP address) in our server logs, and may forward it to our internal review tool, only as long as needed to review it and for no longer than 180 days.
- To prevent abuse, the server keeps short-lived rate-limit counters in memory, keyed by the install ID and IP address. They are not written to disk and are lost when the server restarts.
- Apart from AI tip reports, our server's logs record only the endpoint, response status, and timing. They do not record request content, install IDs, IP addresses, or keys. The CleanSnap API runs on a cloud container host (for example, DigitalOcean). Our hosting provider may keep its own standard network logs, such as IP addresses, under its own terms.
Sharing
We do not sell your data and do not share it with third parties for advertising. The only third parties involved are the service providers described above: xAI (Grok API), Google (Google Play and Firebase Crashlytics if you turn on crash reports) and our hosting provider. They act on our behalf.
Backups
If Android backup is turned on, Android may back up CleanSnap's settings to your Google account. Secure Vault contents, vault keys, and other sensitive app data are excluded from cloud backups and device-to-device transfers.
Retention and deletion
- On your device: data stays until you delete it. Settings > Clear all data removes scan results, cache, and preferences. Uninstalling CleanSnap removes all app data, including the vault. Export anything you want to keep first.
- On our server: we do not store tip requests, typed requests, AI responses, or purchase tokens. AI tip reports you send are kept for no longer than 180 days, without your install ID or IP address. Rate-limit counters keyed by install ID and IP address are held only in memory and are lost when the server restarts. You can email [email protected] to ask us to delete a report or with any other privacy request, and we will respond within 30 days.
- Crash reports: if you turned them on, Crashlytics keeps each report for 90 days. Turning the setting off stops new reports. To ask us to delete reports already sent, email [email protected] with the approximate date.
- Subscriptions: manage or cancel them in Google Play > Payments & subscriptions.
Philippine users: Data Privacy Act of 2012 (RA 10173)
CleanSnap is designed to respect the Philippine Data Privacy Act of 2012 (Republic Act No. 10173) and its implementing rules.
- Personal information controller: Trudi I.T. Solutions is the personal information controller for the limited data our server receives: the random install ID, counts and short labels, your typed "Ask CleanSnap" request, subscription verification details, AI tip reports you choose to send, and crash reports if you turn them on. See the Contact section below for our email and address.
- Purpose: we use this data only to provide Pro AI features, to verify subscriptions, to limit abuse, to review reported tips, and (only if you opt in) to fix crashes.
- Lawful basis (RA 10173, Sec. 12): your consent for optional Pro AI features and AI tip reports; what is necessary to fulfill your paid subscription for subscription verification; and our legitimate interests for abuse limits; and your consent for crash reports, which you give by turning on Settings > Share crash reports and can withdraw by turning it off.
- Retention: we do not store tip requests, typed requests, AI responses, or purchase tokens. We keep AI tip reports (without install ID or IP address) for no longer than 180 days. Rate-limit counters are held only in memory. Crash reports, if you turn them on, are kept by Crashlytics for 90 days.
- On your device: your photos, videos, contacts, app list, and vault files stay on your device and are not sent to us.
- Service providers and cross-border processing: xAI processes data as our service provider for the Grok API. Google handles payments as Google Play and processes crash reports through Firebase Crashlytics if you turn them on. xAI, Google, and our hosting provider may process data outside the Philippines, for example in Singapore or the United States, under agreements that require appropriate protection of that data.
Under RA 10173 you have the right to:
- Be informed about whether and how your personal data is processed.
- Access the personal data we hold about you.
- Correct inaccurate or incomplete personal data.
- Object to processing, including withdrawing consent, for example by turning off Pro AI features or crash reports.
- Erase or block personal data that is unlawfully obtained, no longer needed, or processed against your wishes.
- Data portability, to get your personal data in a commonly used electronic format.
- Damages for harm caused by inaccurate, incomplete, outdated, false, or unlawfully obtained data, or by unauthorized use.
- File a complaint with the National Privacy Commission (https://privacy.gov.ph).
To exercise these rights, email our privacy contact at [email protected]. Because our server does not link stored data to your name or account (AI tip reports are kept without install ID or IP address), please include the date and a short description of the request (and the report text for an AI tip report) so we can find any related records. We will respond within 30 days.
Children
CleanSnap is not directed at children under 13, and we do not knowingly collect personal information from children.
Security
Vault files are encrypted with AES-256-GCM using keys protected by your PIN and the Android Keystore. Network traffic to our server is encrypted with HTTPS. No method of storage or transmission is perfectly secure, but we design CleanSnap to keep your data on your device whenever possible.
Changes to this policy
If this policy changes, we will update the effective date above and, for significant changes, tell you in the app or in the Google Play listing.
Contact
Trudi I.T. Solutions Makati City, Metro Manila, Philippines Email: [email protected]
Clutter Sorter (on-device). Photos are sorted into screenshots, receipts, memes, documents and whiteboards on your device using ML Kit text recognition and image labeling. Nothing is uploaded. Archiving moves files to Pictures/CleanSnap Archive only after you approve Android's permission dialog.
Compression Advisor (on-device, Pro). To recommend compression, CleanSnap re-encodes a small sample of your largest photos in memory and compares them with the originals (SSIM) on your device. Nothing is uploaded or saved, and nothing changes until you choose to compress.
Chat Media Cleanup (on-device, Pro). CleanSnap finds WhatsApp, Telegram, Viber and Messenger photos and videos through Android's media library and checks for identical copies by computing file fingerprints (SHA-256) on your device. Nothing is uploaded, and no extra storage permission is used.
Similar photo grouping (on-device, Smart Delete). To find shots of the same moment, CleanSnap reads the time and, when present, the GPS location stored in your photos, and computes an image fingerprint (embedding) with a small on-device model (MobileNetV3-small via Google MediaPipe). Embeddings and locations are used only during the scan on your phone; they are not uploaded or shared.