Lexo
‹ Lexo

Is Lexo safe, and what does it collect?

Last updated:

Short answer: it collects no text, no audio, no contacts and no advertising ID, and there are no ads and no third-party analytics. The longer answer is the part that matters, because you shouldn't take a keyboard's word for this.

Lexo is the keyboard this page is about. Thirty days free, then $9.99 once. Get it on Google Play

Which Lexo this is

This page is about Lexo Keyboard, an Android keyboard published by K4Y Apps under the package name com.lexo.keyboard. A handful of unrelated companies and apps use the name Lexo, and some of what search engines return for "Lexo" has nothing to do with this app. The package name is the thing that identifies it: if the listing you're looking at isn't com.lexo.keyboard, it isn't this.

Why the question is a fair one

A keyboard sees every password you type, every message you write, and every search you run. It's the single most sensitive app on the phone, and "trust me" is not a good enough answer from any of them, including this one. So the useful version of this page isn't a promise. It's the list of things you can check.

The five permissions

Lexo's own manifest declares exactly five. The installed app can list a few more that the Play billing library and Android itself add; none of them gives the app your text or audio.

PermissionWhat it's for
RECORD_AUDIODictation. The recognizer runs on the phone, and the audio isn't uploaded or stored.
VIBRATEHaptic feedback on keypress.
POST_NOTIFICATIONSThe progress notification while the models download.
INTERNETFive things, none of them your text. See below.
ACCESS_NETWORK_STATEChecking you're on Wi-Fi before starting a model download of several hundred megabytes.

There's no READ_CONTACTS, which a lot of keyboards ask for to learn names. There's no location, no storage, and no advertising ID.

What the internet permission actually does

Five things:

  1. The one-time model download. About 545 MB for the English typing model at setup, and a separate speech model the first time you use the mic, because voice is opt-in and downloads separately. Other languages download different, smaller typing models. Over Wi-Fi, verified by md5. This is the only large transfer Lexo ever makes.
  2. Google Play billing, for the paid unlock after the trial.
  3. Crash reporting through Firebase Crashlytics, which is off unless you turn it on at Settings › Advanced › Send crash reports. Reports carry stack traces, the device model and the app version. They never carry what you typed or what you said.
  4. A daily tally of usage counts, off unless you turn it on at Settings › Advanced › Share usage counts. Numbers only, sent to a server I run.
  5. One anonymous request after install. Sent once, to a server I run. It carries only the Google Play install source tags (utm source, medium, campaign and content) and the app version. No device ID, no sign-in, no advertising ID, nothing you typed or said, and nothing that links it to you.

How to check it yourself

This is the part I'd actually do in your position, and it takes about ten minutes:

  • Point a network monitor at it. PCAPdroid and NetGuard both work without root. Past the model download and that one install request, typing and dictating generate no traffic at all. If you switch crash reporting on you'll see Crashlytics check in, and switching it back off stops that too. I'd rather tell you exactly what the capture looks like than promise silence and have you catch a heartbeat.
  • Turn on airplane mode and keep typing. On the trial or after the unlock, suggestions and dictation both keep working once the models are downloaded, which is the practical proof that they're running locally.
  • Read the permission list in the installed app's settings and compare it to the five above. Extra Play billing or Android entries are expected, and none of them gives the app your text or audio.

What I can't prove to you

Lexo is closed source, built on the open-source FlorisBoard project. That's a real objection and it's worth saying plainly: you're taking my word on the source code. You are not taking my word on the behaviour. A network capture doesn't care what I claim, and neither does airplane mode. If auditable source is your bar, the comparison writeup covers HeliBoard and AnySoftKeyboard honestly, and one of those is probably the better answer for you.

The models themselves are open weight, for suggestions and for speech. The per-model licence list is in the terms. The runtimes are llama.cpp and sherpa-onnx. There's nothing secret on the model side.

The short version

  • No text or audio leaves the phone.
  • No ads, no third-party analytics, no advertising ID, no contacts access.
  • Crash reporting is opt-in and off by default.
  • One anonymous request after install: Play install source tags and app version only, no identifier.
  • Five permissions, and you can check every claim above with a free network monitor.

Thirty days free with everything unlocked, no card. Then $9.99 once, not a subscription. Get it on Google Play

See also the privacy policy and the permissions breakdown on the home page.