This Privacy Policy describes how WiFi File Transfer: FTP Server ("the App", "we", "our") handles information when you use the App on your Android device. We are committed to being fully transparent โ this policy is written in plain language, not legal boilerplate.
WiFi File Transfer: FTP Server is an independent Android application published by HiveCrawl Studio.
If you have any questions about this policy, you can contact us at:
Email:
hivecrawlstudio@gmail.com
WiFi File Transfer: FTP Server turns your Android device into a local file server and a device-to-device transfer tool. All of its features work over your local Wi-Fi network only.
When the server is running, other devices on the same Wi-Fi network can connect to browse,
download, and upload files โ using either an FTP client application or a standard web browser.
The App also includes a built-in browser tab (an Android WebView) that simply opens the App's
own server page at http://127.0.0.1 on your device. It does not browse the internet.
The App can receive files shared from other apps on your device via the Android share sheet. Shared files are held in memory and made available as temporary download links on your local network only; they are never written to persistent storage and are cleared as soon as the transfer completes or the App is closed.
Clone copies content from one phone to another over the same Wi-Fi network โ directly, phone to phone, with no cloud step and no server of ours in between. You pick which of these buckets to send: Photos, Videos, Audio, Documents, Apps, and Contacts. Nothing is scanned or sent until you select a bucket and start a transfer, and the two phones must first be paired (see section 2.4).
Clone/Apps folder, and installing
them is entirely up to you, from your own file manager.contacts.vcf) in the App's private cache, sent to the receiving phone, then
deleted from the cache. Call logs and SMS are never read.Clone folder on the receiving device's storage.
Device Link lets two phones running the App find each other on the same Wi-Fi network and, once
paired, browse and pull files from each other. Discovery uses Android's built-in mDNS
(NsdManager) and advertises only the device model name and a short certificate
fingerprint on the local network โ never file names or file contents.
So that Windows "Network" and similar file explorers can see your phone, the App advertises the
server over SSDP/UPnP on the local network. The advertisement contains the device name you see
in the App, the server URL, and a stable identifier (a UUID derived by hashing Android's
ANDROID_ID so the same phone keeps the same entry between restarts). This
advertisement is broadcast on your local network only and is never sent to us or to any
third party. It stops when the server stops.
Automation apps such as Tasker or MacroDroid can send broadcast intents to start or stop the server. No data is exchanged in these intents beyond the start/stop command itself.
We do not collect, store, transmit, or have access to any of the following:
The App stores the following settings locally on your device using Android's DataStore, plus two small app-private files used by Device Link. None of this data ever leaves your device:
| Item | Purpose | Leaves Your Device? |
|---|---|---|
| FTP port number | Configures which port the FTP server listens on | No |
| FTP username & password | Authenticates FTP and browser connections on your local network | No |
| Anonymous access toggle | Controls whether unauthenticated connections are allowed | No |
| Home directory path | The folder on your device that is shared over the network | No |
| HTTP browser toggle & port | Enables browser-based file access and sets its port | No |
| FTPS (TLS) toggle | Enables encrypted FTP connections | No |
| Auto-start on boot toggle | Controls whether the server starts when the device restarts | No |
| Auto-start on Wi-Fi / auto-stop on disconnect toggles | Starts or stops the server with Wi-Fi state | No |
| Write permission toggle | Controls whether clients can upload or delete files | No |
| Additional user accounts | Usernames, passwords, and per-user permissions for extra FTP accounts | No |
| Theme preference | Light / dark / system appearance | No |
| Preferred open protocol | Whether network links open as FTP or HTTP | No |
| Max concurrent transfers | Limits simultaneous downloads for stability | No |
| Clone tips shown / tab seen flags | Remembers that first-run tips were already displayed | No |
| Link discoverable toggle | Controls whether this phone announces itself to paired devices | No |
| Link browsing allowed toggle | Controls whether a paired phone may browse this one | No |
| Link trust list (JSON file, app-private) | Remembers paired devices: name, model, certificate fingerprint | No |
| Link identity keystore (PKCS#12, app-private) | The self-signed TLS certificate and key used to encrypt Link connections | No |
These settings are explicitly excluded from Android cloud backup
(as declared in backup_rules.xml) and from device-to-device transfer
(as declared in data_extraction_rules.xml). They are never sent to Google
or any other service.
Transfer logs (file name, client IP address, file size, timestamp) are kept in memory only for display in the Logs tab. They are cleared when the App is closed or when you tap "Clear". They are never written to persistent storage and never transmitted anywhere.
The App requests the following Android permissions. Here is exactly why each is needed:
| Permission | Why It Is Needed |
|---|---|
INTERNET |
Required to open server sockets that accept connections from other devices on your local Wi-Fi network, and to reach Google Play for the in-app update check (section 7). It is not used to send your data anywhere. |
ACCESS_WIFI_STATEACCESS_NETWORK_STATE |
Used to read your device's local IP address so it can be displayed in the
app (e.g. ftp://192.168.1.5:2221) and to start or stop the server
when Wi-Fi connects or disconnects.
|
CHANGE_WIFI_MULTICAST_STATE |
Holds a multicast lock so SSDP/UPnP announcements and mDNS device discovery can be sent and received on your local network. Multicast is local-only traffic. |
READ_EXTERNAL_STORAGE (Android 12L and below)WRITE_EXTERNAL_STORAGE (Android 10 and below)MANAGE_EXTERNAL_STORAGE (Android 11+) |
Required to read and serve your files over FTP and HTTP, to save uploaded files, and to read and write files during a Clone or Link transfer. Without storage access, the App cannot function. Files are only accessed when a transfer you started requires them. No files are sent to any external server. |
READ_CONTACTS |
Requested only when you choose the Contacts bucket in Clone. It is used to export your address book to a vCard file that is sent to the phone you are cloning to, and nowhere else. If you never use that bucket, the permission is never requested and your contacts are never read. Declining it leaves every other feature working. |
CAMERA |
Optional. Used only to scan the pairing QR code shown on the other phone's screen. The camera preview is decoded on-device in real time; no photo or video is saved, stored, or transmitted. Pairing can also be completed without the camera by typing the on-screen code. |
FOREGROUND_SERVICEFOREGROUND_SERVICE_CONNECTED_DEVICEFOREGROUND_SERVICE_DATA_SYNC |
The file server and Device Link run as a connected-device foreground service; a Clone transfer runs as a data-sync foreground service because it can take tens of minutes. A persistent notification is shown while either is running, as required by Android. |
WAKE_LOCK |
Keeps the CPU awake during a long Clone transfer so a copy does not stall when the screen turns off. Released as soon as the transfer ends. |
RECEIVE_BOOT_COMPLETED |
Only used if you enable the "Auto-start on Boot" setting. When enabled, the App listens for the device boot event to start the server automatically. If this setting is disabled, this permission is not used. |
POST_NOTIFICATIONS |
Required on Android 13 and above to show the foreground service and transfer progress notifications. |
The App requires broad storage access (MANAGE_EXTERNAL_STORAGE on Android 11+)
because its core function is to serve and transfer your files. Specifically:
Essentially all network communication of this App is strictly between your Android device and other devices on your local network only: FTP, HTTP, Clone, Device Link, SSDP/UPnP, and mDNS traffic never leaves your Wi-Fi.
The only exceptions, listed in full:
Beyond those, the App does not connect to any server operated by us or any third party, and sends no telemetry, analytics, or diagnostic data.
The App uses the following third-party components:
Apache FTP Server (Apache MINA)
Used to implement the FTP server protocol.
License: Apache License 2.0
Does not collect any data and has no network connectivity of its own.
ZXing & ZXing Android Embedded
Used to generate the server/pairing QR codes and to decode a QR code from the camera preview.
License: Apache License 2.0
Operates entirely offline; camera frames are decoded in memory and discarded.
Bouncy Castle (bcpkix)
Used to generate the self-signed TLS certificates for FTPS and for Device Link.
License: MIT License
Certificate generation happens entirely on-device. No data is transmitted externally.
Google Play In-App Update Library (Play Core)
Used to offer you an update to the App from Google Play.
License: Android Software Development Kit License
This is the only component that communicates outside your local network. It communicates with
Google Play only, under
Google's Privacy Policy.
It does not give us any information about you.
AndroidX / Jetpack Compose & Instrument Sans / JetBrains Mono fonts
UI toolkit and typefaces bundled inside the App.
Licenses: Apache License 2.0 (AndroidX) and SIL Open Font License 1.1 (fonts)
Fonts are packaged in the APK; no font is fetched from the internet and no data is sent.
None of these components include advertising or analytics in this App. The App does not include Google AdMob, Firebase, Facebook SDK, or any other third-party tracking or advertising SDK.
We do not sell, rent, or share any user data โ because we never receive any. When you use Clone or Device Link, data moves directly from your phone to the other phone you selected and confirmed; it does not pass through us or any cloud service. You are the only party deciding what moves and to which device.
WiFi File Transfer: FTP Server does not collect any personal data from any user, including children under the age of 13. The App is a local network utility and has no user accounts, registration, or data collection of any kind.
The App operates on your local network, so your files are only reachable by devices connected to the same Wi-Fi network as your phone. Device Link connections are additionally encrypted with TLS and restricted to devices you have explicitly paired. We recommend:
If we update this Privacy Policy, we will post the new version at this URL and update the Effective Date at the top. Since the App does not collect any user contact information, we cannot notify users directly โ please check this page periodically if you have concerns.
If you have any questions or concerns about this Privacy Policy or the App's data practices, please contact us:
App Name: WiFi File Transfer: FTP Server
Package: com.hivecrawlstudio.wififtpserver
Developer: HiveCrawl Studio
Email: hivecrawlstudio@gmail.com