Skip to content

Android client permissions

Mladen Pejaković edited this page May 11, 2016 · 4 revisions

This page is also translated into: German, Dutch, Serbian

Should I trust permissions requested by Kontalk?

Kontalk is an open source project. As such, source code is available for anyone to read and check. Any permission we request in Kontalk Android client is necessary for it to work correctly. However, if you don't really trust the prebuilt apk from Play Store, you can download it from F-Droid: they certify that their packages are built directly from the source code.

Permissions

android.permission.ACCESS_NETWORK_STATE

Used to check for network presence in order to start/stop background service accordingly.

android.permission.AUTHENTICATE_ACCOUNTS

Used to act as an Android authenticator when creating the Kontalk account in system configuration.

android.permission.CALL_PHONE

Used by the Call menu item to place a direct call to the buddy you are chatting with.

android.permission.GET_ACCOUNTS

Needed by the account authenticator to retrieve the list of Kontalk accounts on the device (only one for now, but needed anyway).

android.permission.INTERNET

Internet access (of course).

android.permission.MANAGE_ACCOUNTS

Needed for adding/removing Kontalk accounts in system configuration.

android.permission.READ_CONTACTS

Needed for reading contacts and checking which ones are registered in Kontalk. Only hashes of phone numbers are sent to the server. No actual phone numbers are sent.

android.permission.READ_EXTERNAL_STORAGE

Needed for reading external storage when sending media.

android.permission.READ_PHONE_STATE

Used in the first registration screen to automatically obtain the device phone number and fill in the registration form.

android.permission.READ_SYNC_SETTINGS

Allows Kontalk to check if contact sync is enabled in system settings.

android.permission.READ_SYNC_STATS

Needed for checking if a contact sync is currently active.

android.permission.RECEIVE_BOOT_COMPLETED

Used to notify the user on boot about unread messages.

android.permission.USE_CREDENTIALS

Needed so the Kontalk authentication token can be used to login to the server.

android.permission.VIBRATE

Needed for enabling vibration when notifying about incoming messages.

android.permission.WAKE_LOCK

Needed to keep the device on when connected to the service or doing active conversation. Note that Kontalk never keeps the display on, just the device.

android.permission.WRITE_CONTACTS

Used to write Kontalk entries in Android contacts for registered buddies.

android.permission.WRITE_EXTERNAL_STORAGE

Needed for storing downloaded media.

android.permission.WRITE_SYNC_SETTINGS

Used during first registration to set the Kontalk account to automatically sync (however the master sync setting is not touched).

com.google.android.c2dm.permission.RECEIVE

Needed for the push notifications feature.

org.kontalk.permission.C2D_MESSAGE

Needed for the push notifications feature.

com.android.vending.BILLING

Needed for in-app donation.

Clone this wiki locally