Hacker News new | ask | show | jobs
Smartphone Keyboards: The Achilles Heel of Data Privacy (medium.com)
11 points by davideberle 1916 days ago
2 comments

No excuse for a keyboard to have internet permissions, but that's how they turn a profit. There are some great opensource keyboards available through f-droid that don't have any internet permissions, like AnySoftKeyboard, OpenBoard, and Simple Keyboard.
While these concerns are valid depending on who you ask. Am curious to know how the author came to the conclusion that gboard required let alone requested for GPS permissions. And other ones he claims to be sensitive.

Also, 200M installs does not equate to 200M users (affected).

I have 7.1.8.something and it has approximate location permission, but I see no indication of this or current version wanting exact location. The others seem in line with what Play Store webpage shows: * full network access * read the contents of your USB storage * find accounts on the device * read your contacts * record audio * take pictures and videos
All these aren't requirements for app functionality AFAIK. If any app needs a certain permission you should get a prompt to accept or deny any of them individually. If denying permissions isn't possible on nougat (don't know if this is a relevant problem, I think old android had something of the sort) maybe you should look into upgrading your device.
Internet permission cannot be turned off even in Android 11. And that's the juiciest permission.

FOSS keyboards which don't need internet permission are available on Fdroid:

AnySoftKeyboard

Simple Keyboard

OpenBoard

Indic Keyboard

Hacker's Keyboard

There's no such thing as internet permission. The only way to turn off this "juicy permission" is to not use any internet connection.

Though you can get away with firewall-ing any app you don't want connecting to the internet using apps such as netguard or afwall+.

Open source keyboards you've mentioned are probably your best bet if privacy is your main concern.

Actually there is an internet permission.

    To perform network operations in your application, your manifest must include the following permissions:
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
source: https://developer.android.com/training/basics/network-ops/co...