LiveCaptionN
Features Languages Screenshots FAQ Download

Privacy policy

Last updated: 12 April 2026

Short version. LiveCaptionN has no accounts, no analytics, and no telemetry. Speech recognition and translation both run on your device by default. The app includes Google AdMob ads (a banner and an app-open ad) which are served by Google’s ad network and are governed by Google’s privacy policy. Apart from ads, the app only reaches the internet when you explicitly tell it to — to download a Vosk speech model, download a Google ML Kit translation model, check GitHub for a new release, or send audio/text to an optional server you have configured yourself. Your captions and transcripts never leave your phone.

1. Who this policy is from

LiveCaptionN is a free, open-source Android application maintained by chartmann1590. The full source code is available on GitHub and every release is built reproducibly by GitHub Actions from a public commit you can audit.

2. What data LiveCaptionN processes

Microphone / system audio

When you start a captioning session, LiveCaptionN reads raw PCM audio from either your microphone (via Android’s VOICE_RECOGNITION source) or the currently playing app (via MediaProjection + AudioPlaybackCapture). That audio is fed in ~100 ms chunks into the speech recognizer you have selected and is never written to disk and never sent over the network under the default configuration. Audio chunks are held in memory only for as long as it takes the recognizer to consume them, then discarded.

Transcripts

Finalized transcript lines (original and translated text) are saved locally in a JSON file inside the app’s private storage so you can review them on the History screen. That file is not shared with anyone and is removed when you uninstall the app or clear its data from Android’s system settings. There is no cloud backup.

Settings

Your configuration (language pair, overlay position, chosen backends, server URLs you entered, etc.) is stored locally via Android DataStore Preferences in the app’s private storage. It never leaves your device.

3. Network connections LiveCaptionN may make

By default the captioning pipeline is fully on-device. The app connects to the network only for the following reasons:

  • Vosk speech model downloads. When you tap Manage on-device models and pick a new language, the app downloads the model zip from alphacephei.com, unzips it to app-private storage, and then never contacts that server again for that model.
  • Google ML Kit translation model downloads. The first time you use a given language pair, Google ML Kit downloads a ~30 MB translation model from Google’s model service. After that the translation step is fully offline. The download is performed by Google Play Services on your behalf — see Google’s ML Kit terms and Google’s privacy policy for details about that traffic.
  • GitHub release check. Roughly twice a day, a background WorkManager job calls the public api.github.com/repos/chartmann1590/LiveTranscribe-Android/releases/latest endpoint to see whether a new version of the app has been published. The request sends no personal information beyond the standard HTTP metadata every app sends to any web server (IP address, User-Agent). You can disable update notifications by turning off the app’s notification permission.
  • Optional LibreTranslate server (only if you enable it). If you switch the translation backend to LibreTranslate in settings, the recognized text is POSTed to the LibreTranslate URL you configured. LiveCaptionN ships no default LibreTranslate server — you provide one. No data ever goes to a server the developer controls.
  • Optional remote Whisper server (only if you enable it). If you switch the speech backend to the remote Whisper endpoint, captured audio is POSTed to the Whisper URL you configured. Same deal: you provide the URL, nothing goes to the developer.

If you use neither the Whisper nor the LibreTranslate backend, and you have already downloaded the Vosk and ML Kit models you need, the captioning pipeline itself works while your phone is in airplane mode (ads require a network connection to load).

4. Advertising

LiveCaptionN displays ads served by Google AdMob: a banner at the bottom of the main UI and an app-open ad when you return to the app. Ads are displayed only inside the app’s own activity — they never appear in the floating caption overlay.

The AdMob SDK may collect and process certain data as described in Google’s privacy policy and Google’s advertising policy. This may include device identifiers, IP address, and interaction data for the purpose of serving and measuring ads. LiveCaptionN does not send any of your audio, transcripts, or settings to Google’s ad network — only the standard data that the AdMob SDK collects on its own.

You can opt out of personalized advertising in your Android device settings under Google → Ads → Opt out of Ads Personalization, or by using an ad blocker. Opting out does not remove ads entirely but prevents Google from using your data to personalize them.

5. What LiveCaptionN does not do

  • No account creation or login of any kind.
  • No first-party analytics, crash reporting, or telemetry SDK.
  • No data sold or shared with third parties outside of what the AdMob SDK collects as described in section 4.
  • No background audio capture — audio is only read while a captioning session is actively running and a foreground service notification is visible.
  • No access to your contacts, calendar, photos, SMS, call logs, or files outside the app’s private storage.

6. Permissions the app requests and why

  • RECORD_AUDIO — needed to capture microphone audio for speech recognition. Only used while a captioning session is active.
  • SYSTEM_ALERT_WINDOW — needed to draw the floating caption window on top of other apps. No data crosses this boundary; it is a rendering permission.
  • FOREGROUND_SERVICE, FOREGROUND_SERVICE_MICROPHONE, FOREGROUND_SERVICE_MEDIA_PROJECTION — required by Android 14+ so the captioning service can run with a persistent notification while you switch to another app.
  • POST_NOTIFICATIONS — used for the captioning session notification and for optional in-app update alerts.
  • INTERNET — used only for the network connections listed in section 3.

LiveCaptionN does not request location, contacts, storage (outside its own private directory), SMS, phone state, or biometric permissions.

7. Children

LiveCaptionN is a general-purpose accessibility tool and is not directed at children under 13. It does not knowingly collect any information from children.

8. Changes to this policy

If this policy ever changes, the updated version will be published at this URL and the “Last updated” date at the top will change. Because the app has no way to phone home, you will not receive an in-app notification about policy changes — check this page when a new release notes it.

9. Contact

Questions, concerns, or security reports should be filed as an issue on the project’s GitHub repository: github.com/chartmann1590/LiveTranscribe-Android/issues. For sensitive security reports you can open a private security advisory via the same repository’s Security tab.

LiveCaptionN

Home · GitHub · Releases · Report an issue

© 2026 chartmann1590. Open source under the MIT license.