Effective Date: June 22, 2025
Last Updated: June 22, 2025
Developer: Hemanth
App Name: CastDeck Remote
Package: com.hemanth.tvremote
CastDeck Remote is a TV remote control application for Android. It allows users to control Android TV / Google TV devices over Wi-Fi and any TV brand via the phone’s built-in IR blaster.
We do not collect, store, transmit, or share any personal data. Ever.
This policy explains what the app does on your device, why each Android permission is required, and what data stays local to your phone.
The app does not collect, process, or transmit:
There are no third-party analytics SDKs, crash reporting tools, or advertising networks integrated into this app.
The app stores the following data only on your device, using Android’s DataStore (a local on-device storage mechanism). This data never leaves your phone.
| Data | Purpose |
|---|---|
| Saved TV device name | So you don’t have to re-enter it each time |
| Saved TV IP address | To reconnect to your TV without scanning |
| TV pairing state (paired / unpaired) | To know whether a PIN exchange has been completed |
| TLS certificates for paired Android TVs | Required for secure re-connection after initial pairing |
All of this is stored in your app’s private sandboxed storage. It is not accessible to other apps. It is deleted when you uninstall the app.
When controlling an Android TV or Google TV device, the app communicates directly and exclusively with your TV over your local Wi-Fi network using the Android TV Remote protocol (TCP port 6466 / 6467, TLS-encrypted).
When using the IR blaster, all communication is hardware-only (infrared signal transmitted directly from your phone). No network activity occurs.
The app requests the following permissions. Each one is necessary for core functionality and is used for no other purpose.
INTERNETWhy: Required by Android to open any network socket. Used exclusively to establish a TLS connection to your Android TV on your local Wi-Fi network. The app never connects to the internet or any external server.
ACCESS_NETWORK_STATEWhy: Lets the app check whether your phone is currently connected to a Wi-Fi network before attempting to scan for or connect to a TV. Prevents unnecessary failures when Wi-Fi is off.
ACCESS_WIFI_STATEWhy: Allows the app to read basic Wi-Fi connection information (e.g. whether you are on Wi-Fi). Used to validate connectivity before initiating device discovery. No location or network identifiers are read or stored.
CHANGE_WIFI_MULTICAST_STATEWhy: Required to enable multicast packets on the Wi-Fi interface, which is how mDNS (the standard Bonjour/zero-configuration protocol) works. This is how the app automatically discovers Android TV devices on your local network without you having to enter an IP address manually. Android requires this permission to receive multicast DNS packets. It does not change your Wi-Fi network settings in any other way.
TRANSMIT_IRWhy: Required to use the phone’s built-in IR (infrared) blaster to send remote control signals to TVs that support IR. Used only when you tap a button on the IR remote screen. This permission is optional — the app installs and works fully on devices without an IR blaster; the IR remote mode is simply hidden.
This app integrates no third-party SDKs that collect data. The complete list of libraries used is:
| Library | Purpose | Data collected |
|---|---|---|
| Jetpack Compose | UI framework by Google | None |
| Hilt (Dagger) | Dependency injection | None |
| AndroidX DataStore | Local on-device storage | None |
| Ktor (client only) | HTTP/socket client | None |
| BouncyCastle | TLS certificate generation for ATV pairing | None |
| JmDNS | mDNS / Bonjour device discovery on LAN | None |
| Kotlin Coroutines | Async programming | None |
| Kotlinx Serialization | JSON serialization for local storage | None |
None of these libraries send data to any external server in the context of this app.
This app does not knowingly collect any information from children under the age of 13 (or the applicable age of digital consent in your jurisdiction). Since we collect no personal data from any user, there is no specific risk to children.
Since the app does not transmit personal data to any server, there is no risk of a server-side data breach affecting your information. Data stored locally on your device (TV names and IP addresses) is protected by Android’s application sandboxing model.
All data stored by the app (saved TV devices and pairing certificates) resides exclusively on your device. You can delete it at any time by:
If the app is updated in a way that changes data practices (for example, if crash reporting is added in a future version), this policy will be updated and the Last Updated date at the top will change. Significant changes will also be noted in the Play Store release notes.
If you have any questions about this privacy policy or the app’s data practices, please contact:
Hemanth
🐙 github.com/hemusimple
This privacy policy applies to the CastDeck Remote Android application published on the Google Play Store under the developer account Hemanth.