I've been using Swiftkey from the very early days. It was disappointing when Microsoft bought it, which of course meant tracking and now they are adding all sorts of dumb copilot features. It's true that you have to allow Swiftkey network access at least once, to download the languages you want for predictive texting. If you do that after first install, then I don't know how much data there is for it to gather about you.
Lately, Swiftkey has been getting annoying though. I use multiple languages and it frequently predicts a word in another language from what the last word was. It seems pretty obvious that if I'm writing in English, the next work is probably not German or French. More annoying, I often type pretty normal words (for example, the other day "guardrail") and Swiftkey offers no prediction; once I type out the entire word, the prediction field is just blank. I then think, did I make some dumb mistake that I'm not seeing? Did I spell this correctly? How is this simple word not known to Swiftkey? It's super annoying and weird. Although perhaps it's a sign of how dependent I've gotten on predictive text to do double duty as a spell checker. This started maybe a year ago, but was never before an issue. I tried updating the language packs recently (which I had not done in a long time) to see if that resolved the issue, but it did not.
Still, I do like that Swiftykey offers a lot of accent characters on long press (much more than other keyboards). And I like that you can set the number/character keyboard to show the numbers in a number pad configuration, which I use all the time. Yes other keyboards offer a separate number pad keyboard, but that requires an extra click to get there, which is annoying. And if you cut and paste a link or image, when you go back to Swiftykey if offers to paste what you cut in the predictive section, a nice touch that I use a lot, eliminating extra clicks.
I did try out Futo recently, since a lot of people seem to like that, as well as Florisboard and Heliboard.
Futo came closest to being something I like. Futo offers multilingual typing, like Swiftkey (in other words you don't have to change the language setting to get predictions from a different language). It has an option for hints on keys to what the longpress will get you. Its predictions are better than Swiftkey, I think. The feature where it guesses letters that you mistyped, by predictively expanding the target zone, makes typing a little easier. And it just has a lot of options to get what you'd like. Downsides are the extra click to get a numberpad. A confusing settings layout and organization (often a problem in apps that have a high level of options). And probably most annoying, the longpress options are context dependent on a number of letters. Sometimes X which has the quotation mark hint (") allows you to get a single quote ('), which is logical, other times the single quote (') is on C. X also sometimes offers a cut (for cut and paste) option, but not othertimes; which really is unnecessary since all the cut and paste options come up when long pressing on a word. Z offers a return option on longpress, which is even more pointless because there is a return key on the keyboard. This is all confusing, hard to remember, and a good example of an app trying to be too smart for it's own good, in my opinion. Futo also does not offer things recently copied to the clipboard as an option to paste, in the predictive text field, like Swiftykey. Still, I like Futo. I'm sort of torn between it and Swiftkey now.
Florisboard literally does not currently do text prediction. What? How can you be a serious smartphone keyboard and not have that.
Heliboard was okay, but did not have multilingual typing, the number pad I like, or as good longpress accent options as Swiftkey.
I'm hopeful that Futo might improve the things I dislike and depending on one's preference it seems like a very good option. And it's great that it does not require a network connection. But other than maybe Futo, Swiftkey still seems like the best (most practical and functional) option, even while denying it a network connection (after downloading the language packs).