Skip to content

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:

  1. Local Storage
    • Photos, videos, audio files on device and SD cards
    • Used only for displaying, sorting, and organizing media
  2. 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
  3. 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
  4. 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:

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 Pictures
  • MANAGE_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 code
  • RECORD_AUDIO: Optional. Record voice notes and the sound in a screen recording
  • ACCESS_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 apps
  • REQUEST_IGNORE_BATTERY_OPTIMIZATIONS: Optional. Granted on a system screen. Keep scheduled operations running on time instead of being paused in the background
  • REQUEST_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 restrictions
  • REQUEST_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_PROJECTION to 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 else
  • BIND_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 device
  • READ_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 anywhere
  • ACTIVITY_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:

Contact

For privacy questions or concerns:

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

By using FastMediaSorter you acknowledge and consent to this Privacy Policy.

This privacy policy is effective as of November 30, 2025.