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.
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.
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.
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.
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.
By default the captioning pipeline is fully on-device. The app connects to the network only for the following reasons:
alphacephei.com, unzips it to app-private storage, and then never contacts that server again for that model.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.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).
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.
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.
LiveCaptionN is a general-purpose accessibility tool and is not directed at children under 13. It does not knowingly collect any information from children.
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.
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.