3. What we do not collect (as a rule)
To avoid misunderstanding:
- No accounts. You do not need to register, sign in, or give us a name, email address, or phone number to use core file-transfer features. We process contact details only if you email us.
- No ads and no in-app purchases. The App does not show ads, and we do not sell your personal data.
- No contacts, precise GPS location, camera, or microphone collection. The Android App does not request camera, microphone, contacts, fine/coarse location, Bluetooth, or nearby Wi‑Fi device permissions.
- We do not collect your list of installed apps. On Android, the “send app (APK)” feature reads installed apps on your device so you can pick a package to send. That list is not uploaded to our servers and is not sent to Firebase. An APK leaves your device only if you select it and send it to a peer you choose. See Section 5.
- We do not collect the contents of files or messages you transfer. Those travel between your device and the peer (or a browser on the same LAN). We cannot see them.
- We do not sell personal data.
4. Information we process
Some items below stay on your device or go only to a peer you choose. Those are generally not “collected” by DEEPTOKEN LLC onto our own servers. What we (or our processors) receive is described mainly in Sections 4.4 and 4.5.
4.1 Information stored only on your device
The App may store the following locally (for example in app preferences or private storage) so it can remember settings and complete transfers. This information is not sent to us by default.
| Type | Description |
|---|
| Device alias | The name shown to nearby devices; you can change it |
| Settings | Theme, language, port, multicast group, save path, receive PIN, quick save, HTTPS, checksums, network allow/deny lists, and similar options |
| Favorites | Aliases, fingerprints, and addresses of devices you favorite |
| Receive history | File names, sizes, sender alias, paths, timestamps; message history may include message text |
| Security material | A locally generated certificate, keys, and fingerprint used for mutual authentication and encryption |
| Window / UI state | For example desktop window placement, where applicable |
| Files you choose | Files waiting to be sent, or files you received, in a folder you pick, Downloads, or the gallery |
You can delete much of this data by changing settings, clearing history, clearing app storage, or uninstalling. Files already saved to the gallery or a folder you chose usually remain after uninstall.
4.2 Disclosure to LAN peers (when you share)
To be discovered and to complete a transfer you start or accept, the App discloses limited device information to peers on the same local network, and sends files after you confirm:
On discovery / register, this may include:
- device alias;
- protocol version;
- optional device model and device type;
- certificate fingerprint (used to recognize the device);
- port and protocol (HTTP / HTTPS);
- whether “share via link” / web receive is enabled.
On prepare-upload and transfer, this may include:
- the sender information above;
- file metadata: name, size, type, and optional checksum, preview, or timestamps;
- the file bytes or message text you confirm sending.
The person at the other device can see this information. We cannot control how they store or further share what you send. Send files only to devices you trust, and remember that photo EXIF data may include a capture location.
4.3 Share via link / receive via browser
You may create a link that works on the same local network so someone without AirFlash can upload or download selected content in a browser. This is served from your device, not from our cloud storage.
- The browser user may see your alias, the file list, and files you chose to share;
- you may set a PIN;
- if HTTPS is on, the browser may warn that the certificate is self-signed;
- we still do not receive those file contents.
4.4 Google Firebase (analytics and crash reporting)
We use Firebase Analytics (Google Analytics for Firebase) and Firebase Crashlytics to understand how the App is used and to diagnose crashes. Using the App may send the following to Google. The App does not currently offer an in-app switch to turn this off.
Firebase Analytics may process:
- events such as app opens, session duration, and feature use;
- device model, OS version, language, and app version;
- an anonymous or pseudonymous app instance identifier;
- IP address (Google may use it to infer an approximate region, such as country or city—not a GPS point);
- advertising identifiers (for example the Android Advertising ID / GAID): even though the App does not show ads, Firebase Analytics may read an advertising ID for analytics in its default configuration. We do not declare
AD_ID in the manifest for advertising, but we disclose this possibility.
Firebase Crashlytics may process:
- crash stack traces and related thread information;
- device model, OS version, and app version at crash time;
- breadcrumbs or similar diagnostic logs that help reproduce issues.
Processor and transfers: This data is processed by Google LLC and its affiliates and may be transferred to the United States or other locations where Google operates. See:
We use this data only to understand usage, improve the product, and fix crashes. We do not use Firebase data to show you third-party ads, and we do not sell it.
4.5 When you visit the Website or contact us
If you visit https://airflash.net or open it from the App, hosting or analytics infrastructure may record ordinary logs such as IP address, user agent, time, and the page requested. If the Website also uses Firebase / Google Analytics, that processing is similar to Section 4.4 and is subject to Google’s policies.
If you email developer@airflash.net, we process your email address, message, and any information you choose to include, so we can respond.
5. Android permissions and why we use them
The following permissions come from the App manifest and merged dependencies. A permission is not the same as collecting that data onto our servers. Most permissions are used only on the device to pick or save files, find LAN peers, or show transfer progress.
| Permission | Required? | Purpose |
|---|
Internet (INTERNET) | Yes (core) | LAN discovery and transfer; opening the Website when you choose; sending analytics and crash data to Firebase |
Read/write external storage (READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE) | When sending or saving files on older Android versions | Read files you pick; write received files |
Read images/video (READ_MEDIA_IMAGES, READ_MEDIA_VIDEO) | When picking media on Android 13+ | Let you choose photos and videos to send |
Access media location (ACCESS_MEDIA_LOCATION) | When picking some media | Read or preserve EXIF and similar metadata (which may include a capture location). We do not use this to build a location history |
Query all packages (QUERY_ALL_PACKAGES) | Only for “send app (APK)” | List installed apps on the device so you can pick one to send. We do not collect or upload the installed-app list, and we do not send it to Firebase |
Request install packages (REQUEST_INSTALL_PACKAGES) | Only if you open a received APK | Install or open a received package after system confirmation. Install software only from sources you trust |
Local network (ACCESS_LOCAL_NETWORK) | To discover nearby devices on newer Android versions | Allow local-network / multicast discovery and LAN transfer. This is not a GPS permission |
Foreground service / data-sync FGS (FOREGROUND_SERVICE, FOREGROUND_SERVICE_DATA_SYNC) | While receiving in the background | Keep the process alive during an incoming transfer |
Post notifications (POST_NOTIFICATIONS) | To show progress on Android 13+ | Transfer progress notifications |
Wake lock (WAKE_LOCK) | During transfers | Reduce the chance that sleep interrupts a transfer |
Network / Wi‑Fi state (ACCESS_NETWORK_STATE, ACCESS_WIFI_STATE) | For connectivity and local address | Detect connectivity and read the device’s LAN IP. Not used for precise geolocation |
Boot completed (RECEIVE_BOOT_COMPLETED) | Declared by a dependency | Default declaration from the foreground-task dependency |
Quick Settings tile (BIND_QUICK_SETTINGS_TILE) | Optional | Show an AirFlash tile to open the App |
Read audio media (READ_MEDIA_AUDIO) | When opening some received audio | Merged from a file-open dependency |
Permissions we do not request on Android: camera, microphone, contacts, fine location, coarse location, Bluetooth, nearby Wi‑Fi devices, and a standalone AD_ID declaration for advertising. See Section 4.4 regarding advertising IDs that Firebase may still read.
You can deny some runtime permissions in system settings. Related features (gallery pick, saving files, notifications, local network) may then be unavailable. You can still read this Policy or uninstall the App.
On iOS / macOS and other platforms, the system may separately ask for photo library, local network, or location-related copy used to obtain a local IP. Those prompts are for local transfer, not to track your movements.
6. How we use information
We use information only to:
- Provide core features: discover devices, send and receive files and messages, remember settings, and show progress.
- Security: generate on-device certificates, mutually authenticate devices, and support PIN and similar options you enable.
- Improve the product: understand usage via Firebase Analytics; diagnose crashes via Crashlytics.
- Support: respond to email sent to developer@airflash.net.
- Legal compliance: process information when required by law or to protect rights.
We do not use your information to show personalized third-party ads, and we do not sell personal data to data brokers.
7. Sharing, disclosure, and sale
We do not sell your personal data and do not share it for cross-context behavioral advertising (as those terms are used under California and similar laws).
We share information only:
- With peers you choose — Sections 4.2 and 4.3. This is the product, triggered by you.
- With processors — Google (Firebase Analytics, Crashlytics, and similar Website analytics if used), solely to provide those services.
- For legal and safety reasons — if required by law, legal process, or to prevent fraud, abuse, or serious harm.
- In a business transition — if we merge, are acquired, or transfer assets, information may transfer as part of that transaction, subject to this Policy or equivalent protection.
8. International transfers
We and processors such as Google may process data outside your country (including the United States). Protection levels differ by jurisdiction.
Where required, transfers rely on recognized mechanisms such as the European Commission’s Standard Contractual Clauses or equivalent safeguards offered by the provider. Contact us (Section 15) for more information.
9. Retention
- On-device data: until you delete it, clear app storage, or uninstall (except files you already saved to the gallery or a folder you chose).
- LAN transfer contents: we keep no server copy; retention on the peer is up to the recipient.
- Firebase data: retained for the period configured in Google / Firebase (default or our console setting) for analytics and crash analysis, then deleted or aggregated.
- Website logs: according to the host’s ordinary log cycle.
- Support email: for a reasonable period after we respond, or longer if the law requires, then deleted or archived.
10. Security
We use safeguards appropriate to the product, including:
- HTTPS between devices by default, with locally generated certificates for mutual authentication (client certificates are mandatory for app-to-app; they may be optional when serving the browser web-send pages);
- private keys stored only on your device;
- no upload of file contents to our servers, which reduces cloud exposure of what you transfer.
No electronic transmission or storage is completely secure. LAN security depends on the network you join and the peer device. Avoid sending sensitive files to unknown devices on untrusted networks, and protect the device itself.
11. Your rights and choices
Depending on where you live (for example the EU/UK GDPR, California CCPA/CPRA, or other laws), you may have the right to:
- access, correct, or delete personal data;
- restrict or object to certain processing;
- data portability;
- opt out of sale or sharing of personal data (we do not sell personal data or share it for cross-context behavioral advertising);
- withdraw consent (without affecting processing before withdrawal);
- lodge a complaint with a supervisory authority.
You can exercise rights over on-device data by:
- changing your alias and settings or clearing receive history in the App;
- revoking permissions, clearing storage, or uninstalling in system settings;
- deleting files you saved.
For data we or Firebase hold, email developer@airflash.net and describe your request and region. We will respond within the time applicable law requires. We may need to verify your identity and may refuse requests that are manifestly unfounded or excessive.
We will not discriminate against you for exercising privacy rights.
12. Children’s privacy
Our App and Website are not directed to children under 13. We do not knowingly collect personal data from children.
If you are a parent or guardian and believe we may have collected a child’s personal data, contact developer@airflash.net. We will delete such information promptly if we discover it.
Please do not allow children under 13 to use the App or send us personal information.
13. Third-party services
We use or may direct you to the following. They have their own policies:
| Service | Provider | Purpose | Privacy information |
|---|
| Firebase Analytics (Google Analytics for Firebase) | Google LLC | App usage analytics | https://firebase.google.com/support/privacy ; https://policies.google.com/privacy |
| Firebase Crashlytics | Google LLC | Crash reporting | Same as above |
| Website hosting / site analytics | Depends on deployment; may include Google | Serve pages; understand visits | The host’s policy and Google’s policy, as applicable |
When you use the system share sheet, open a received file, install an APK, or tap in-App links such as About or Privacy Policy, the operating system or other apps process data under their own rules. That is not collection by us.
LAN peers are not our “processors,” but they receive what you choose to send.
14. Changes to this Policy
We may update this Privacy Policy from time to time, for example if features, legal requirements, or Firebase configuration change. We will post the updated Policy on this page and change the effective date at the top.
If a change materially affects your rights, we will take reasonable additional steps to notify you, such as a Website or in-App notice. Continued use after the new Policy takes effect means you accept it. If you do not agree, stop using the services and uninstall the App.
Please review this page periodically.
15. Contact us
If you have questions, requests, or complaints about this Privacy Policy, our data practices, or your rights, contact:
We will respond within a reasonable time.