Privacy Policy

Last updated: 2026-05-24

ExtMind Voice is an Android Input Method Editor (IME) that converts speech to text and applies on-device AI editing. This document describes what the app does and does not do with your data.

TL;DR. ExtMind Voice processes all voice input and text rewriting entirely on your device. Nothing is sent to ExtMind, no third party, or any external server.

What we collect

Nothing. ExtMind Voice does not collect, log, transmit, or store any personal data outside your device. We do not run analytics. We do not have crash reporting servers. We do not have user accounts.

What permissions the app uses, and why

PermissionWhy
RECORD_AUDIOTo capture your speech for on-device speech recognition. Audio buffers are processed in memory and discarded immediately after transcription. They are never written to disk and never leave the device.
FOREGROUND_SERVICE + FOREGROUND_SERVICE_MICROPHONEAndroid requires a foreground-service notification while an app holds the microphone so you can always see that the mic is active. The notification carries no personal data.
POST_NOTIFICATIONS (Android 13+)To display the foreground-service notification described above.
INTERNETReserved for a future optional cloud-rewrite feature. At present, ExtMind Voice makes no network requests.

How speech is processed

  1. The microphone records short audio chunks in memory.
  2. Voice activity detection (Silero VAD) identifies speech segments.
  3. The speech segments are passed to an on-device speech recogniser (Sherpa-ONNX with SenseVoice). The recogniser is a local file under the app's private data directory.
  4. The recognised text is displayed in the candidate strip and committed to the text field you're typing into.
  5. Audio buffers are released as soon as the segment is processed. No audio is ever saved to storage.

How AI editing (Polish / Rewrite) is processed

  1. When you tap Polish or Rewrite, the recent committed text (or selection) is passed to a local large-language model (Qwen2.5-1.5B-Instruct, running via llama.cpp on-device).
  2. The model is loaded from a .gguf file in the app's private data directory.
  3. Tokens stream back into the text field locally.
  4. No prompt or output is sent to any remote service.

How models reach your device

Voice models and the LLM are large files (~1 GB total). They are not bundled in the app to keep the install small. You install them once via adb push to the app's private storage; this is documented in the in-app setup and the project README. The models themselves are open-source releases hosted by their original authors (k2-fsa, Alibaba, ByteDance, etc.) — see the in-app Open Source section for direct links and licences.

What gets stored on your device

WhereWhat
App private data (Android/data/com.voiceim.ime/)Downloaded ASR/LLM models, optional hot-word file (hotwords.txt) for proper-noun overrides, language preference.
Shared preferencesSelected UI language (system / English / Chinese / Japanese).

Nothing in either location is accessible to other apps unless you have root.

What we explicitly do NOT do

Children's privacy

ExtMind Voice is not directed at children under 13. Because we collect no data, there is no children's data to handle.

Changes to this policy

If a future version of ExtMind Voice adds any feature that involves sending data off-device (for example an optional cloud-rewrite engine), this document will be updated before that feature ships, and the feature will be off by default with clear in-app disclosure.

Contact

If you have questions about this policy, email privacy@extmind.ai or open an issue at the project repository.