FAQ

Android Permissions

Unfortunately the android SDK doesn’t make it easy to find the list of function that each permission gives you access to, so we’ll need to work backwards from each function to confirm why we are using each permission. Here’s a start from memory that needs to end up on our wiki, and needs some more specific details.

Our permission list is a combination of the permissions used by SipDroid and WifiTether, the two application our source code was initially based on. Some may now be redundant and might be removed in future.

While this list may appear scary, the source code for our software is available if you wish to confirm what we are doing with these permissions. And we would encourage external auditing to look for security issues or unexpected leakage of personally identifiable information.

RECEIVE_BOOT_COMPLETED
Our software should automatically start when the phone is turned on, if it was still running when you switched it off.

ACCESS_WIFI_STATE, CHANGE_WIFI_STATE
We can use the internal wifi controls to enable communications.

INTERNET
This permission is required for creating any network traffic.

READ_PHONE_STATE
When you first setup our software, we try to obtain your real phone number so it can be registered on the mesh.

BLUETOOTH, BLUETOOTH_ADMIN
During a call, you may use a headset.

PROCESS_OUTGOING_CALLS
We intercept all outgoing calls while our software is turned on to give you the option of reaching your contact via the mesh.

CALL_PHONE
If you choose not to use our software, we need to place the call again.

RECORD_AUDIO
For transmission to the person you are talking to.

DISABLE_KEYGUARD
Allow you to answer incoming calls, bypassing the normal screen unlock.

MODIFY_AUDIO_SETTINGS
Changing the in call volume.

WRITE_SETTINGS
Read ringtone, volume and vibrate settings for incoming call notifications.

VIBRATE
Notification of incoming calls.

READ_CONTACTS
Display the name of an incoming caller.

WRITE_CONTACTS
Insert incoming and outgoing call information.

WAKE_LOCK
Make sure we keep the phone awake for relaying packets.

CAMERA
Sipdroid has some experimental support for video calling, that probably doesn’t work. But we haven’t removed it yet.

WRITE_EXTERNAL_STORAGE
Writing log files and storing some state between installs to speed up the development process.

GET_ACCOUNTS

BROADCAST_STICKY
We broadcast the state of adhoc wifi so our own UI and other applications can display that state.

READ_SMS, WRITE_SMS
If SMSDroid is installed on your phone, our software can be used to send messages. This required us to insert any incoming messages.

Enhanced by Zemanta