Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Why Does AnySoftKeyboard Requires Extra Permissions
I'll start by saying that, as a keyboard, AnySoftKeyboard does not require any special permission. It can safely operate with no permissions and in fact, running under Android Marshmallow or later, you can decline to approve those permissions and everything will work just fine.
Saying that, in order to provide users with greater personalization and productivity, AnySoftKeyboard asks for the following permissions:
- Read Contacts - this permission is used to read the user's contacts stored on the device. AnySoftKeyboard is using this information to provide you with a personalized word suggestion: while you type a word, we look for similar words to auto-complete and auto-correct your typing. Having your contacts names helps AnySoftKeyboard go beyond the traditional language dictionary (for example, auto-correcting your friends' names etc.). You can turn-off Contacts Dictionary in AnySoftKeyboard settings if you like.
- Read/Write to External Storage - this permission is used for backup and restore functionality. AnySoftKeyboard can backup your personal User-Dictionary (words that you have added to AnySoftKeyboard dictionary).
- Vibration - to vibrate when key-pressing.
_Notice:_ This app _does not_ have _Internet_ permission, so it can not send any of the collected data (contacts or files) to anyplace outside your phone!
_Note:_ Full list of permissions can be extracted from the [AndroidManifest.xml](https://github.com/AnySoftKeyboard/AnySoftKeyboard/blob/master/src/main/AndroidManifest.xml) file.