What does your Android keyboard actually collect?
Your keyboard sees every password you type into a form, every message before you decide not to send it, and every search you were embarrassed about. It is worth ten minutes to know what yours does. Here is what each one says in its own documentation, and how to check the answer yourself rather than taking anybody's word for it, mine included.
I make Lexo, so read the part about where it loses most carefully. Thirty days free, then $9.99 once. Get it on Google Play
The only three questions
- What leaves the phone, and is it on by default or opt in? "We don't sell your data" is not an answer to this.
- What still works with the network off? A keyboard whose good features need a server is a thin client, whatever the listing says.
- Can you check it yourself? Two things make a claim checkable: published source, or a permission set small enough that a packet capture settles the argument.
Gboard
Google's "Learn how Gboard gets better" page (read 2026-07-26) says federated learning "doesn't send the text you speak or type to Google, but will send what it learns to Google," where it is combined with what other people's phones learned. On audio it describes an opt-in donation: "snippets of your audio input on Gboard are sent to and stored by Google to improve speech recognition."
Google's advanced voice typing page (read 2026-07-26) is more specific than most people expect and deserves credit: "The text you speak stays on your device and isn't sent to Google servers except when you use the 'Fix it' or detailed edits features." That page also says advanced voice typing needs "Pixel 6 or up."
So Gboard's on-device story is real on recent Pixels and better than its reputation. What you cannot do is verify it. It is closed source, wired into Play services, and its permission set is large enough that a packet capture will not tell you much.
Microsoft SwiftKey
Microsoft's support page on what SwiftKey collects (read 2026-07-26) says anonymous usage stats "are periodically sent back," described as meta-level counts rather than content, and that "if the app crashes, anonymous info about the crash will be sent to Google and to us."
Signing in raises the ceiling: "If you create a Microsoft SwiftKey Account, various additional data can be transferred to our servers." With Backup and Sync on, "you give explicit permission for your personal language model data to be stored on our servers and processed to ensure prediction consistency between your devices."
Read plainly: the defaults are modest, and the sync feature is the part that moves a model of how you write off your phone. It is opt in. Same verifiability problem as Gboard.
HeliBoard and AnySoftKeyboard
HeliBoard's README (read 2026-07-26) says it "does not use internet permission, and thus is 100% offline." AnySoftKeyboard's README (read 2026-07-26) puts "NO internet access" in the headline, is Apache-2.0, and describes an incognito mode that "will not learn new words, will not keep history of what was typed."
These are the only two entries on this page where the answer to "what leaves the phone" is settled by the operating system rather than by a policy document. If that is what you are shopping for, stop here.
FUTO Keyboard
FUTO's site (read 2026-07-26) leads with "100% Offline, 100% Private," links source on GitLab, and describes its voice input app as "designed to work entirely on-device with no data stored." Source published on GitLab is not automatically an OSI-approved open source license, so read the license if that distinction matters to you.
Lexo
Mine, so treat it accordingly. Five permissions: RECORD_AUDIO, VIBRATE, POST_NOTIFICATIONS, INTERNET, ACCESS_NETWORK_STATE. The internet permission covers exactly three things and none of them is your text: a one-time model download of about 1.2 GB on first run, Google Play billing for the unlock, and anonymous crash reporting through Firebase Crashlytics.
Crash reporting is off unless you turn it on, at Settings, Advanced, Other, Send crash reports. Reports carry stack traces, device model and app version, never what you typed or said. It shipped on by default in earlier builds and was changed to opt in, which is worth saying rather than quietly claiming it was always this way.
Lexo is closed source, so this is a claim backed by a small permission set and a packet capture rather than by code you can read. That is weaker than HeliBoard's position and I would rather say so here than have you discover it later.
How to check any keyboard in ten minutes
- Read the manifest. The permission list is on the Play listing under App info, and any APK inspector will show you the same thing. No internet permission means the argument is over.
- Turn the network off and use it. Whatever still works was running on your phone. Whatever stops needed a server.
- Point PCAPdroid or NetGuard at it and type for a while. This is the one that actually settles it. For Lexo, expect the model download, then nothing while you type or dictate, plus a Crashlytics heartbeat until you switch crash reporting off.
- Check the sync setting. On any keyboard with an account, the cloud sync toggle is usually the single biggest thing you can change.
Lexo is the keyboard this is about. Thirty days free, then $9.99 once, no subscription and no ads. Get it on Google Play
More: six Android keyboards on what each actually sends, running a 0.5B language model inside a keyboard, what offline dictation actually means, and is Lexo safe.