🛡️ Privacy Policy — Rider-Nanishta
Effective date: 26 April 2026 Last updated: 9 June 2026 (Premium subscription pricing + free-trial terms, explicit ad-placement disclosure, GDPR consent flow note)
This Privacy Policy explains how the Rider-Nanishta Android application ("the app", "we", "our") collects, uses, and protects information when you use it on your device. It is written to align with the Google Play Developer Program Policy and the Google Play Data Safety disclosure framework.
1. About Rider-Nanishta
Rider-Nanishta is a motorcycle/bicycle cockpit dashboard for Android. It is intended to be mounted on a handlebar in landscape orientation while you ride, and provides:
- A live GPS speedometer with a configurable over-speed warning (default 80 km/h, tunable between 40 and 140 km/h from the in-app Settings).
- A picture-in-picture launching slot for the official Google Maps app.
- Mirroring of music now-playing metadata and basic transport controls (play, pause, next, previous, volume) for whichever music app you are using.
- A day / night theme toggle, a four-slot favourite-apps launcher, a riding-tips ticker, and an in-cockpit Settings panel and Privacy Policy viewer.
The in-cockpit incoming-call overlay that earlier builds shipped has been retired at the rider's request. Phone calls are now handled entirely by whichever app the device has set as the default phone dialer; Rider-Nanishta no longer reads ring state, caller numbers, the call log, or contacts.
The cockpit's user-facing features run entirely on your device — there is no Rider-Nanishta backend server, no user account, and no personal-data telemetry sent to the developer. Two limited exceptions to "fully on-device" exist, both common to Play-Store apps and both disclosed in detail in Sections 2.7 and 2.8 below:
- Advertising. The app may display ads supplied by Google AdMob. AdMob is operated by Google and processes a small amount of device-level information (advertising ID, app interactions, coarse approximate location derived from your IP address) to serve and measure those ads.
- Purchases. Any premium features, ad-removal upgrades, or subscriptions inside the app are sold and processed by Google Play Billing. Payment information (card number, billing address, etc.) is handled entirely by Google Play; it never passes through Rider-Nanishta and is never seen by the developer.
2. The information we access
The app accesses the following categories of information. Categories 2.1–2.6 are read on your device only and are never transmitted off it. Categories 2.7 (advertising) and 2.8 (purchases) involve Google services that do receive device-level information from your phone — those sections describe exactly what those services see and link out to their own privacy policies.
2.1 Location data
- What: Approximate and precise GPS location (latitude, longitude, speed, bearing).
- Why: To calculate and display your live speed on the speedometer, and to detect when you cross the 80 km/h over-speed threshold.
- Where it goes: Location data is read from Android's Fused Location Provider in real time and rendered into the on-screen dial. It is never written to disk, never shared with the developer, and never transmitted off the device.
- Permissions involved:
ACCESS_FINE_LOCATION,ACCESS_COARSE_LOCATION.
2.2 Notifications from other apps (music now-playing gate)
- What: Active media-session metadata posted by other apps on your device — track title, artist, album art.
- Why: Android only allows a third-party app to enumerate other apps' MediaSession controllers when the user has authorised it as a notification listener. Rider-Nanishta's listener service exists purely as that gate so the cockpit's music bar can read the currently-playing track.
- Where it goes: The metadata is held in memory for as long as the cockpit is on screen, rendered into the music bar, and is never written to disk, transmitted, or shared with anyone.
- Permission involved:
BIND_NOTIFICATION_LISTENER_SERVICE. This permission is granted by you inSettings → Notifications → Notification accessand can be revoked there at any time. - Note: The previous Google-Maps navigation-mirror parsing path was retired — navigation now happens entirely inside Google Maps' own UI parked over the cockpit's PIP slot, and the listener service no longer parses any non-media notification content.
2.3 Phone calls
The current build does not access phone state, the call log, contacts, or the answer-call API. The in-cockpit incoming-call overlay was retired at the rider's request — calls are now handled by whichever app the device has set as the default phone dialer, and Rider-Nanishta declares none of the previously requested telephony permissions (READ_PHONE_STATE, ANSWER_PHONE_CALLS, READ_CALL_LOG, READ_CONTACTS).
2.4 Music transport controls
- What: Programmatic access to the currently active media session, so the cockpit's transport buttons (play, pause, next, previous, volume) can drive your music app.
- Why: So you can control playback hands-free from the cockpit instead of opening your music app.
- Where it goes: Only outbound media-control commands are sent — no media data is read or transmitted.
- Permission involved:
MEDIA_CONTENT_CONTROL. This is granted via the Notification Access setting (Section 2.2).
2.5 Network access
- What: The app declares
INTERNETandACCESS_NETWORK_STATE. - Why: Network access is required by the Google AdMob SDK to fetch ads (Section 2.7) and by the Google Play Billing library to verify purchases and subscription state (Section 2.8). Outside those two integrations, Rider-Nanishta itself makes no developer-controlled network calls — your speed, music metadata, settings, and orientation data all stay on the device.
2.6 Device sensors (orientation, battery)
- What: Phone orientation (accelerometer / gyroscope) and battery level.
- Why: Phone roll drives the lean-angle chevron on the speedometer; battery percentage is shown on the status strip.
- Where it goes: Read into memory and rendered on screen only. Not persisted, not shared.
2.6a Audio output (alarm beep + spoken over-speed warning)
- What: The cockpit plays sound out of the device's speaker / connected headset under two conditions:
1. Three short alarm beeps the moment your live speed first crosses your over-speed threshold (default 80 km/h). Generated by Android's built-in
ToneGenerator; no audio resource ships with the app. 2. A spoken "slow down, slow down" warning, repeated every 15 seconds, if your speed stays continuously over the threshold for ten unbroken minutes. Generated by Android's built-inTextToSpeechengine using the device's installed voice. - Where it goes: Locally to the device's audio mixer only. Both effects play through the alarm stream, so they're audible even when the ringer is on silent. Nothing is recorded, persisted, or transmitted.
- What this is NOT: This is audio output only. Rider-Nanishta does not declare or hold the
RECORD_AUDIOpermission, has no microphone access, and cannot capture sound under any circumstance. Both the beep and the spoken warning can be disabled independently in Settings.
2.6b Time-of-day greetings + ambient banners
- What: A small set of friendly text banners shown in the AUX panel — a once-per-day greeting (Good morning / Good afternoon / Sleep well, etc.) and short "thanks for using us" / battery-disclosure banners interleaved into the riding-tip rotation.
- Why: To give the cockpit a more personal first second on each new day's first launch and to be honest about the app's early-access state and battery footprint.
- Where it goes: Pure on-device text rendering. The only state that persists is a "last greeted day-of-year" flag in Android's app-private SharedPreferences, so the cockpit doesn't keep saying hello on every recomposition. Toggle off via Greetings & ambient banners in Settings.
2.6c Ride statistics
- What: Lifetime distance travelled (kilometres), top speed in the rolling 7-day calendar week, count of over-speed events (this calendar year + lifetime), and total cockpit foreground time (in minutes — used only as the trigger for the every-30-min stats banner).
- Why: To surface a personal riding history in the Ride stats overlay (📊 chip in the top-right cluster) and to display a brief summary banner in the AUX panel after every 30 minutes of cockpit-active time.
- How it's computed: Distance integrates from the live GPS speed flow (
speed_kmh × delta_time); top speed is the running maximum within the current ISO calendar week; over-speed counts increment once per rising-edge threshold crossing, in lockstep with the audio beep. - Where it goes: A handful of integers and floats in Android's app-private SharedPreferences. Never transmitted, never written to a developer-controlled server. Cleared on uninstall, on
Settings → Apps → Rider-Nanishta → Storage → Clear data, or on the Reset all stats button inside the Ride stats overlay.
2.6d Rider profile photo + display name
- What: A single photo file picked from your gallery via Android's Photo Picker (no permission grant needed) and an optional display name (≤ 40 characters).
- Why: To personalise the cockpit's MAP slot — the photo replaces the MAP / DROP PIP HERE placeholder either continuously or on a 10-min cycle (your choice in Settings → Rider profile), with the display name shown beneath it.
- Where it goes: The photo is copied into the app's private files directory (
/data/data/com.ridernanishta.app/files/profile_photo.jpg), accessible only to the app sandbox. The display name is stored as a string in app-private SharedPreferences. Neither leaves the device. Cleared when you tap the × next to the photo in Settings, when you uninstall the app, or via Settings → Apps → Storage → Clear data. - Permission involved: None. Android's Photo Picker hands the app a transient URI to the single image you choose without granting access to your wider gallery.
2.7 Advertising (Google AdMob)
- What: Rider-Nanishta displays ads supplied by Google AdMob, Google's mobile-ad network. To serve and measure those ads, AdMob processes:
- The Android Advertising ID (a resettable, user-controlled device identifier dedicated to advertising).
- Ad-interaction events — which ads were shown, whether you tapped them, how long they were on screen.
- Coarse, IP-derived approximate location (country / region level) for ad fill, frequency capping, and abuse prevention. AdMob does not receive your precise GPS location from this app.
- Standard device technical signals — device model, OS version, app package name, locale.
- Where ads appear in the cockpit: Ads appear in TWO places only:
- (a) Inside the Settings overlay — a single banner at the top of the Settings scroll, visible only when the rider opens Settings.
- (b) Inside the Riding Tips card — on a 40-minute rotation (30 minutes of normal riding tips, then 10 minutes of a banner ad clearly labelled "AD", then back to tips). The cockpit's main surfaces — speedometer, music bar, favourite apps, map slot — are always ad-free.
- Why: Ad revenue is what keeps Rider-Nanishta available as a free-to-install app. If you subscribe to Rider-Nanishta Premium (Section 2.8), both ad placements are removed instantly and no further advertising data is collected for your device.
- Where it goes: Directly from the AdMob SDK on your device to Google's advertising infrastructure. Rider-Nanishta itself does not receive, log, or transmit your advertising ID or ad-interaction history. Google's handling of this data is governed by the Google Privacy Policy and the Google AdMob & AdSense Privacy and Terms.
- Personalised vs non-personalised ads: Where required by law (for example in the EEA, UK, and Switzerland under GDPR) the app presents a Google-provided consent prompt and respects your choice. You can also reset or clear your Advertising ID, or opt out of ad personalisation entirely, from
Settings → Privacy → Adson your device. - Permission involved:
com.google.android.gms.permission.AD_ID(auto-declared by the Google Mobile Ads SDK on Android 13+ for access to the resettable Advertising ID).
2.8 Rider-Nanishta Premium subscription (Google Play Billing)
- What it is: Rider-Nanishta Premium is an auto-renewing subscription sold through the Google Play Billing library. Premium removes both ad placements described in Section 2.7 and unlocks any future paid-only features at no extra charge.
- Pricing and base plans (Product ID
premium): premium-monthly— ₹15 per month, auto-renewing monthly.premium-yearly— ₹100 per year, auto-renewing yearly. New subscribers are eligible for a 1-month free trial; the ₹100 charge applies only at the end of the trial unless you cancel before that date. Pricing in regions other than India is set by Google Play according to local-currency equivalents.- What we receive: When a purchase succeeds, Google Play returns to the app a purchase token and the SKU "premium". The app uses these locally to unlock the ad-free state on your device. Rider-Nanishta does not receive your name, email, billing address, card number, or any other payment information.
- What Google receives: Your payment information, your Google Account identity, and the purchase record are handled by Google Play and are governed by the Google Play Terms of Service and the Google Privacy Policy. The developer has access only to aggregated, anonymised sales reporting through the Play Console — never to your individual payment details.
- Where the entitlement is stored: A local "premium" boolean is stored in Android's app-private storage on your device so the cockpit remembers your purchase across launches. No purchase data is sent to a developer-controlled server.
- Subscription management and cancellation: You can view, pause, change, or cancel any active subscription at any time via
Google Play Store → Profile → Payments & subscriptions → Rider-Nanishta Premium → Cancel. Cancellation takes effect at the end of the current billing period; you keep Premium access until that period ends. Cancellation made during the free trial avoids any charge. - Refunds: All refund requests are handled by Google Play under its standard refund policy. The developer cannot issue or process refunds directly.
3. What we do not do
To make the privacy posture explicit, the developer of Rider-Nanishta does not:
- We do not run a Rider-Nanishta backend server. Your speed, settings, music metadata, orientation data, and on-device entitlement flag are all kept on your phone.
- We do not transmit your GPS location to any developer-controlled server, and we do not share your precise location with Google AdMob. AdMob only receives the coarse, IP-derived approximate location that any internet-connected app's traffic naturally exposes.
- We do not access the microphone. The voice-command feature was removed in an earlier development round; the app no longer declares the
RECORD_AUDIOpermission and cannot capture audio under any circumstances. The over-speed beep and the spoken "slow down" warning are output only, generated by Android's built-inToneGeneratorandTextToSpeechengines; neither involves any microphone access. - We do not read your contacts. The in-cockpit incoming-call overlay was retired and the app no longer declares the
READ_CONTACTSpermission. - We do not read your phone state, call log, or messages. The app no longer declares
READ_PHONE_STATE,ANSWER_PHONE_CALLS, orREAD_CALL_LOG. - We do not receive, store, or process your payment information. All payment handling for in-app purchases and subscriptions is done by Google Play; the developer only receives anonymised aggregate sales reporting through the Play Console.
- We do not sell your personal data. The only third-party data flow leaving the app is what the Google Mobile Ads SDK sends to Google to serve and measure ads (Section 2.7), which is governed by Google's own privacy policy.
- We do not use any independent third-party analytics, crash-reporting, or cross-app tracking SDK in this build. Beyond Google AdMob and Google Play Billing, no third-party SDK is integrated.
4. Permissions, summarised
| Permission | Why it exists | Who you grant it to |
|---|---|---|
ACCESS_FINE_LOCATION / ACCESS_COARSE_LOCATION |
Live speed on the speedometer | Granted on first launch via system dialog |
POST_NOTIFICATIONS |
Reserved for ride-status banners | Granted on first launch via system dialog (Android 13+) |
BIND_NOTIFICATION_LISTENER_SERVICE |
Gates MediaSessionManager access for music now-playing |
Granted manually in Settings → Notification access |
MEDIA_CONTENT_CONTROL |
Music transport controls | Implied by Notification access |
INTERNET / ACCESS_NETWORK_STATE |
Required by Google AdMob (Section 2.7) and Google Play Billing (Section 2.8) | Install-time only |
com.google.android.gms.permission.AD_ID |
Read the resettable Android Advertising ID for AdMob | Auto-declared by the Google Mobile Ads SDK on Android 13+ |
com.android.vending.BILLING |
Talk to Google Play Billing for purchases / subscriptions | Auto-declared by the Google Play Billing library |
You can revoke any runtime permission at any time via Settings → Apps → Rider-Nanishta → Permissions. Doing so will gracefully disable the corresponding feature (e.g. revoking location stops the live speed and shows a "GRANT LOCATION" chip on the dial). You can reset or limit your Advertising ID via Settings → Privacy → Ads.
5. Children's privacy
Rider-Nanishta is intended for adult riders, falls under a "Mature 17+" content rating in the Play Console listing, and is not directed at children under the age of 13. The app does not knowingly collect any information from children. The Google Mobile Ads SDK is configured to request non-personalised ads only for any user who self-identifies (or who Google flags) as under the age of consent in their region, and the app does not target advertising to children. If you believe a child has used the app and you would like to discuss it, please contact us using the details in Section 11 and we will remove any associated local entitlement data on request.
6. Data retention and deletion
Because the app does not have a Rider-Nanishta-controlled backend and does not persist personal data on a developer-controlled server, there is nothing for the developer to retain or delete on your behalf.
- In-memory state (the speed reading and the parsed now-playing metadata) is discarded the moment the app is closed or moved to the background.
- Settings stored locally on your device — the chosen day/night theme, the four favourite-app launchers you pinned to the cockpit, the over-speed warning toggle and threshold, the music-pulse / LED equaliser / riding-tips toggles configured from the in-app Settings panel, the "first launch complete" flag, and any in-app purchase / subscription entitlement flag — live in Android's app-private storage and are removed when you uninstall the app or use
Settings → Apps → Rider-Nanishta → Storage → Clear data. - AdMob ad-targeting data is retained by Google according to Google's own retention policy. You can reset your Advertising ID at any time via
Settings → Privacy → Ads → Reset advertising IDto break the link between your past and future ad activity. - Purchase records held by Google Play follow Google Play's retention policy. Cancelling a subscription stops future renewals; uninstalling the app does not refund existing purchases — refunds are requested through Google Play.
7. Security
- The app does not transmit user data to any developer-controlled server, so there is no off-device, developer-owned data store to protect.
- All data accessed by the app stays inside Android's per-app sandbox on your device. The Android operating system enforces this isolation; other apps on your device cannot read Rider-Nanishta's runtime state.
- The only outbound network traffic Rider-Nanishta itself initiates is the traffic generated by the Google Mobile Ads SDK and the Google Play Billing library. Both are official Google client libraries; both communicate over HTTPS to Google's own infrastructure.
8. Third-party services
The app integrates with the following APIs and services. None of them receive personally identifying information from the developer of Rider-Nanishta beyond what is described in Section 2:
On-device only:
- Android Fused Location Provider (Google Play services) — for GPS speed.
- Android
MediaSessionManager— for reading now-playing metadata and sending transport commands. - Android
NotificationListenerService— as the special-access gate that unlocksMediaSessionManager.getActiveSessions(). The service does not parse non-media notification content. - Android Telephony / Telecom framework — not used. The cockpit no longer accesses ring state, call logs, or contacts.
Network-connected (operated by Google):
- Google AdMob (Google Mobile Ads SDK) — serves and measures the ads shown in the cockpit. Governed by the Google Privacy Policy and the AdMob Terms. See Section 2.7 for what AdMob receives.
- Google Play Billing library — handles all in-app purchases and subscriptions on behalf of the app. Governed by the Google Play Terms of Service. See Section 2.8 for what Google Play receives.
Any data those services receive is governed by the relevant service's own privacy policy, not by this one. The developer of Rider-Nanishta has no direct access to that data — only to the aggregated, anonymised reporting Google exposes to publishers in the AdMob and Play Console dashboards.
9. Your rights
You have the right to control what the app can access on your device. You can exercise most of these rights without contacting us, directly via the Android Settings app or the Google Play Store:
- Revoke any runtime permission:
Settings → Apps → Rider-Nanishta → Permissions. - Revoke notification access:
Settings → Notifications → Notification access→ toggle off Rider-Nanishta. - Reset or limit your Advertising ID:
Settings → Privacy → Ads. Resetting breaks the link between your past and future ad-targeting data; limiting (where available on your OS version) tells apps not to use the ID for personalised ads. - Manage subscriptions and purchases:
Google Play Store → Profile → Payments & subscriptionsto view, change, pause, cancel, or request a refund on any active subscription or one-time purchase. - Withdraw GDPR / EEA ad-personalisation consent: open the cockpit's Settings panel and use the Privacy options row that the Google User Messaging Platform exposes — the same consent prompt you saw on first launch reopens so you can change your choice.
- Delete all locally stored settings:
Settings → Apps → Rider-Nanishta → Storage → Clear data. This removes your favourites, theme, over-speed threshold, and entitlement flag. Active Google Play subscriptions are not affected — manage those from the Play Store. - Uninstall the app entirely: long-press the launcher icon → Uninstall. Removes all locally stored data. Active subscriptions continue to bill until cancelled in the Play Store.
For data held by Google (advertising telemetry, purchase records), you can submit a deletion or access request directly to Google through your Google Account → Data & privacy page. The developer of Rider-Nanishta does not hold a separate copy of that data and so cannot delete it on your behalf.
10. Changes to this Policy
We may update this Privacy Policy from time to time, for example when new features are added that change what the app accesses on your device, or when Google Play's policy framework is updated. The "Effective date" at the top of this document will reflect the most recent revision. Material changes will be communicated through the Play Store listing's "What's new" section in the corresponding app update.
You are encouraged to review this Policy from time to time. Continued use of the app after a Policy update constitutes acceptance of the updated Policy.
11. Contact
If you have questions about this Privacy Policy or about how Rider-Nanishta handles information on your device, you can reach the developer at:
- Email: Hkiranvhp1@gmail.com
- Subject line: "Rider-Nanishta — Privacy"
We aim to respond within 14 days.
This document is intended to satisfy the disclosure requirements of the Google Play Developer Program Policy and the Google Play Data Safety form. It is not a substitute for legal advice. If you intend to publish a forked or modified version of Rider-Nanishta on the Play Store, you are responsible for reviewing this Policy against your own data-handling practices and the policy as it stands at the time you publish.