HeliBoard is already the best privacy-respecting Android keyboard. TobiBoard keeps everything that makes it good and adds what was missing: on-device voice-to-text, on-device text fix, and a proper clipboard manager — all running locally, no account, no key required. Cloud providers are available if you want more powerful models, but you never need one.
Along the way: fixed the caps-lock-gets-stuck bug, fixed the keyboard-stops-typing bug, and hardened the input connection so you never have to hide-and-reshow the keyboard to get it working again.
Runs on your device. No account. No key. No audio leaves your phone.
Long-press Return, tap the mic, speak. Your words land as polished text. Uses an on-device NVIDIA Parakeet TDT 0.6B v3 model by default. The model is multilingual and the app applies no language gate. Nothing is sent anywhere. If you want a more powerful cloud model, switch to OpenRouter or PayPerQ and bring your own key.
- On-device by default — Parakeet runs locally, audio never leaves your phone
- One-time model download of 670 MB on first use, from Hugging Face over Wi-Fi
- Cloud providers (OpenRouter, PayPerQ) available for larger models — your choice
- A custom transcription prompt is available on the cloud providers, so they get names and jargon right. The on-device model takes no prompt.
Rewrites selected text locally. No key required.
Select rough text, long-press Return, hit Fix. It comes back clean in the same language. Runs on-device by default — no API key, no data sent anywhere. Opt into a cloud model if you want something more capable.
- On-device by default — local model, nothing uploaded
- Works in any language your model supports
- Cleans typos and awkward phrasing. Both fix prompts are editable, so you can point one at tone instead.
- You review the rewrite before replacing the original
Stays on your device. Always.
Long-press the clipboard icon to browse everything you've copied. Every entry shows when it was copied and how many times you've pasted it. Long-press any entry to pin it to the top or delete it. Clipboard data is stored only on your device, in the app's private storage, and is excluded from all backups — it is never uploaded or backed up to the cloud. The copied text and your labels are encrypted at rest with AES-256-GCM using an Android Keystore key, hardware-backed where the device supports it, on Android 6 and newer. If the Keystore cannot produce a key, the clip is dropped rather than stored in plain text.
- Search, label, and manage entries from Settings → Preferences → Manage clipboard history
- Pin entries that you paste often so they're always at the top
- Add labels to find things later
If you choose a cloud provider, TobiBoard asks OpenRouter for zero-data-retention endpoints by default — your audio and text aren't logged, stored, or used for training when the model supports it. API keys are encrypted with the Android Keystore, excluded from cloud backups, and never written to logs.
| HeliBoard | TobiBoard | |
|---|---|---|
| Everything HeliBoard does | ✅ | ✅ |
| Installs alongside HeliBoard | — | ✅ |
| On-device voice-to-text (no key needed) | — | ✅ |
| On-device text fix (no key needed) | — | ✅ |
| Cloud voice/text via OpenRouter or PayPerQ | — | ✅ |
| Clipboard history with use counts + labels | — | ✅ |
| Zero Data Retention requested where supported | — | ✅ |
| API key encrypted on-device | — | ✅ |
- Install — add the F-Droid repo
https://leinss.xyz/TobiBoard/repoto your F-Droid client for automatic updates, or download the APK from Releases. - Enable TobiBoard in Android Settings → General Management → Keyboard list and default → Add TobiBoard, then select it as your default.
- Turn on what you want — voice input and text fix both ship off. Enable them in TobiBoard settings; the on-device models are a one-time download of 670 MB (speech) and 547 MB to 1.6 GB (text fix, depending on the model you pick), over Wi-Fi.
Want a cloud model? TobiBoard settings → Voice Input → Provider → choose OpenRouter or PayPerQ → paste your API key. The key field only appears once you select a cloud provider.
TobiBoard installs side-by-side with HeliBoard, so you can keep both.
Typing, glide, autocorrect, and dictionaries are fully on-device, exactly like HeliBoard. Voice and text fix are also on-device by default. If you switch to a cloud provider, audio or text is sent to that provider over HTTPS — TobiBoard has no backend, no analytics, no tracking. Once data reaches your provider, their policy applies. Read OpenRouter's policy and PayPerQ's terms before using them with anything sensitive.
git clone https://github.com/leinss/TobiBoard.git
cd TobiBoard
make fetch-native-libs # downloads the sherpa-onnx AAR into app/libs/ (not vendored)
./gradlew assembleDebugThe sherpa-onnx AAR is not committed to the repo; make fetch-native-libs downloads it (~54 MB) from the upstream sherpa-onnx GitHub release before the Gradle build can resolve it. make build-fast runs this step automatically.
Needs JDK 17, Android SDK 36, NDK 28.0.13004108. APK lands in app/build/outputs/apk/debug/.
.github/workflows/build-release-apk.yml signs the release APK with a keystore held in
repository secrets. Four secrets are needed:
| Secret | Contents |
|---|---|
KEYSTORE_BASE64 |
the keystore file, base64-encoded (base64 -i keystore.jks) |
KEYSTORE_PASSWORD |
keystore password |
KEY_ALIAS |
alias of the signing key inside the keystore |
KEY_PASSWORD |
password of that key |
With KEYSTORE_BASE64 unset the build job skips and the run is annotated, so a fork does
not get a permanently red workflow.
make build-release signs locally from environment variables instead, and takes the
keystore as a path rather than base64: KEYSTORE_FILE, KEYSTORE_PASSWORD,
KEY_ALIAS, KEY_PASSWORD.
TobiBoard stands on the shoulders of giants:
- HeliBoard, the keyboard this fork is built on.
- OpenBoard and AOSP LatinIME, the foundation of both.
TobiBoard is free and open-source — no ads, no tracking, no paid tiers. If it's useful to you, you can support continued development on Ko-fi. Thank you 🙏
GPL v3. AOSP-derived portions are also available under Apache 2.0.
Bundled dictionaries come from Helium314/aosp-dictionaries; the expanded English and Italian word lists are built from sources licensed under CC BY 4.0.
Code changes are AI-assisted but human-reviewed and tested before release; product and architecture decisions are mine.
