castdeck-privacy-policy

Privacy Policy — CastDeck Remote

Effective Date: June 22, 2025
Last Updated: June 22, 2025
Developer: Hemanth
App Name: CastDeck Remote
Package: com.hemanth.tvremote


1. Overview

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.


2. Data We Collect

We collect NO personal data.

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.


3. Data Stored Locally on Your Device

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.


4. Network Communications

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.


5. Android Permissions Explained

The app requests the following permissions. Each one is necessary for core functionality and is used for no other purpose.

INTERNET

Why: 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_STATE

Why: 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_STATE

Why: 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_STATE

Why: 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_IR

Why: 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.


6. Third-Party SDKs and Services

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.


7. Children’s Privacy

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.


8. Data Security

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.


9. Data Retention and Deletion

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:


10. Changes to This Policy

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.


11. Contact

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.