what happens
to your voice.

VocaPhone is a voice dictation keyboard. Transcription never touches a cloud speech service. It runs on your own device, or on a machine you already own and administer through a self-hosted gateway.

on-device is the default.

Recording and speech-to-text happen on the phone. After a transcript is safely stored, the successful audio file is deleted.

  1. 01

    Android recordings

    Audio is captured as 16 kHz mono PCM16 and written to a WAV in app-private storage while recording. The file is deleted immediately on success. It is kept only for a failed still-retryable attempt, for the retention window you choose (1, 6 or 24 hours).

  2. 02

    What the keyboard can see

    The keyboard writes through InputConnection and does not read the field for dictation. Camera is requested only for Scan QR pairing. The microphone is used only while a dictation is running.

usage reporting is off until you turn it on.

There is no analytics SDK. Play builds can include optional usage reporting, off by default. Guided setup asks once after a working transcript. Settings can change it later. Nothing is queued while it is off. If you opt in, usage events go to a self-hosted Aptabase instance VocaHQ runs at telemetry.vocahq.com. No third-party analytics service is in the path. The sender is hand-rolled against Aptabase's ingest API. Nothing identifying is stored on the phone: no install ID, no IDFV, no ANDROID_ID, no advertising ID.

Never sent: transcripts, audio, typed text, character counts, gateway URL, host, or token, model file paths, device model, exact OS build, region, or timezone. If you opt in, sent: setup step reached, transcription source (on-device or gateway, never which gateway), model download outcome, dictation success or fail with fixed reasons, recording length bucketed (<10s, 10-30s, 30-60s, 60s+), app version, OS major only, and language subtag only. Settings → Usage reporting → See exactly what's sent shows the literal JSON of the next flush. F-Droid builds compile it out. The iOS keyboard extension has no telemetry code. The Android IME holds the same line; the companion app may report if you opted in.