CIBRUSTUDIO • APPS
01 / APPLICATION SUITE · DATA GOVERNANCE

Privacy Policy. Respect for your autonomy.

Governed by Cibru Interactive (cibru.in) • Lead Developer: Krishna Moni Borah • Release: v0.1.0

Core Privacy & Data Invariants
Zero audio recording: Microphone stream is processed purely in volatile RAM buffers and never written to storage.
Zero network transmission: Audio frames never leave your device and no internet permission is used for audio.
Instant mute safety: Hardware disconnection immediately terminates the stream to protect your hearing.
Technical and support inquiries handled directly via support@cibru.in.
Privacy Policy | Mic to Headphone · CIBRU **CIBRU · Mic to Headphone** # Mic to Headphone Privacy Policy **Mic to Headphone · com.mictoheadphone** **Effective Date**: October 20, 2026 **Developer**: CIBRU · **Support**: support@cibru.in **Postal Address**: Kakojan, Jorhat, Assam - 785107, India ## 1. Audio Is Processed on Your Device Mic to Headphone is a live monitoring utility. When you start a session, the phone microphone is routed to a supported headphone output using the Android audio stack and the native Oboe/AAudio engine. - **No audio recording:** Audio frames exist only in volatile buffers needed for the active pass-through session. The app does not save recordings or upload microphone PCM audio. It does calculate local signal levels and clipping indicators for the meters, visualizer, and output protection; it does not transcribe speech or create voice profiles. - **No audio transmission:** Captured audio is not sent to CIBRU, Supabase, Google Play, AdMob, or any other network service. The app's network-capable features are separate from the audio path. - **Microphone access is session-based:** Microphone capture starts through your monitoring action and ends when the session stops. The app uses Android's microphone indicator and foreground-service notification mechanisms; notification visibility depends on Android version and your notification permission. ## 2. Android Permissions Declared Permission Android identifier Purpose **Microphone** `android.permission.RECORD_AUDIO` Captures the phone microphone input for the user-started, on-device live monitor. **Foreground service** `android.permission.FOREGROUND_SERVICE` Allows the monitoring service to continue while the app is minimized or the screen is locked, subject to the app's session policy. **Microphone service type** `android.permission.FOREGROUND_SERVICE_MICROPHONE` Declares the microphone capability of the foreground monitoring service. **Media playback service type** `android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK` Declares the headphone playback capability of the foreground monitoring service. **Notifications** `android.permission.POST_NOTIFICATIONS` Used on supported Android versions for the ongoing monitor notification and its Stop action. Android may ask you to grant this permission at runtime. **Network access** `android.permission.INTERNET` `android.permission.ACCESS_NETWORK_STATE` Supports optional AdMob advertising, Google Play/Play Integrity requests, Install Referrer, and Supabase purchase/referral HTTPS traffic. These permissions are not used to send microphone audio. **Google Play Billing** `com.android.vending.BILLING` Lets Google Play display and process optional Premium subscriptions and lets the app query purchases for verification and restoration. The app's own manifest does not request camera, location, contacts, phone, Bluetooth scanning/connection, or external-storage permissions. Bluetooth playback uses routes made available by Android; the app does not scan for or pair new Bluetooth devices. Dependencies also contribute permissions to the merged app manifest: - `com.google.android.gms.permission.AD_ID`, `android.permission.ACCESS_ADSERVICES_AD_ID`, `android.permission.ACCESS_ADSERVICES_ATTRIBUTION`, and `android.permission.ACCESS_ADSERVICES_TOPICS` support Google advertising identifiers and ad services where available. - `com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE` supports access to Google's install-referrer service. - `android.permission.WAKE_LOCK` is contributed by supporting libraries. `com.mictoheadphone.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION` is an app-specific signature permission used to protect internal receivers. Private settings and service data are stored in the app's own sandbox without an external-storage permission. Advertising providers may infer a general location from an IP address even though the app does not request location permission. ## 3. Local Data and Purchase Verification Data Where it is used or stored Why **App preferences** Private Android DataStore Monitor level, reduced-motion choice, and theme choice. No audio samples or hardware serial numbers are stored there. **Play purchase state** Private Android preferences and Supabase purchase-verification service The app retains product IDs, purchase tokens, order IDs when supplied, entitlement state, expiry and verification timestamps, known purchases, and a local installation-scoped cache identifier. Verification sends the app/product ID, raw purchase token, optional order ID, request ID, and Integrity proof to the Supabase service. The backend stores purchase tokens and purchase status for validation with Google's Play Developer API; these records are not exclusively hashes. The cache identifier stays local. CIBRU does not receive your payment-card number. **Verification proofs and requests** Google Play Integrity and Supabase Verification and purchase-data deletion use a fresh request ID and Integrity-bound proof. Purchase records are app-scoped; deletion removes the purchase row when confirmed but the backend may retain a one-way purchase-token hash marker for restoration/deletion safety. Purchase verification is not a separate CIBRU login. A Google Play purchase in the **PURCHASED** state must also pass backend verification before paid access is granted; a **PENDING** purchase does not grant paid access. Play Integrity checks the app/device and binds the request; it does not disclose or establish the purchasing Google account's identity. The private verification cache permits offline access for at most 72 hours, never beyond verified expiry, and requires fresh verification after reboot or loss of freshness. This is an access-validity limit, not a claim that all purchase data is erased after 72 hours. The app disables Android backup and device transfer for its private data. ## 4. Referral Data and Pseudonymous Identifiers Referral synchronization is a separate feature from paid subscriptions. On a fresh installation, the current client initializes the referral path unless it has been disabled; no email, password, phone number, or social-login UI is required. - The app may create an anonymous Supabase Auth session and store its access/refresh session data, user ID, and expiry in private app storage so the referral service can authenticate requests. - Referral state can include an app referral code, referral count, reward expiry, eligibility flags, installation/referrer timestamps, a cached raw Install Referrer value, and server-verification timestamps. - The app reads Android's app-scoped `ANDROID_ID` locally and derives an app-namespaced one-way SHA-256 installation identifier before registration. The first 16 hexadecimal characters of that digest are sent to match the backend's legacy `android_id` field, not the raw Android ID, IMEI, serial number, or MAC address. The backend further derives a keyed HMAC installation key for duplicate/abuse checks. - Registration also sends the package/app ID, Install Referrer payload, install/click timestamps, a fresh request ID, request hash, and Play Integrity proof over HTTPS. The anonymous Auth session authenticates and associates the request with its service user ID. Referral codes, counts, reward expiry, and app-scoped installation/event records are maintained by the service. - Only a validated server-issued referral code can be shared; the client does not fabricate a fallback reward code. Hashing makes installation identifiers pseudonymous, not untraceable: they can still associate activity with a particular installation. - The Referral Unsync deep link turns off future referral synchronization and clears local referral cache/preferences and the local anonymous Auth session. It does not request deletion of the server profile or server Auth identity. Referral-based benefits are no longer active on that installation while unsynced; a verified paid subscription is independent. ## 5. Advertising and Other Providers - **Google Play Billing and Play Integrity:** Process subscription purchases, purchase state, and app/device integrity requests. See Google's Privacy Policy. - **Google AdMob:** Supplies App Open, interstitial, and native ads in the free tier. Its SDK can collect IP addresses (and derive general location), ad/app interactions, performance diagnostics, advertising/app-set identifiers, and other device/account identifiers as described in Google's SDK data disclosure. The app does not send microphone audio to it. Ads are suppressed while a recognized Premium entitlement is active; this does not erase past Google ad data or mean that all SDK processing ceases. See Google's advertising policies. - **Google Play Install Referrer:** Provides the install-referrer value and timestamps used to attribute eligible referral installs. - **Supabase:** Hosts the app-scoped purchase-verification and referral service endpoints. Referral requests use an anonymous Supabase session; purchase verification uses the Play token and Integrity-bound request described above. See Supabase's Privacy Policy. ## 6. Deletion and Retention Limits Technical diagnostics such as device model, Android/app versions, audio-route/configuration details, frame counts, levels, and errors are processed locally without microphone recordings. Support/report helpers can format bounded text reports or temporary cache files; there is no automatic diagnostic upload. If you choose to send a report through another app or email support, that recipient receives the report under its own data-handling rules. Clearing local storage does not recall reports you have already shared. No audio recording is retained. Clearing app storage or uninstalling removes the app's local DataStore, shared preferences, cached service state, and anonymous referral session from that installation. Clearing only the Android cache removes temporary cache files but does not remove DataStore/shared-preference settings or server records. Reopening after a full storage reset or reinstall restores default synchronization behavior and may create new service state. Server deletion is app-scoped. The purchase service can retain a one-way deletion marker until 90 days after the later of the deletion time or verified subscription expiry; referral deletion can retain a one-way device key for 90 days to discourage repeat registrations. Scheduled cleanup, provider logs, backups, and any legally required retention are separate from the client cache. Contact support for confirmation of a particular request's scope and completion. Purchase-data deletion and referral deletion have separate controls and do not erase Google Play order history or data held by Google AdMob. See Data Deletion and Purchase Data Deletion for the exact scope. A request or support email is not proof that every provider has completed deletion; we report only the result returned by the relevant service. ## 7. Children's Privacy Mic to Headphone is not directed to children under 13 (or under 16 where local law requires a higher age). We do not knowingly ask children for names, email addresses, or other direct contact details. ## 8. User Rights and Contact Depending on applicable law, you may have rights to access, correct, erase, or restrict processing of personal data. Email support@cibru.in with the app name, relevant referral code or Google Play order number, and the request you want reviewed. Do not email a Google Play purchase token or other secret credential. © 2026 CIBRU · support@cibru.in