Menu

Privacy Policy — SpeechTypeLocal

Last updated: April 7, 2026

Who We Are

SpeechTypeLocal is developed and published by Cuprbot Labs, an independent software developer.

For any privacy-related questions or data deletion requests, email us at the address above.

What This Policy Covers

This policy applies to the SpeechTypeLocal Android app available on Google Play. It describes what data the app handles, what leaves your device, and what stays on it. We do not operate a web service associated with this app, so this policy covers the app only.

Our Privacy Promise

Your voice never leaves your device. Your transcripts never leave your device.

SpeechTypeLocal runs a local AI speech model (Whisper, via the sherpa-onnx runtime) directly on your phone. When you speak, audio is processed entirely in memory on your device and converted to text there. No audio is streamed to a server. No transcription is sent to a cloud. There is no "our server" receiving your words — because we don't have one that touches your speech data.

This is the entire point of the app. We built it this way on purpose.

What Stays on Your Device

Everything that matters to you stays on your device and is fully under your control:

  • Audio recordings (.wav files) — stored in the app's private documents directory. Delete via Settings → Privacy → Delete all recordings, or uninstall the app.
  • Transcription text — stored in a sandboxed Hive local database. Delete via Settings → Privacy → Delete all recordings, or uninstall the app.
  • App settings and preferences — stored in the Hive local database. Removed when you uninstall the app.
  • Whisper model files (.onnx) — stored in the app's private documents directory. Delete via the Model Manager screen.
  • Anonymous analytics ID — stored in the Hive local database. Removed when you uninstall the app (see Analytics section below).
  • Pro purchase entitlement cache — stored in the Hive local database. Removed when you uninstall the app.

Deleting the app deletes all of the above. Android does not sync this app's private storage to cloud backup (the app sets android:allowBackup="false"), so uninstalling leaves nothing behind on the device.

What We Send Off-Device

There are four — and only four — ways data leaves your device. Each is described precisely below.

1. Anonymous Usage Analytics (PostHog)

We use PostHog, a product analytics service, to understand how the app is being used so we can improve it.

What we send:

  • App lifecycle events: launch, foreground, background
  • Screen views (which screen you're on, not what's on screen)
  • Recording lifecycle: started, paused, resumed, completed, cancelled — with counts and durations (e.g., "recording lasted 42 seconds, produced 87 words")
  • Feature usage: model downloaded, overlay enabled/disabled, bubble tapped, text injected (success/fail)
  • Settings changes: theme toggled, bubble color changed
  • Monetization events: Pro screen viewed, purchase completed/cancelled/restored
  • Error events: recording start failed, model download failed (error type only, no stack traces with user content)

What we never send:

We never send the words you speak or type. We never send transcription text, audio content, search query text, or any user-generated content through the analytics pipeline. The AnalyticsService in our source code enforces this rule centrally — every event is a structured object with numeric counts and identifiers, never raw text.

How you are identified:

You are assigned a random UUID (generated on first launch, stored locally in the app database) as an analytics identifier. This ID has no connection to your name, email, Google account, device hardware ID, or any other personally identifiable information. It is used only to count unique users and sessions.

Super-properties sent with every event: app version, platform name (android), OS version string, session number (integer), install date.

PostHog data flows to: PostHog Inc. servers in the United States (us.i.posthog.com). See PostHog's privacy policy.

Opt-out: Analytics run automatically. If you want your analytics distinct ID removed from PostHog's database, email support@cuprbotlabs.com with the subject "Analytics opt-out" and we will delete the record.

2. Whisper Model Downloads (Hugging Face CDN)

When you download a Whisper model (required before first use), the app makes an outbound HTTPS request to download a model file from Hugging Face's CDN (the csukuangfj repository). This is a one-way file download — no personal data is sent in the request beyond what standard HTTPS connections include (your IP address, visible to Hugging Face's CDN). The downloaded .onnx model file is stored locally and used entirely on-device thereafter. Hugging Face privacy policy.

3. Feedback Form (Your Explicit Consent)

Settings contains a "Send feedback" form. If you type a message and tap Send, the contents of that form — your feedback text, optional star rating, and optional email address — are sent to us via PostHog as a feedback_submitted event.

This is the only place user-typed text leaves your device, and it only happens when you explicitly submit the form. The form is clearly labeled, opt-in, and never fires automatically. Providing an email address is optional and only needed if you want us to reply.

4. In-App Purchases (RevenueCat + Google Play Billing)

If you purchase SpeechTypeLocal Pro, the transaction is processed by Google Play Billing. Payment details (card number, billing address) are handled entirely by Google and never seen by us or RevenueCat.

RevenueCat (our purchase management layer) receives:

  • Your anonymous RevenueCat user ID (an opaque identifier, not linked to your name or email unless you provide it)
  • Purchase history: which product was purchased, when, and whether the entitlement is active
  • Platform: Android

RevenueCat does not receive your transcription text, audio, or any content from the app. Purchase history is collected to unlock Pro features and verify entitlements across reinstalls. RevenueCat privacy policy | Google privacy policy.

Permissions and Why We Need Them

  • Microphone (RECORD_AUDIO) — to capture audio when you start a recording session. Audio is processed on-device only.
  • Display over other apps (SYSTEM_ALERT_WINDOW) — to draw the floating dictation bubble that stays visible while you use other apps.
  • Foreground service — microphone (FOREGROUND_SERVICE_MICROPHONE) — required by Android 14+ to keep the microphone delivering real audio when the app is in the background. Without this, the OS silently mutes the mic after a few seconds. The microphone foreground service is started by the record plugin only after you grant microphone permission.
  • Foreground service — special use (FOREGROUND_SERVICE_SPECIAL_USE) — keeps the floating bubble overlay service alive in the background. This service only renders the UI bubble — it does not open the microphone.
  • Accessibility service (BIND_ACCESSIBILITY_SERVICE) — used exclusively to inject transcribed text into the text field you are currently focused on in another app, after you tap the paste/inject button. The accessibility service cannot read screen content from other apps, cannot record what other apps display, and does not perform any background monitoring. Its scope is write-only text injection into the focused input field.
  • Internet (INTERNET) — model file downloads from Hugging Face, analytics events to PostHog, and purchase verification with RevenueCat.
  • Billing (com.android.vending.BILLING) — required to initiate in-app purchases via Google Play.

Data We Do Not Collect

To be explicit: SpeechTypeLocal does not collect any of the following:

  • Your name, email address, or phone number (unless you voluntarily provide an email in the feedback form)
  • Your location (GPS or IP-based geolocation)
  • Your contacts, photos, or files outside the app's own storage
  • Your device advertising ID (GAID/IDFA)
  • Your Android ID or other hardware identifiers
  • The content of other apps on your device
  • Screen recordings or screenshots of other apps
  • Voiceprints or biometric templates derived from your audio
  • Any data from the Accessibility service beyond injecting text you asked us to inject

Children's Privacy

SpeechTypeLocal is not directed at children under 13 years of age (or under 16 in the European Economic Area). We do not knowingly collect personal data from children. If you believe a child under 13 has used the app and that personal data was inadvertently collected, please contact us at support@cuprbotlabs.com.

Your Privacy Rights

Because SpeechTypeLocal has no user account and does not collect personally identifiable information directly, most privacy rights are satisfied by the app's design:

Right of access and deletion: Your recordings and transcripts are on your device. Delete them anytime via Settings → Privacy → "Delete all recordings," or by uninstalling the app.

Analytics data: Your analytics record is tied to an anonymous UUID. To request deletion of your PostHog record, email support@cuprbotlabs.com with "Analytics opt-out" in the subject line. We will locate the record by distinct ID and delete it.

Purchase data: To request deletion of RevenueCat purchase records, email support@cuprbotlabs.com. We can initiate deletion via RevenueCat's API. Note that Google Play retains its own purchase records independently.

GDPR (European users): You have the rights of access (Article 15), erasure (Article 17), restriction (Article 18), portability (Article 20), and to object to processing (Article 21). You also have the right to lodge a complaint with your national data protection authority. The lawful basis for analytics processing is our legitimate interest in understanding how the app is used to improve it (Article 6(1)(f)). The lawful basis for purchase processing is contract performance (Article 6(1)(b)).

CCPA (California users): We do not sell or share personal information for cross-context behavioral advertising. Your rights of access, deletion, and correction can be exercised by contacting support@cuprbotlabs.com. We do not sell your data.

International transfers: PostHog and RevenueCat are US-based services. Data sent to them is transferred to and processed in the United States. Both companies participate in GDPR-compliant data processing frameworks and offer Data Processing Agreements.

Data Retention

  • Audio recordings and transcripts — stored locally until you delete them or uninstall the app. We have no server-side copy.
  • PostHog analytics events — retained by PostHog per their standard retention policy (currently 1 year for free tier, configurable for paid). Deletable on request.
  • RevenueCat purchase history — retained by RevenueCat to support entitlement restore across reinstalls. Deletable on request.
  • Feedback submissions — retained in PostHog as events. Deletable on request.

Security

All data transmitted off-device (analytics, model downloads, purchases, feedback) uses HTTPS/TLS encryption in transit. Your audio and transcripts are stored in the app's private sandbox on-device and are not accessible to other apps. We do not operate servers that store your speech or transcription data.

Third-Party Services

  • PostHog Inc. — Anonymous usage analytics and feedback collection. Privacy policy.
  • RevenueCat Inc. — In-app purchase management and entitlement verification. Privacy policy.
  • Google Play Billing — Payment processing for Pro upgrade. Privacy policy.
  • Hugging Face — CDN delivery of Whisper model files. Privacy policy.

Changes to This Policy

If we make material changes to what data leaves your device or how it is used, we will update the "Last updated" date at the top of this policy and display an in-app notification on next launch. Non-material changes (wording clarifications, new contact address) will update the date only.

Contact

Questions about this privacy policy or requests for data deletion:

Cuprbot Labs
Email: support@cuprbotlabs.com

We respond to privacy inquiries within 30 days.