1. Overview

This Privacy Policy describes how the Nuvmote Android application ("the App"), developed by ROR Studios ("we", "us", "our"), handles your information.

Nuvmote is a Bluetooth Human Interface Device (HID) remote controller. It uses Android's native BluetoothHidDevice API to turn your Android phone into a wireless keyboard, trackpad, TV remote, media controller, gamepad and more.

This policy was written based on a direct inspection of the Nuvmote application's source code, dependencies, and AndroidManifest.xml. It reflects verified implementation details, not assumptions.

2. What Data Nuvmote Collects

2.1 Data Nuvmote Does NOT Collect

The following are not collected, stored, or transmitted by ROR Studios or the App's core functions:

  • Keystrokes or text typed through the keyboard control mode
  • Trackpad movements, gestures, or click data
  • Button presses, media key inputs, or gamepad inputs
  • Macro definitions (stored locally only — see Section 4)
  • Personal identity information (name, email, phone number)
  • Your physical location
  • Crash logs or diagnostics (no crash reporting SDK is integrated)
  • Your Bluetooth device's MAC address to any remote server
  • Audio, microphone, or camera data

2.2 Data Processed by Third-Party Components

Nuvmote integrates two Google services that may collect and process data independently of ROR Studios. See Section 6 for details.

3. HID Input — Local Processing Only

All user input processed by Nuvmote — keystrokes, pointer movements, consumer media key presses, and gamepad button states — is handled entirely on-device as follows:

  1. Raw touch or keyboard input events are received by the App.
  2. The App converts these inputs to standard Bluetooth HID scancodes or report structures in volatile memory only (RAM).
  3. These HID reports are immediately transmitted over a direct Bluetooth connection to your paired host device (PC, TV, etc.).
  4. The inputs are never cached to disk, written to logs, or transmitted over the internet.

This architecture means ROR Studios has no technical mechanism to access, observe, or store what you type or how you interact with your host device through Nuvmote.

4. Local Data Storage

Nuvmote stores the following information locally on your device using Android's Jetpack DataStore (a private, encrypted-by-default local preference store):

  • App settings: trackpad sensitivity, scroll direction, haptic intensity, theme preference
  • Previously paired Bluetooth host device names (not uploaded anywhere)
  • User-defined macro configurations (key sequences saved by you for the Macro Pad feature)

This data:

  • Is stored in Android's private app data partition
  • Is accessible only to the App
  • Is never transmitted to ROR Studios or any third party
  • Is deleted when you uninstall the App (unless Android system backup restores it)

Android backup

The App allows Android system backup. If your device is configured to back up app data to Google Drive, some local preference data may be included in that device backup. This is governed by Google's backup policies, not by ROR Studios.

5. Permissions

Nuvmote requests the following Android permissions. Each is required for a specific function of the App.

Nuvmote Android permissions
Permission Why it is required Android version
BLUETOOTH Legacy Bluetooth access required to use the HID Device profile Android 10 and below (API ≤ 30)
BLUETOOTH_ADMIN Legacy Bluetooth administration required for HID profile registration Android 10 and below (API ≤ 30)
BLUETOOTH_CONNECT Required on Android 12+ to connect to paired Bluetooth devices and use the HID Device profile Android 12+ (API 31+)
INTERNET Required for Google Mobile Ads to serve advertisements and for the UMP consent SDK to retrieve regional consent options All versions
FOREGROUND_SERVICE Allows the App to maintain the Bluetooth HID connection when the screen dims or another app is in use All versions
FOREGROUND_SERVICE_CONNECTED_DEVICE Required on Android 14+ to categorise the foreground service as a connected device (Bluetooth HID) Android 14+ (API 34+)
POST_NOTIFICATIONS Required on Android 13+ to display the persistent foreground service notification during active Bluetooth sessions. You can deny this — the controller still works, but no notification is shown. Android 13+ (API 33+)
VIBRATE Provides haptic feedback on key presses and button interactions (can be disabled in settings) All versions

The App does not request: BLUETOOTH_SCAN, ACCESS_FINE_LOCATION, ACCESS_COARSE_LOCATION, CAMERA, RECORD_AUDIO, READ_CONTACTS, or READ_EXTERNAL_STORAGE.

6. Advertising & Consent Management

6.1 Google Mobile Ads (AdMob)

Nuvmote displays advertisements served by Google Mobile Ads (AdMob) on certain screens (Home Screen, Settings Screen, Macros Screen). Advertising does not appear on any control screens.

The Google Mobile Ads SDK may collect and process the following to deliver and measure ads:

  • Advertising ID (AAID) — Android's resettable advertising identifier, used for ad targeting and frequency capping. You can reset or opt out in Android Settings → Privacy → Ads.
  • Network identifiers — IP address used to determine general geographic region for ad selection and fraud prevention.
  • App interaction data — Whether an ad was shown and interacted with, for ad measurement.

This data is collected and processed by Google LLC, not by ROR Studios. See: policies.google.com/privacy.

6.2 Google User Messaging Platform (UMP)

If you are in the European Economic Area (EEA), the United Kingdom, or certain US states with applicable privacy laws, Nuvmote will present a consent dialogue powered by the Google User Messaging Platform (UMP) on first launch.

This dialogue allows you to choose whether to allow personalised advertising and ad measurement. You can update your consent choices at any time via Settings → Privacy Choices within the App.

6.3 Managing Ad Preferences

  • In-app: Settings → Privacy Choices (EEA/UK/applicable US states)
  • Android system: Settings → Privacy → Ads → Opt out of Ads Personalization
  • Reset advertising ID: Settings → Privacy → Ads → Reset advertising ID

7. Third-Party SDKs & Libraries

Third-party libraries in Nuvmote
Library Provider Purpose Data collected
ads-mobile-sdk:1.3.1 Google LLC Displaying advertisements AAID, IP address, ad interaction data
user-messaging-platform:4.0.0 Google LLC GDPR/regional consent management Consent choices (stored locally)
Jetpack DataStore, Navigation, Compose Google / AOSP Local settings storage and UI framework None — operates entirely on-device

Nuvmote does not include: Firebase Analytics, Crashlytics, Firebase Realtime Database, Firebase Firestore, Google Analytics for Firebase, any advertising attribution SDK (e.g. Adjust, AppsFlyer), or any crash reporting SDK (e.g. Sentry, Datadog).

8. Data Sharing

ROR Studios does not sell, rent, or share your personal information with third parties for their own marketing purposes.

The only data sharing that occurs:

  • Google AdMob and UMP receive data as described in Section 6, governed by their own privacy policies and your consent choices.
  • Bluetooth HID transmission to your chosen host device — this is the core function of the App, delivering only HID input reports over a direct Bluetooth connection.

9. Data Retention

  • HID input data: Never retained — processed in volatile memory and immediately discarded after transmission.
  • Local preferences: Retained on your device until you uninstall the App or clear its data.
  • AdMob data: Governed by Google's data retention practices.
  • Consent choices: Stored locally by the UMP SDK. Updated via Settings → Privacy Choices.

10. Children's Privacy

Nuvmote is not directed to children under 13 (or the equivalent minimum digital age in your jurisdiction). We do not knowingly collect personal information from children. If you believe a child has provided personal information, contact us at hello@rorstudios.com.

11. Your Privacy Rights

Depending on your jurisdiction, you may have the right to: access data, correct inaccurate data, request erasure, restrict processing, object to processing, and withdraw advertising consent (via Settings → Privacy Choices).

Since ROR Studios itself collects minimal data, most privacy requests will relate to third-party services (Google AdMob). For those, refer directly to Google's privacy controls.

For any ROR Studios-specific privacy request: hello@rorstudios.com

12. Contact

ROR Studios
Email: hello@rorstudios.com

13. Changes to This Policy

We may update this Privacy Policy from time to time. The "Last updated" date at the top reflects the most recent revision. Continued use of the App after changes constitutes acceptance of the updated terms. For material changes, we will make reasonable efforts to notify users through the App or through the Google Play store listing.