Most software companies can answer questions about their users. This one cannot answer any, and the reason is structural rather than a policy: the keyboard holds no network permission, so nothing it observes has ever reached me. This post is the list of what that means in practice, because "we collect nothing" is easy to say and worth spelling out.
Questions I cannot answer
How many people use FrankenKeys. I can see installs in Play Console, which is Google counting Google's downloads. I cannot see how many of those people set it as their keyboard, how many still use it a month later, or how many opened it once and went back to what they had. There is no ping on launch, no daily active count, no heartbeat.
Which theme is the most popular. Thirty-one themes and I do not know the ranking. The one named FrankenKeys leads the picker because it is the one the product is named after, not because it is the most chosen. I have no idea whether it is.
Whether anyone uses the Tesla effect, the dark sound pack, or the macro row. Every feature decision is made on taste, on reviews and on email. If a feature is loved by nobody, I will find out when somebody says so.
What languages people type in. The thirty dictionaries are all in the package. I know which languages I shipped and nothing about which ones are opened.
Where the phone is. No location permission, no IP address, because no connection.
What phone it is. Play Console shows device categories for installs, again as Google's data. The app itself never reports a model.
Whether it crashed. No crash reporter. Android's own opt-in crash statistics reach Play Console, collected by the operating system with the user's consent, and that is the only aggregate view I have. If the keyboard fails on your phone, the settings page shows the last background error, on your phone, to you.
What anyone has ever typed. Obviously, and it is the reason for the rest.
What the keyboard does count, on the phone
The keyboard keeps typing statistics, days used and words typed, for the stats page and for one decision: when to ask for a Play rating, which happens only after five distinct days of use, five hundred words, at least five days since install, at most three times ever, and to everyone who reaches that point with no "do you like it?" gate. Those numbers live on the phone, can be reset from the stats page, and are listed on the in-app Privacy page with everything else the keyboard stores about you: learned words, phrase patterns, casing preferences, touch calibration, pinned clips, key heat, per-app profiles, emoji recents, and dictation fixes. Ten stores, each with its own wipe.
The website is not the keyboard
I want to be exact about the box above. frankenkeys.com loads fonts from Google Fonts, which is a request your browser makes, and it counts page views by sending the host and path to a small worker I run, which keeps one integer per day per page and gives those integers to anyone who asks. That is the extent of it. No analytics script, no advertising pixel, no fingerprinting. You can read every line of it in the page source, because the script is inlined.
The email list on the home page stores your address, the date and which page you came from, on that same worker, and unsubscribing deletes the record. That is a thing I chose to build with a server, because it is a list of people who asked to be told when a drop opens, and it is entirely separate from the keyboard.
What this costs
It costs knowing. I would like to know which theme people love. I would like to know that a feature I spent a week on is used. I would like a crash report instead of a one-star review that says "broke". I have decided those are worth less than being able to write the sentence "nothing you type has ever reached me" and have it be a fact rather than a policy.
If you want to tell me something, the address is at the bottom of every page and it is a person, not a form. That is the whole feedback pipeline.
What Google knows, versus what I know
- Play Console shows installs, uninstalls, device categories, countries and opt-in crash statistics. That is Google's telemetry about Google's store and Google's operating system, and every Play developer gets it.
- The app adds nothing to it. It cannot: no permission, no code path, no socket.
- Play Billing tells me a purchase happened, as a purchase, in Google's reporting. Not who, not what they type.
The home page says "we have no idea what you are doing with it, and frankly that is your business". The dry version is: there is no telemetry pipeline, and the manifest is why.