A private iOS keyboard, and how to check the claim
A keyboard sees your passwords being typed, your messages before you send them and the search you deleted before pressing return. Of everything on the phone, it is the app with the least room for a vague promise.
The good news is that iOS makes the claim checkable. You do not have to take anyone's word.
One switch decides the rest.
Full Access is the permission that gives a keyboard the network, the shared container and the clipboard. Everything on this page hangs off it, and there is a separate page on what that warning means and what iOS enforces regardless.
What matters here is narrower: once a keyboard can reach the network, the promises start doing the work that the sandbox was doing before. So they need checking.
What to check.
- Try it without Full Access. If typing, correction and prediction carry on, those parts were never reaching the network to begin with. One day tells you more than a page of promises.
- Look for a sign-in. A keyboard with an account has somewhere to put what you type.
- Read the App Privacy card. The developer signs it and the App Store shows it before you install anything.
- Ask about the app too. Correction can run on the phone while the app around it still reports what you did with it. Those are two separate questions.
- Where the AI part connects. On the phone, the developer's server, or a key you own are three different answers with three different consequences.
Where EFKey fits.
There is nothing to upload and nowhere to upload it, because there is no EFKey server. Correction, prediction and swipe decoding all run on the phone, and a correction takes about 1.7 ms to decide. Full Access is optional and buys you haptics and the clipboard, and if you would rather not grant it: don't.
Where a cloud model is involved you bring your own key, and it can point at your own machine. The address is a text field, so it can point at Ollama or LM Studio running on your own computer, as well as at anything else speaking the OpenAI-compatible protocol. The key lives in your Keychain.
Where it does not.
Two things do leave the phone, and both are opt-in. Text you send through translation, dictation or AI edits goes to whichever provider your key belongs to, which is your account and not mine. GIF search talks to a GIF service, because that is the only way a GIF search can work.
Language packs download from a CDN when you add a language. That request is a plain download made by the app, never by the keyboard, and it carries nothing upward.
Quick answers.
Do I have to grant Full Access?
No. Typing, autocorrect, prediction and swipe all work without it. It buys haptics and the clipboard, and nothing else.
Is there an account?
No. There is no sign-in, because there is no server behind one.
What about the AI tools?
They use your own API key, so the text goes to your provider. Point the key at Ollama or LM Studio on your own machine and it does not leave the building.