FerryFile Privacy Policy
Effective date: September 24, 2026
App: FerryFile for Android (ru.kryu.ferryfile)
Developer: Dmitry Kryushnikov
Contact: kryushnikov.d@gmail.com
IN SHORT
- FerryFile has no accounts, no advertising, no analytics and no crash reporting.
- Your files travel directly between your phone and a browser on your local network. The developer never receives your files or any information about how you use the app.
- You decide which folders are shared and when the server runs. Anyone who can reach your phone on the network and knows the current PIN can access the folders you chose to share, so keep the address and PIN to yourself.
1. About this policy
This policy explains how FerryFile for Android ("FerryFile", "the app") handles information. FerryFile turns your phone into a temporary local web server so that you can browse, download and upload files from a web browser on another device connected to the same network. In this policy, "the developer", "we" and "us" mean Dmitry Kryushnikov.
FerryFile does not require an account and does not operate any cloud storage or server that holds your data.
2. Information the app handles on your phone
To work, FerryFile handles the following information locally on your phone:
- Folders and files you choose in the Android system folder picker, including their names, paths, sizes, modification dates and contents. Purpose: listing the folders and transferring files. They stay in the folder you picked. A file is read only when a connected browser requests it, and it is streamed to that browser. FerryFile does not copy your files elsewhere.
- A temporary six-digit access PIN and a browser session token. Purpose: restricting access to the local server. They are kept in the app's memory only. A new PIN is generated when the server starts. Stopping the server ends all browser sessions.
- The network address of a device that connects to the server. Purpose: temporarily blocking a device after repeated wrong PIN attempts. It is kept in the app's memory only. It is not written to storage or sent anywhere.
- Your phone's own local network address. Purpose: showing the address you type into the browser. It is read from Android's network information and shown on screen. It is not sent anywhere.
- App settings: server port, theme, HTTPS on or off, and references to the folders you selected. Purpose: remembering your choices. They are stored on your phone in encrypted preferences (AndroidX Security library).
- A self-signed HTTPS certificate. Purpose: the optional HTTPS mode. It is generated on your phone and stored in the app's private storage.
- Technical error messages. Purpose: diagnosing failures such as an interrupted upload. They are written to Android's system log on your phone and may include a transfer identifier, a folder path and byte counts. They are not sent to the developer.
FerryFile does not have access to the rest of your phone's storage. It can only reach folders you explicitly select through the Android system picker.
3. Transfers between your phone and a browser
When you start the server, FerryFile shows an address and a PIN. A browser that can reach that address and enters the correct PIN may:
- view the names, details and contents of files in the folders you selected;
- download individual files, or ZIP archives of files and folders;
- upload files into a selected folder.
These transfers happen only between your phone and that browser, over your local network. Uploaded files are saved in the folder you selected and stay there until you delete them with another file manager. Downloaded files are saved by the browser in its own download location, which FerryFile does not control.
The web page served by the app
The web page that FerryFile serves to your browser is bundled inside the app. It does not load scripts, fonts, images or any other content from third-party servers. In the browser, it uses:
- one technical cookie named FERRYFILE_SESSION that keeps you signed in. It has no expiry date, so it is a session cookie. It is cleared when you log out and stops working when the server is stopped; and
- one entry in the browser's local storage, ferryfile-language, that remembers the language you chose for the page. It stays in your browser and is never sent to us.
HTTP and HTTPS
By default the connection uses plain HTTP, which does not encrypt traffic on your local network. Other devices on the same network may be able to observe it. You can turn on HTTPS in Settings. HTTPS uses a self-signed certificate generated on your phone, so your browser will show a certificate warning. Before you continue, compare the fingerprint the browser shows with the fingerprint shown in FerryFile.
4. What FerryFile does not do
- It has no user accounts and does not ask for your name, email address or phone number.
- It contains no advertising, analytics, crash-reporting or tracking software, and no social or third-party SDKs.
- It does not send your files, file names, logs, usage data, device identifiers, advertising ID or location to the developer or to any third party. Files are sent only to the browsers that you connect yourself, as described in section 3.
- It does not make network connections to the developer or to any third-party service. The only network traffic it creates is the traffic with browsers that you connect to your phone yourself.
- It does not sell or share personal information.
5. Permissions the app requests
- Internet (network access): lets the app run its local server and accept connections from your browser.
- Network state and Wi-Fi state: lets the app find your phone's local address so it can show you the address to open.
- Foreground service (data sync): keeps the server running reliably while a transfer is in progress, with a visible notification.
- Notifications: shows that notification, which includes a button to stop the server.
FerryFile does not request access to your location, contacts, camera, microphone, phone or SMS, and it does not request broad storage permissions.
6. Third parties
The developer does not share your information with any third party. Your files and their details go only to the browsers that you allow to connect by giving them the PIN.
FerryFile is built with open-source libraries: Android Jetpack, Kotlin, Ktor and Netty, Hilt and AndroidX Security. They run entirely inside the app on your phone to provide the interface, the local server, folder access and encrypted settings. They do not send data to the developer or to other parties.
If you install FerryFile from Google Play, Google handles that process under its own terms and privacy policy, available at https://policies.google.com/privacy. The developer does not receive personal information from Google Play about you beyond what Google Play makes available to all developers, such as aggregate install statistics.
7. Android backup
Android's backup and device-transfer features may include the app's private data, such as its settings, its references to selected folders and its locally generated HTTPS certificate. This is handled by Android and your Google account under your device settings. The developer has no access to it. Your files in the shared folders are not part of the app's private data.
8. Retention, control and deletion
FerryFile keeps no remote copy of your data, so there is nothing for the developer to retain or delete. On your phone and in your browser, you are in control:
- Stop the server (in the app or with the button in the notification) to invalidate the current PIN and end all browser sessions.
- Log out in the browser to end that browser's session and clear its session cookie.
- Remove a shared folder in Settings to delete the app's saved access to it. This does not delete the folder or its files.
- Clear the app's data or uninstall the app to remove its settings and its HTTPS certificate from your phone.
None of these actions deletes files that already exist in a shared folder or in your browser's download folder. You can delete those with a file manager or your browser.
9. Security
FerryFile limits access with Android's per-folder permissions, a random PIN that is valid only while the server is running, and a temporary block after repeated wrong PIN attempts. Its settings are stored in encrypted preferences.
No method of transfer over a local network is secure in every environment. To stay safe:
- run the server only on networks you trust;
- share only the folders you need, and keep the address and PIN private;
- turn on HTTPS when others may be on the network, and check the certificate fingerprint;
- stop the server when you finish.
10. Your rights
The developer does not collect or hold personal information about FerryFile users, so there is no personal data on our side to access, correct or delete. If you live in the European Economic Area, the United Kingdom, California or another place whose law gives you rights over your personal data, you may still contact us with any request or question, and we will answer it. FerryFile does not sell or share personal information as those terms are used in California law (CCPA/CPRA).
11. Children
FerryFile is a general-purpose file-transfer utility and is not directed to children. The developer does not knowingly collect personal information from anyone, including children.
12. Changes to this policy
We may update this policy when FerryFile's data practices change, for example if a future version adds a feature that involves a new service. When we make a material change, we will update the effective date at the top of this page and publish the new version at this address.
13. Contact
If you have a question about this policy or about privacy in FerryFile, email kryushnikov.d@gmail.com.