1. Scope and controller
This policy applies to the WiFi Stream Android application, package
com.vcw.wifistream, and this legal website. The party responsible for the
app is the WiFi Stream publisher. This policy does not
replace the privacy notices of Android, Google Play, your network operator, the owner of
the Wi-Fi network, or another app or service you choose to use.
WiFi Stream does not currently provide app accounts, login, cloud profiles, subscriptions, or a publisher-operated media backend. The core feature is a direct local-network session between Android devices. A Host may either run a synchronized Watch together session or create a Share files library that Joiners browse and control independently. Google Mobile Ads and Google’s User Messaging Platform (“UMP”) are separate internet-connected services embedded for advertising and privacy choices.
These HTML pages themselves load only bundled CSS, JavaScript, and an SVG mark; they do not set cookies or include web analytics. The publisher’s eventual website host may create ordinary server logs such as IP address, request time, and browser information under that host’s terms, which must be reviewed before the pages go live.
2. Plain-language summary
3. Information used for core watch sessions
The app processes the following information only as needed to create, discover, join, synchronize, or independently play within a session.
| Information | How it is used | Where it goes | Typical lifetime |
|---|---|---|---|
| Selected video files and local metadata | The Host selects one file for Watch together or one or more files for Share files through Android’s Storage Access Framework. The app reads each selected document’s URI, display name, byte size, media type, duration, and content for local playback or HTTP range streaming. | Video bytes are sent to Joiners the Host allows onto the same local network. In Share files mode, the catalog sent to Joiners includes each item’s display name, size, media type, duration, opaque session item ID, and stream URL. Android document URIs remain on the Host and are not placed in the catalog. | The app does not intentionally create a permanent Joiner download or a publisher copy. Media3 or the operating system may keep temporary playback buffers. Originals remain with their chosen document provider. |
| LAN addressing and discovery data | Local IP addresses, ports, service records, a session ID, protocol version, and a session access token let devices find and connect to one another. | Broadcast or exchanged on the local Wi-Fi/hotspot through Android NSD/mDNS, HTTP, and WebSocket connections. | Primarily in memory for the current session. Discovery records disappear when hosting ends, subject to normal network caching. |
| Device labels and session identifier | The Android device model is used as the visible Host/Joiner label. A random Joiner UUID is generated in memory for the active app/ViewModel instance so the Host can distinguish connected devices. | Visible to, or received by, devices in the same session. A Host also sees the Joiner’s local IP address as part of the network connection. | The random Joiner UUID is not an account ID, is not persisted by WiFi Stream, and is regenerated when the relevant app/ViewModel instance is recreated. Connected-device records are cleared when a session ends. |
| Playback and timing information | In Watch together mode, position, duration, play/pause/seek state, playback speed, timing samples, connectivity, and buffering state keep Joiners synchronized with the Host. In Share files mode, each Joiner controls its own selected item and position; the Host does not receive or control that Joiner’s local playback timeline through the synchronization protocol. | Watch together timing and control messages are exchanged between session devices over the LAN. Share files catalog and connection messages also use the LAN. | Held in memory while the session is active and cleared as the session/player is closed. |
| Manual connection entry | A Joiner may enter a Host IP address and optional port. | Used on the Joiner device to open the requested local connection. No history database was observed in the reviewed app. | Current screen/session only. |
The publisher does not receive a copy of this core session traffic through a publisher-operated cloud server. Other people on the session and operators of the local network may nevertheless be able to observe data as described under Security.
4. Advertising, consent, and third parties
WiFi Stream integrates the Google Mobile Ads Next-Gen SDK to show banner and app-open ads, and Google UMP to request and manage privacy choices where required. The app asks UMP for updated consent information before initializing ads and only requests ads when the SDK reports that ads may be requested.
According to Google’s current SDK disclosure, Google Mobile Ads automatically collects and shares:
- IP address, which Google says may be used to estimate general location;
- user product interactions, such as app launches, taps, and video views;
- diagnostic information, including app/SDK performance, launch time, hangs, and energy use; and
- device or account identifiers, including the Android advertising ID, app set ID, and applicable identifiers related to accounts signed in on the device.
Google identifies advertising, analytics, and fraud prevention as purposes for this processing, and says this SDK data is encrypted in transit using TLS. The ads or data used can vary with region, device settings, consent, ad-serving mode, and the configuration in the publisher’s AdMob account.
Official resources:
- Google Mobile Ads Next-Gen data disclosure
- Google UMP setup and privacy choices
- Google Privacy Policy
- Google’s ad technology provider information
The reviewed app does not include Firebase Analytics, a publisher analytics SDK, a social login SDK, or a separate remote crash-reporting SDK.
5. Device access and permissions
WiFi Stream’s merged release manifest declares access for internet/LAN sockets, network and Wi-Fi state, multicast discovery, foreground media playback, connected-device transfer, notifications, a resettable advertising ID, basic non-dangerous phone-state information contributed by Google Mobile Ads, and wake locks contributed by AndroidX WorkManager.
- Video selection: Android’s system document picker grants access only to the file or files explicitly chosen by the user. The app does not request broad photo/video or legacy storage permission.
- Foreground operation: Watch together uses the media-playback foreground-service type; Share files uses the connected-device type for the user-started continuous LAN transfer. The corresponding normal foreground-service permissions do not expose unrelated nearby devices or files.
- Notification: on Android 13 and later, notification permission is requested so an active Host session can be visible and stoppable from a foreground-service notification.
- Advertising dependencies: Google Mobile Ads contributes
AD_IDandREAD_BASIC_PHONE_STATE. Android documents the latter as non-dangerous access such as cellular network type and software version; it does not grant phone number, call-log, SMS, or precise telephony access. - Background dependency: AndroidX WorkManager contributes
WAKE_LOCKfor temporary processor wake locks used by library work. - No sensitive sensors/content stores: the reviewed manifest does not request camera, microphone, contacts, precise location, phone number, dangerous
READ_PHONE_STATE, SMS, calendar, or broad file-management access.
See the complete Permissions & Network Disclosure.
6. Security and local-network traffic
A Host creates a random session token and Joiners must present it to request a selected video. This is an access-control measure, not encryption. The Android application explicitly allows cleartext traffic, and the core stream uses HTTP while playback commands use an unencrypted WebSocket.
Google advertising/consent traffic is separate; Google states that Mobile Ads SDK data is protected in transit with TLS. No security measure can guarantee absolute protection.
7. Retention and deletion
- Core session: session, connected-device, token, and synchronization data are primarily held in memory and cleared when the session or app process ends. No session-history database was observed.
- Selected documents: the app asks Android to retain read permission for each selected URI where supported. The app does not maintain a publisher cloud library or promise a later session history. Android may retain document access grants until app data is cleared, access is revoked, or the app is uninstalled.
- Ad frequency controls: the app stores a foreground-open count and the last app-open-ad timestamp in local SharedPreferences.
- Consent state: Google UMP manages consent information on the device and may process it under Google’s policies.
- Android backup: the manifest currently sets
allowBackup="true"and contains no custom backup-exclusion rules. If device backup is enabled, Android may back up eligible app files such as SharedPreferences—including local ad-frequency state and any SDK preference state stored in a backup-eligible location—to the user’s backup service or transfer them to another device. This backup is controlled by Android/the backup provider, not a WiFi Stream publisher server. - Google advertising data: retention and deletion are controlled by Google and the user’s Google/Android privacy settings, subject to Google’s policies.
There is no WiFi Stream account to delete and no publisher cloud profile linked to an identity. To remove app-held local records and document grants, use Android Settings → Apps → WiFi Stream → Storage → Clear storage, or uninstall the app. Manage or delete device backups separately through Android/Google backup settings because a later reinstall may restore eligible preferences. These actions do not delete the user’s original video files or information separately retained by Google, another session participant, a backup provider, or a network operator.
8. Your choices and rights
- Do not select files or begin/join a session if you do not want their video bytes and applicable catalog metadata exchanged with peer devices.
- End hosting or leave a session to close the app’s local session resources.
- Deny or later change notification permission in Android settings. Some foreground-service visibility may be reduced.
- Use the in-app Privacy choices control when displayed by UMP, and manage the advertising ID through Android privacy settings.
- Clear app storage or uninstall to remove app-held local preferences and grants.
- Manage Android cloud/device-transfer backups in system or Google account backup settings.
Depending on where you live, you may have legal rights concerning access, correction, objection, restriction, portability, or deletion. Contact the publisher to make an inquiry. Because no app account or publisher backend exists, the publisher may have no core session record with which to identify you.
9. Children
WiFi Stream does not ask for a name, email address, date of birth, or account profile and does not provide child-specific social features. A parent or guardian should supervise a minor’s use and ensure that only appropriate, lawfully shared media is streamed.
The publisher must set an accurate Google Play target audience and configure AdMob and consent treatment consistently. WiFi Stream should not be represented as directed to children unless the publisher first completes all applicable Families-policy, SDK, content, ad, and consent requirements.
10. International processing
Core media traffic stays between devices on the local network unless the user’s network itself routes it differently. Google is a global provider and may process advertising and consent information in countries other than the one where the user lives, subject to Google’s privacy terms and applicable transfer safeguards.
11. Changes to this policy
This policy may be updated when the app, SDKs, legal requirements, or publisher practices change. The “Last updated” date will change when a revision is published. Material changes may also be communicated in the app or store listing when appropriate.
12. Contact
Privacy controller: the WiFi Stream publisher
Privacy and support email: support email pending
Public website: public website pending
Include “WiFi Stream privacy request” in the subject. Do not send a video, session token, private IP address, advertising ID, or other sensitive material unless specifically requested through a secure support channel.