First published: August 15, 2026 Last updated: September 16, 2026 (advertising SDK integration — see Section 2.7) App: PITCHR (vocal pitch/performance analysis app for Android) Developer / Data Controller: P&C Labs Contact: pandclabs@gmail.com
This Privacy Policy explains what data PITCHR ("the App", "we", "us") collects, how it is used, where it is stored, and what choices you have. We wrote it to reflect exactly what the App's code does — not a generic template — so it may be more technical than most privacy policies.
PITCHR uses Google AdMob (Google Mobile Ads SDK) to show ads. This is the only reason the App connects to the internet — your voice/analysis data is completely separate from this connection and still never leaves your device (see Section 2.7).
All voice analysis (pitch detection, scoring, noise reduction, AI models) runs entirely on your device. Your recordings are never uploaded anywhere by the App.
Your recordings, scores, profile name, and app statistics are stored only in the App's private storage on your device.
The only externally-identifying piece of data the App reads is your device's ANDROID_ID (a system-assigned identifier), used purely as a local, non-changing user key. It is never transmitted anywhere.
Your recordings/profile data leave your device only when you explicitly choose to — for example, sharing a score card to WhatsApp/Instagram, or saving a PDF report to your Downloads folder. The one exception is the background network traffic of the advertising SDK (Section 2.7).
Because Android backup is enabled for this App, your recordings and profile data may be included in your device's Android cloud backup or local adb backup unless you disable backup for the App in your device/Google Account settings (see Section 6).
When you record a performance or import an audio/video file, the App:
Saves the audio as a local .wav file inside the App's private app-storage folder (not a public/shared folder), using Android's AudioRecord API and the on-device LivePitchTracker.
Analyzes the audio on-device using local AI models (TensorFlow Lite: a YAMNet-based classifier and a vocal-separation model) and DSP algorithms to compute pitch, timing, vibrato, articulation, and an overall score.
Applies on-device noise reduction (RNNoise, a native audio library) if the recording is at 48kHz.
This audio is never uploaded, streamed, or transmitted off your device by the App. There is no server component.
For each recording, the App stores locally (as a JSON file in app-private storage):
A name/ID you can rename, the recording date and duration, your computed score and sub-scores, voice-range/timbre classification, and whether you marked it a favorite.
First and last name: optional, entered by you in the Profile screen, stored locally.
Profile photo: optional, chosen by you from your device gallery; resized and stored as a local JPEG file in app-private storage. The App never uploads it.
Device ID (ANDROID_ID): a value assigned by the Android OS to your device, read via Settings.Secure.ANDROID_ID. Used only as a local, stable identifier tied to your profile record — the App does not send it anywhere, and it is not linked to any advertising or analytics identifier.
The App keeps simple, locally-stored counters to power its own features (levels, badges, streaks), for example: total recording time, badge/achievement unlock timestamps, how many times you exported/shared a certificate, and how many rewarded-ad "bonus point" slots you have used. None of this is transmitted anywhere — it exists solely so the App can show you your own progress.
Practice-exercise recordings and Duel (head-to-head comparison) results are analyzed and stored the same way as regular recordings — entirely on-device, in app-private storage.
We (P&C Labs, the App's own code) do not collect: your location, contacts, browsing history, or any analytics/telemetry about how you use the App. The App's own code contains no crash-reporting SDK and no analytics SDK. There is one exception regarding your advertising identifier (Google Advertising ID / GAID) — see Section 2.7, because this data is read by Google's advertising SDK that we integrate, not by us.
PITCHR uses Google AdMob (Google Mobile Ads SDK) to generate revenue. The App has two ad placements:
Interstitial ad: shown automatically right after a recording's/file's analysis finishes, just before the results screen appears.
Rewarded video ad: shown only on the "Bonus Points" screen, and only when you tap "Watch". If you watch it to completion you earn a temporary score bonus valid for 30 minutes (a few independent bonuses can be active at once); closing it early grants no bonus.
For these ads to function, the App now requests the INTERNET and ACCESS_NETWORK_STATE permissions (see Section 3) and communicates over the network with Google's servers to request and serve ads.
Important distinction: this network traffic belongs solely to Google's advertising SDK. Your voice recordings, analysis results, profile information, and app statistics are never transmitted to or shared with this SDK — they remain entirely on your device exactly as described in Sections 2.1–2.4.
To serve and measure ads, Google's Mobile Ads SDK may, on its own side (outside our code or control), typically collect:
Your device's advertising identifier (Google Advertising ID / GAID, or its restricted Android 13+ equivalent) and general device/OS information,
Your IP address (which can be used to derive an approximate location) and network connectivity information,
Ad interaction/performance data such as which ad was shown when, and whether it was clicked.
This data is collected, processed, and retained by Google; PITCHR itself does not access, read, or store it (PITCHR has no server to store it on). For information on how Google handles this data:
Google Privacy Policy: https://policies.google.com/privacy
How Google uses information from sites or apps that use its services: https://policies.google.com/technologies/partner-sites
Known limitation (EEA/UK users): the App does not currently include a Google-certified Consent Management Platform (CMP / Google's "UMP SDK"). Google's EU User Consent Policy requires apps serving ads to users in the EEA/UK to obtain explicit consent before showing personalized ads. If the App is distributed in, or receives users from, the EEA/UK, this gap needs to be closed with a CMP integration; it is being tracked as a separate code work item.
Child-directed advertising: the App is general-audience, and ad requests are not currently flagged as child-directed (tagForChildDirectedTreatment is not set).
Permission
Why it's needed
RECORD_AUDIO
To record your voice when you tap the record button. Required for the App's core feature.
READ_MEDIA_AUDIO (Android 13+) / READ_EXTERNAL_STORAGE (Android 12 and below)
To let you pick an existing audio/video file from your device to analyze ("Select File").
WRITE_EXTERNAL_STORAGE (Android 9 and below only)
Legacy permission required on very old Android versions to save exported files.
INTERNET
Required by the Google Mobile Ads SDK to send ad requests and load ads (see Section 2.7). Your voice/analysis data is never transmitted over this permission.
ACCESS_NETWORK_STATE
Lets the Google Mobile Ads SDK check network connectivity (e.g. to only attempt an ad request while connected).
The App never uses these permissions for anything other than the feature you are actively using at that moment.
The App can generate a PNG "score card" or a PDF evaluation report from your recording. This only happens when you tap Share/Download, and:
Sharing to WhatsApp/Instagram: the App hands the generated image file to the target app you pick, using Android's secure FileProvider mechanism (a narrow, non-exported content URI scoped to a small cache folder, with read-only, single-app permission grants — not a public link). We do not see or receive anything from this; it is a direct device-to-app handoff.
Saving a PDF to your Downloads folder: the file is written locally to your device's Downloads folder using Android's standard download mechanism. It stays on your device unless you separately choose to share that file.
We (P&C Labs) do not receive a copy of anything you share or download — the App has no server to send it to.
Recordings, exercises, and Duel results stay on your device until you delete them from the Archives/Certificates screens, or until you uninstall the App.
Deleting a recording removes both its metadata entry and its audio file from device storage.
Uninstalling the App removes all App-private data (recordings, profile, statistics) from your device, except for any copies you previously exported to your Downloads folder or shared externally — those are outside the App's control once created.
This App has Android's allowBackup setting enabled. This means Android's built-in backup system (cloud backup tied to your Google Account, or a local adb backup performed by someone with physical/debugging access to your device) may include the App's private data — your recordings, profile name, photo, and statistics — as part of your device's normal backup routine. This is standard Android OS behavior for apps that don't opt out of it, not a feature the App actively transmits data through. If you'd prefer your PITCHR data never be included in device backups, you can turn off Google's app backup for PITCHR (or for your device generally) in your Android system settings. This is being reviewed for a future, more restrictive default.
PITCHR is a general-audience vocal training tool and is not directed at children. It does not knowingly collect data that would identify a child, and it does not collect any data beyond what is described above (all of which stays on-device unless you export it yourself).
Recordings and profile data are stored in Android's app-private storage, which other apps cannot access on a non-rooted device.
Files shared to other apps use scoped, time-limited, single-recipient permissions (FileProvider), not broadly accessible links.
The App's own code still connects to no server of its own, so there is no App-side server breach surface for your recordings or profile data. The only network connectivity the App now has belongs to Google's advertising SDK (see Section 2.7), and the security of that traffic is managed by Google, outside our control.
The primary risk to be aware of is still local device access (see Section 6 on backups) and physical/malware access to an unlocked or compromised device, which is true of any locally-stored app data.
This section previously flagged the possibility of adding an advertising SDK to support a free tier — that has now happened (see Section 2.7), and this Policy has been updated accordingly. If we add further features that require network access, such as cloud sync, this Privacy Policy will again be updated before that feature ships. We recommend checking this document periodically if you want to stay current on what the App does with your data.
You can deny or revoke RECORD_AUDIO or file-access permissions at any time in Android Settings → Apps → PITCHR → Permissions; the App will simply be unable to record or import audio until you re-grant them.
You can manage ad personalization via Android Settings → Google → Ads (or your device's equivalent menu), including opting out of personalized ads or resetting your advertising identifier — this affects Google's advertising SDK behavior, not the App's own data.
You can delete individual recordings, exercises, or Duel results at any time from within the App.
You can remove your profile name/photo at any time from the Profile screen.
You can uninstall the App at any time to remove all locally-stored data (see Section 5).
You can disable device/cloud backup for the App (see Section 6).
Questions about this Privacy Policy or how PITCHR handles your data can be sent to:
pandclabs@gmail.com
© 2026 P&C Labs. All rights reserved.