Your keyboard sees everything you type: passwords, private messages, medical searches, financial information. Gboard sends your typing data to Google. SwiftKey sends it to Microsoft. Samsung Keyboard sends it to Samsung. Every keystroke is used to train AI models and build behavioral profiles. This guide covers keyboards that process input entirely on-device with no network access.
Why Keyboard Privacy Matters
A keyboard with network access is a keylogger by design. The justification is autocorrect and next-word prediction improvement — but the data collected includes:
- All text you type in every app
- Clipboard content (when paste is used)
- Voice-to-text audio on keyboards with voice input
- Timing patterns that identify you individually
Microsoft’s SwiftKey privacy policy permits using typed content to improve language models. Google’s Gboard sends data to Google’s servers when cloud autocorrect is enabled. In both cases, you can disable cloud features — but you are trusting the app developer to honor that setting, and you cannot verify it.
Best Privacy-Respecting Keyboard Apps
AnySoftKeyboard (Android — Open Source)
AnySoftKeyboard is fully open-source, available on F-Droid, and has no network permissions. It cannot send data anywhere — there is no permission to request.
- Source: github.com/AnySoftKeyboard/AnySoftKeyboard
- F-Droid: yes
- Network permissions: none
- Autocorrect: on-device only
- Language packs: available as separate F-Droid packages
Setup on Android:
- Install from F-Droid (not Google Play — the F-Droid version has fewer tracking dependencies)
- Settings > System > Language & Input > On-screen keyboard > Manage keyboards
- Enable AnySoftKeyboard
- Select it as the default keyboard
Verify no network access:
# On Android with ADB:
adb shell dumpsys package com.menny.android.anysoftkeyboard | grep permission
# Should show NO android.permission.INTERNET
OpenBoard (Android — Open Source)
OpenBoard is a fork of AOSP Keyboard with no telemetry added and no network permissions. It supports gesture typing and emoji.
- Source: github.com/openboard-team/openboard
- Available on F-Droid
- Network permissions: none
- Very close to the stock Android keyboard experience
HeliBoard (Android — Open Source)
HeliBoard is a maintained fork of OpenBoard with additional features including better language support and gesture typing improvements.
- Source: github.com/Helium314/HeliBoard
- Available on F-Droid
- No network permissions
Trime (Android — Open Source)
Trime is a customizable keyboard based on RIME input engine, primarily used for CJK input but supports all languages. Fully on-device.
- Source: github.com/osfans/trime
- F-Droid: yes
- No network permissions
iOS Options
iOS is more restrictive — third-party keyboards can be sandboxed to deny network access. Check the “Allow Full Access” setting:
Do not grant Full Access to keyboards that don’t need it. Full Access allows a keyboard to communicate over the network.
- Canister (formerly Blink): Open-source, no Full Access required
- Keyman: Open-source, no network required for basic use
- Built-in iOS keyboard with Gboard disabled: Apple’s default keyboard does not send data to Apple servers for autocorrect (it uses on-device learning)
Check your keyboard’s network permission on iOS:
- Settings > General > Keyboard > Keyboards
- Tap your third-party keyboard
- If “Allow Full Access” is on and you don’t know why, revoke it
Blocking Keyboard Network Access on Android
Even if you install a privacy keyboard, verify your previous keyboard (Gboard, SwiftKey) is blocked:
# Using ADB shell
adb shell
# List keyboard packages
pm list packages | grep -i "keyboard\|input"
# Revoke internet permission from a specific keyboard
pm revoke com.google.android.inputmethod.latin android.permission.INTERNET
# Or disable Gboard entirely
pm disable-user com.google.android.inputmethod.latin
Without root, you can use NetGuard (firewall app for Android) to block internet access for specific keyboard apps:
- Install NetGuard from F-Droid
- Enable “Show system apps”
- Find Gboard in the list
- Toggle off both WiFi and mobile data icons
Verifying No Data Exfiltration
# On a rooted device or using a network monitoring app:
# tcpdump while typing sensitive text
adb shell tcpdump -i wlan0 -n | grep -v "ARP\|ICMP\|DNS"
# Then type "password123" in any app
# If you see outbound connections matching the timing, the keyboard is leaking
On Android, use the “Network Monitor” feature in NetGuard’s log view to see which app made each DNS query. If your keyboard app appears in the log, revoke its internet permission immediately.
Swipe/Gesture Typing Without Cloud Processing
All the F-Droid keyboards listed above support swipe/gesture typing on-device using local language models. The gesture recognition runs locally — no data leaves the device.
After installing HeliBoard or OpenBoard:
- Enable gesture typing in keyboard settings
- Download the language model file (stored locally)
- Gesture typing works identically to Gboard without any data transmission
Keyboard App Feature Comparison
| Feature | AnySoftKeyboard | OpenBoard | HeliBoard | Gboard |
|---|---|---|---|---|
| Network Access | No | No | No | Yes |
| E2EE Autocorrect | On-device | On-device | On-device | Server-side |
| Language Packs | 50+ | Minimal | 80+ | Unlimited |
| Gesture Typing | Yes | Yes | Yes | Yes |
| Emoji Support | Yes | Yes | Yes | Yes |
| F-Droid Available | Yes | Yes | Yes | No |
| Clipboard Access | No | No | No | Yes (optional) |
| Search Integration | No | No | No | Yes |
The tradeoff: Third-party keyboards have fewer language options and emoji than Gboard, but the privacy gain is massive.
Detecting Keyboard Spyware
If you’re unsure whether your keyboard is sending data:
# On Android with ADB, enable packet capture
adb shell tcpdump -i wlan0 -n 2>/dev/null | grep -v "192.168\|127.0" &
# Type in a messaging app: "This is a test message with private info"
# Stop tcpdump with Ctrl+C
# Check if keyboard domain appears:
adb shell tcpdump -i wlan0 -n -r /tmp/capture.pcap 2>/dev/null | \
grep -E "google|microsoft|samsung|swiftkey|gboard" | head -10
If you see your keyboard vendor’s domain in the packet capture, it’s sending data. Even if cloud features are “disabled,” the app may still transmit.
Using NetGuard (F-Droid firewall) is easier:
- Install NetGuard from F-Droid
- Enable VPN mode (provides network monitoring)
- Find your keyboard app in the list
- Toggle WiFi and mobile data OFF for that app
- If the keyboard works without network access, it’s genuinely on-device
- If it stops working, it requires network access — uninstall immediately
Language Models: Where Keyboard Intelligence Comes From
Modern keyboards use statistical language models to predict next words. These models can be:
Cloud-based (Gboard, SwiftKey):
- Billions of parameters trained on corpus of text
- Updates automatically when you get updates
- Every keystroke teaches the model
- Your data improves Apple/Google/Microsoft’s AI
On-device (HeliBoard, OpenBoard):
- Smaller models (due to device storage/RAM limits)
- Pre-computed, static dictionary
- No improvement over time
- No data leaves your phone
The difference in accuracy is noticeable for autocorrect, but most casual typing is unaffected. Advanced prediction (emoji selection, domain names) works worse.
Tradeoff: Slightly less intelligent autocorrect vs. no surveillance.
Disabling Clipboard Access on Android 12+
Android 12 introduced clipboard access notifications — apps are flagged when they read your clipboard. Check this regularly:
Settings > Notifications > Look for "Clipboard access" alerts
If your keyboard app appears, it’s reading clipboard content (which it shouldn’t need to). Grant only when explicitly pasting.
For older Android versions (before notifications):
# Check clipboard access via dumpsys
adb shell dumpsys clipboard | grep "Clip"
# If your keyboard appears, it has access
Autocorrect vs. Privacy: Finding Balance
The keyboard you choose depends on your use case:
Choose Gboard if:
- You write primarily in English
- You value prediction accuracy over privacy
- You’re not handling sensitive information (passwords, medical data)
- You understand Google will use your typing to train its models
Choose HeliBoard if:
- You want privacy without sacrificing features
- You’re typing in languages with good coverage (English, German, Spanish, French, Russian, Japanese)
- You can tolerate slightly less accurate predictions
Choose AnySoftKeyboard if:
- You value minimalism
- You want absolute certainty of no data transmission
- You don’t need gestures or advanced emoji support
Choose OpenBoard if:
- You want something as close to stock Android keyboard as possible
- You want lightweight and fast
- You don’t need 80 languages (20-30 available)
Setting Up Multiple Keyboards and Switching
On Android, install multiple keyboards and switch between them contextually:
Settings > System > Languages and Input > Virtual keyboard
You can:
- Use Gboard for English, HeliBoard for privacy-sensitive messages
- Use OpenBoard as default, switch to AnySoftKeyboard for passwords
- Disable Gboard if you want to prevent accidental use
Context-switching requires discipline but allows you to use the best tool per situation.
Clipboard Privacy
The keyboard sees clipboard content whenever you paste. On Android 12+, apps are notified when they access the clipboard — but older Android versions give no notification.
Best practice:
- Use a clipboard manager that auto-clears (e.g., Clipboard Cleaner from F-Droid)
- Set clipboard to auto-clear after 60-90 seconds
- Never paste passwords into unverified apps
Related Reading
- How to Detect Keyloggers on Your System
- Privacy-Focused Password Generator Tools
- Privacy Risks of QR Codes Explained
- Best Accessible Privacy-Focused Keyboard App for Users with
- AI Code Completion for Flutter BLoC Pattern Event and State
- AI Coding Assistant Session Data Lifecycle
Related Articles
- Mobile Keyboard Privacy: Which Keyboards Send Keystrokes
- Prevent Android Keyboard From Sending Typing Data To Google
- Best Accessible Privacy-Focused Keyboard App for Users with
- How to Prevent Mobile Apps From Fingerprinting Your
- Privacy-Focused Mobile Operating Systems Comparison Built by theluckystrike — More at zovo.one