26.10.13 19:02
Privacy Policy for FastMediaSorter
Last updated: October 13, 2026
Overview
FastMediaSorter is a media manager and slideshow application for local, network, and cloud storage. We are committed to protecting your privacy and operating transparently.
Data Collection and Storage
What Data We Access
FastMediaSorter accesses the following data only on your device and configured storage:
- Local Storage
- Photos, videos, audio files on device and SD cards
- Used only for displaying, sorting, and organizing media
- Network Storage (Optional - User Configured)
- SMB/CIFS, SFTP, FTP server credentials you provide
- File metadata from network shares
- Direct connections from your device to your servers
- Cloud Storage (Optional - Google Drive, OneDrive, Dropbox)
- File metadata: names, sizes, thumbnails, modification dates
- Account email (for authentication display)
- Limited to folders you explicitly select
- OAuth tokens for authenticated access
- Location (Optional - map gadgets and Network Monitor)
- A GNSS track only while you turn on its separate setting and keep the Monitor’s Satellites screen open
- Stored on your device; it does not start in the background or leave the app unless you explicitly share its file
- The desktop map gadgets turn your position into a map-tile address and ask an online map service for the picture of that tile, and ask Android for the name of the place. That is the only case where your position leaves the device; it is used for the request and not stored by us
What We Store Locally
All data stored in app’s private, encrypted storage:
- Connection settings: server addresses, paths, credentials (encrypted)
- User preferences: language, sort order, playback settings
- Thumbnail cache: temporary images for faster loading
- Database: resource configurations, file metadata cache
What We DO NOT Collect or Share
- ❌ No analytics or usage tracking
- ❌ No advertising data
- ❌ No behavioral tracking
- ❌ No background location tracking
- ❌ No personal information (names, emails, phone numbers)
- ❌ No servers: Your data never goes to our servers (we don’t have any)
- ❌ No third-party data sharing
What the App Counts on Your Device
“No analytics” above means nothing is sent anywhere. The app does keep a few numbers for you, on your device only:
- Always: when it first ran, which app version and edition was installed then, and how many times it has been opened. Four values, and they never leave the device.
- Only if you turn on statistics: totals of what you did with the app - files copied, moved, deleted or renamed, photos taken, minutes watched or listened to, and similar counts. Plain numbers, no file names and no history of individual actions.
- Turning statistics off deletes those totals, and the statistics screen disappears with them. The four values above stay.
- Nothing is ever sent on its own. The statistics screen has a “send to author” button; the report is written for you to read, and it is your email app that sends it, only when you press send. It carries the app version, edition, your device model and Android version, and no identifier of you.
- Nothing links one session to another: no user id, no device id, no install id.
Logging and Debug Files
- In DEBUG builds the app may optionally write diagnostic logs to a file in the app-specific external storage directory to help troubleshooting when ADB is not available.
- Location (example):/Android/data/com.sza.fastmediasorter.debug/files/logs/on the device storage.
- These log files may include timestamps, log levels, component tags, and messages produced by the app and may include non-sensitive metadata such as file names and server addresses used by the app during operation.
- Logs do NOT contain stored passwords in plaintext (sensitive credentials are handled using secure storage).
- File logging is only enabled in debug builds and can be disabled by using the release build or by changing debug settings.
Cloud Storage Integration (Google Drive, OneDrive, Dropbox)
When you connect cloud storage (optional):
Authentication
- Uses OAuth 2.0 for secure sign-in (Google, Microsoft, Dropbox)
- You control which folders the app can access
- Tokens stored encrypted on your device only
What We Access
- File metadata: names, sizes, thumbnails, modification dates
- File content: only when you view/copy/move files
- Your email address: displayed in UI for account identification
What We DON’T Do
- ❌ Access files outside folders you select
- ❌ Share your cloud data with anyone
- ❌ Upload your data to our servers
- ❌ Scan your entire cloud storage
- ❌ Access other cloud services of that account (Gmail, Google Contacts, Calendar, etc.) - the optional on-device contacts permission below is separate and never reaches your cloud account
Data Usage
- Thumbnails cached locally for performance
- File operations happen directly: Device ↔ Cloud Provider
- No intermediary servers or proxies
Revoking Access
Disconnect anytime:
- In app: Settings → Cloud Resources → Sign Out
- Google Account: Manage Permissions
- Microsoft Account: App Permissions
- Dropbox: Connected Apps
Provider Privacy Policies
Cloud access is subject to each provider’s privacy policy:
Google User Data
This section describes exactly what FastMediaSorter does with data it receives from your Google Account when you sign in to Google Drive. It applies to every edition of the app that offers Google Drive.
Limited Use disclosure
FastMediaSorter’s use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements.
Permissions the app asks Google for, and why
- See, edit, create and delete your Google Drive files (
drive): FastMediaSorter is a file manager. You pick any folder of your Drive, and the app lists it, shows its photos, videos, audio and documents, and copies, moves, renames or deletes the files you choose. It also saves the backup file you create in Settings to the folder My Drive / FastMediaSorter. A narrower permission cannot do this, because it would let the app see only files it created itself or files you pick one by one. - See and download your Google Drive files (
drive.readonly): used to fetch preview pictures (thumbnails) of the files in the folder you are looking at. - The app’s own hidden folder in your Drive (
drive.appdata): a private space that only FastMediaSorter and its companion apps can read. It holds files you send from one of your devices to another, until the other device accepts them, and the small records your devices use to find each other. You cannot see this folder in Drive, and no other app can read it. - Your email address, name and profile picture (
email,profile,openid): shown on the Settings card so you can see which Google Account is connected.
What the app does with this data
- It reads only what you open: the folders you browse and the files you view, copy, move, rename, delete or back up. The permission covers your whole Drive because you may open any folder, but the app never scans, indexes or reads folders you have not opened.
- Every action is started by you, either directly or as a scheduled operation you set up yourself. Apart from those, the app only checks the hidden app folder described above for files and records sent between your devices.
- Google user data is used only to provide these features inside the app. It is not used for advertising, it is not sold, and it is not used to build user profiles.
- Google user data is not used to train or improve any artificial intelligence or machine learning model.
- No person reads your Google user data. The developer has no access to it at all.
Where it is stored
- File contents, file names, folder lists and thumbnails go directly between your device and Google’s servers over an encrypted (HTTPS) connection. The developer runs no server, and no proxy or third party sits in between.
- On your device the app keeps the sign-in token in encrypted storage, cached thumbnails and a cache of file names and sizes of the folders you opened, all inside the app’s private storage.
- Copies of files you download or move to your device are saved where you chose to put them.
Sharing
- Google user data is never sent to the developer and is never shared with, transferred to or sold to anyone.
- The only exception is a file you send yourself: when you share a file to another app, the file goes to the app you picked, and only that file.
Keeping and deleting it
- The sign-in token is kept until you sign out in Settings, remove the app’s access in your Google Account, or uninstall the app. Each of these deletes it.
- Cached thumbnails and file lists are deleted by Settings -> Clear Cache or by uninstalling the app.
- Files in the hidden app folder are deleted when the receiving device accepts them. You can delete the whole hidden folder at any time in Google Drive on the web: Settings -> Manage apps -> FastMediaSorter -> Options -> Delete hidden app data.
- Removing the app’s access at Manage Permissions stops all further access at once.
- To ask a question or request help with deleting data, write to sza@ukr.net.
Network Access
Local Network (SMB/SFTP/FTP)
- Direct connections from device to your servers
- Credentials encrypted using Android Keystore
- No intermediary services or proxies
- Data never leaves your local network
Internet Usage
- Google Drive API: only for authenticated access to your files
- External IP check: only after you ask for it, the Network Monitor contacts a third-party IP-echo service that can see your request address; the result is shown on screen and is not automatically saved
- On-device translation, in editions that offer it: turning on Enable Translation downloads the Translation Module extension once, and picking a new target language downloads that language’s model from Google’s ML Kit servers. The download carries none of the text you translate; recognized text, PDF pages and EPUB chapters are then translated on the phone and are not sent anywhere
- No telemetry, analytics, or tracking servers
- All operations are user-initiated
Permissions Explained
This section lists everything the app can ask you about - each permission granted through a system dialog or through a dedicated system screen. Permissions granted silently at install, which you are never asked about (network access, vibration, keeping the screen awake, foreground service types), are not listed.
Your build may show fewer of these than the list: a permission appears only when the feature behind it exists in that build, and Settings > Permissions always shows exactly the ones your build can ask for.
Storage
READ_EXTERNAL_STORAGE: Find and show media files on the device (Android 6-12)WRITE_EXTERNAL_STORAGE: Move and delete files you sort (Android 6-9)READ_MEDIA_IMAGES/READ_MEDIA_VIDEO/READ_MEDIA_AUDIO: The same access, split by media type (Android 13+)MANAGE_EXTERNAL_STORAGE: Optional. Granted on a system screen. Lets you pick any folder, including DCIM, Camera and app folders such as Android/media, instead of only Documents, Downloads and PicturesMANAGE_MEDIA: Optional. Granted on a system screen. Lets media moves and deletions go through without a separate confirmation each time (Android 12+)
Network
ACCESS_LOCAL_NETWORK: Optional. Reach SMB, SFTP, FTP and DLNA servers on your own network, and find them by looking for devices on it. Android introduces this permission in a release later than any shipped today, so no current Android version asks you for it
Camera, microphone and location
CAMERA: Optional. Shoot photos and video inside the app, recognize text, and scan a companion QR codeRECORD_AUDIO: Optional. Record voice notes and the sound in a screen recordingACCESS_FINE_LOCATION/ACCESS_COARSE_LOCATION: Optional. Five features read it. It writes coordinates into the photos and videos you shoot in the app; on the launcher desktop, it gives the compass, speed and chart gadgets your speed and altitude while one of those tiles is on screen; also on the desktop, the map gadgets draw the map around you; and the Network Monitor can record a GNSS track only while its Satellites screen is open and you turned on the separate track setting. The fifth is the name of the Wi-Fi network you are connected to, shown in the Monitor’s Wi-Fi section: Android treats that name as location data and hides it from every app without this permission, so the row says why instead of showing it. Position is never read in the background. All of it stays on this device except the map gadgets: to draw the map they ask an online map service for a picture of your area, and ask Android for the name of the place. Nothing else is sent anywhere unless you explicitly share a track file, and none of it goes to a server of ours - we have none. Denying it leaves captures without coordinates and those tiles idle with a message saying so
Notifications
POST_NOTIFICATIONS: Optional. Show playback, transfer and recording progress, and the notification that carries their stop control (Android 13+). On the watch it also keeps a running stopwatch visible on the watch face and in recent apps; the watch asks for it when you first start the stopwatch, and denying it leaves the stopwatch working without that indicator
System
SYSTEM_ALERT_WINDOW: Optional. Granted on a system screen. Draw the edge-gesture strip over other appsREQUEST_IGNORE_BATTERY_OPTIMIZATIONS: Optional. Granted on a system screen. Keep scheduled operations running on time instead of being paused in the backgroundREQUEST_INSTALL_PACKAGES: Optional. Granted on a system screen. Install an APK file you opened from a browsed folder. Present only in the build without legal restrictionsREQUEST_DELETE_PACKAGES: Hand an app you picked in the launcher’s app menu to the system uninstall screen. Android shows its own confirmation there and removes the app itself - this app deletes nothing on its own, reads nothing about your other apps beyond the name and icon already shown in the list, stores nothing and sends nothing anywhere. Present only in the builds that have launcher mode- Screen capture consent: asked again by the system every time a screen recording starts, so it cannot be granted in advance. The app declares
FOREGROUND_SERVICE_MEDIA_PROJECTIONto keep the recording alive while it runs READ_PHONE_STATE: Optional. Show the SIM signal level in the launcher’s own status area. The level is read on the device and never leaves it - nothing is stored, sent, or shared. Denying it hides both SIM indicators and changes nothing elseBIND_NOTIFICATION_LISTENER_SERVICE: Optional. Turned on by you on a system screen. Serves two features of the launcher desktop, and nothing else. First, the Now Playing gadget shows and controls what other apps are playing, reading media sessions only. Second, if you switch it on yourself in the launcher settings, the top bar shows one icon per app that currently has notifications waiting, together with how many it has - the app reads which application posted a notification and how many are pending, never their title, text, attachments or actions. Both features are off until you turn them on, nothing about a notification is written to storage, and nothing leaves the deviceREAD_CONTACTS: Optional. Show the current name and photo of the one contact you pinned on the launcher and, when you pin a shortcut that opens a messenger, find that person’s chat in the messenger you chose. The app never lists or searches your address book and reads nothing else through this permission. Pinning a contact card, a call or an SMS works without it, and so does a messenger shortcut pinned earlier; a new messenger shortcut cannot be pinned without it. Denying it keeps the name saved with the pin and a plain initial in place of the photo. The name and photo are read on demand, kept only in memory and never sent anywhereACTIVITY_RECOGNITION: Optional. Asked only when you add the steps gadget to the launcher desktop. The count comes from the counter your phone already keeps, is read only while the tile is on screen, and is neither stored by the app nor sent anywhere. Denying it leaves the tile idle with a message saying so
Data Security
Encryption
- Network credentials encrypted using Android Keystore
- OAuth tokens stored in encrypted preferences
- Database protected by Android app sandbox
- HTTPS/TLS for all cloud connections
Access Control
- No remote access to your data
- Each resource requires explicit user configuration
- Permissions follow Android security model
Data Isolation
- App data isolated from other apps
- No cross-app data sharing
- Uninstalling removes all app data permanently
Your Rights and Control
You have full control over your data:
Access
- View all configured resources in Settings
- Check cached thumbnails size
Modify
- Edit or remove resources anytime
- Change credentials, paths, settings
- Update cloud folder selections
Delete
- Clear Cache: Settings → Clear Cache (removes thumbnails)
- Remove Credentials: Delete resources in Settings
- Full Removal: Uninstall app (removes all data)
- Revoke Cloud Access: Sign out or use Google Account settings
Export/Backup
- Backup is a JSON file you create on demand in Settings -> Backup
- You choose where it goes: a local file on your device, or your own Google Drive (folder My Drive / FastMediaSorter)
- The Google Drive copy is uploaded only when you start it; there is no automatic cloud sync
- The backup holds your settings and resources, including network passwords, SSH private keys, the default network password and saved website sign-ins (cookies), stored in plain text - keep the file private and do not share it
- Restore it on the same or a new device from the same screen
- The backup never reaches the developer
- A contact you pinned on the launcher is saved on the device with its name, phone number and messenger identifier, as part of the launcher data. That copy travels with your own backup file, with Android’s own backup and device transfer when you have them switched on in the phone settings, and with the settings transfer between your devices. None of it is sent to the developer or to any third party
Third-Party Services and Libraries
Google Services
- Google Drive API: File access in folders you select
- Google Sign-In: OAuth 2.0 authentication
- ML Kit Translation: translation on the device; Google’s servers supply only the language models, the text you translate stays on the phone
- Subject to Google API Services User Data Policy
Open-Source Libraries
The app uses open-source libraries for functionality (not data collection):
- SMBJ: SMB/CIFS network protocol
- JSch: SFTP protocol
- Apache Commons Net: FTP protocol
- BouncyCastle: Cryptography
- Glide: Image loading and caching
- Room: Local database
- Hilt/Dagger: Dependency injection
- Timber: Logging (debug builds only)
None of these libraries collect or transmit user data.
Debug Logging (Debug Builds Only)
Debug builds may write diagnostic logs:
- Location:
/Android/data/com.sza.fastmediasorter.debug/files/logs/ - Content: Timestamps, component tags, error messages, file names
- NOT included: Passwords, credentials, file content
- Release builds: No file logging
Data Retention
- Local cache: Until cleared or uninstalled
- Credentials: Until resource removed
- OAuth tokens: Until revoked via Google Account
- No server data: We don’t operate servers
International Users
FastMediaSorter available globally. All data processing occurs:
- On your device
- On your configured servers
- In your cloud accounts (if connected)
No data transferred to external servers.
This Website
The app and its website are separate, and everything above is about the app. The website is a set of static pages served by GitHub Pages; we run no server behind it and keep no data about visitors. When you open a page, your browser contacts the addresses below on its own. Each one receives what any web request carries - your IP address, your browser’s name and version, and the address of the page you came from - and handles it under its own privacy policy.
- fonts.googleapis.com and fonts.gstatic.com (Google Fonts), on every page: they deliver the typefaces the pages are set in.
- pagead2.googlesyndication.com (Google AdSense), on the landing pages only - the home page and its language versions: it shows an advertisement. While the page runs, the ad script contacts further Google addresses on its own: ep1.adtrafficquality.google and ep2.adtrafficquality.google check the ad traffic for invalid clicks and impressions, and fundingchoicesmessages.google.com shows the consent message for advertising cookies and keeps your choice. They receive the same request data, the page address and Google’s advertising cookies - the consent address also receives the choice you make. The ad script may use cookies. Third-party vendors, including Google, use cookies to serve ads based on your earlier visits to this and other websites. You can turn off personalised advertising in Google Ads Settings, and How Google uses information from sites that use its services explains the rest. No other page carries advertising: the documentation, the install-trust pages and this privacy page never load it.
- api.github.com (GitHub), on the landing and sideload pages: the page asks it for the list of published releases, so the download buttons point at the latest build.
- img.shields.io, gitlab.com and raw.githubusercontent.com, on the README pages: they serve the version and licence badges, the IzzyOnDroid badge and the GitHub Store badge.
GitHub Pages, as the host, receives every page request (GitHub Privacy Statement). The website runs no analytics or tracking script of its own. It keeps two values in your browser - the theme and the language you picked - and they never leave it.
To avoid these requests, block third-party fonts or scripts in your browser. The pages still open: the text falls back to a system typeface, the advertisement does not load, and the download buttons keep the link to the list of all releases.
Children’s Privacy
FastMediaSorter does not knowingly collect information from children under 13. The app is designed for general media management and does not target children.
Compliance
This app complies with:
- Google Play Developer Program Policies
- Google API Services User Data Policy
- Android Security Best Practices
- GDPR Principles: Data minimization, user control, transparency
Changes to This Policy
We may update this Privacy Policy periodically. Changes reflected in:
- Updated “Last updated” date
- Published in app repository
- Notification in app update notes (for major changes)
Continued use after changes constitutes acceptance.
Open Source
FastMediaSorter is open source. Review our code:
- Repository: https://github.com/SerZhyAle/FastMediaSorter_mob_v2
- License: [Project License]
Contact
For privacy questions or concerns:
- Website: https://serzhyale.github.io/FastMediaSorter_mob_v2/
- GitHub Issues: https://github.com/SerZhyAle/FastMediaSorter_mob_v2/issues
- Email: sza@ukr.net
Summary (Plain English)
What this means:
- ✅ Your files stay where they are (device/servers/cloud)
- ✅ Passwords stored encrypted on your device
- ✅ Google Drive: only folders you choose
- ✅ The app has no tracking, no ads, no analytics (the website’s landing pages show an ad - see “This Website”)
- ✅ Uninstall = all data gone
- ✅ You control everything
We don’t:
- ❌ Have servers to store your data
- ❌ Sell or share your information
- ❌ Track your behavior
- ❌ Access more than you allow
Consent
By using FastMediaSorter you acknowledge and consent to this Privacy Policy.
This privacy policy is effective as of November 30, 2025.