This post might be a bit boooooring for some of you as its a little technical. But we do get asked a bit why we need so many Android permissions – these are the things that Android warns you about just before you download an app. We do ask for quite a few permissions, here they are with accompanying reasons:
- Read Phone State And Identity
This permission is necessary to listen for changes to your signal strength and in your connected towers. The app does not access your phone number, it does look read the serial number of the phone (the IMEI) but it encrypts (using a hash) before its sent to our database. So we never see it. Why are we interested in your phone’s serial number? Well we’re not – that’s why its encrypted – but we do need some sort of unique identifier for each device. This is for a couple of reasons: 1) it helps to be able to see how many different users are sending data, 2) eventually we want to show you your personal signal history. To do this we envisage you being able to link a user account with your phone and a unique ID for the phone is key.
-Modify/Delete USB Storage Contents Modify/Delete SD Card Contents
In running the ‘speed test’ we download a file onto the sdcard of your phone, we then upload it and delete. You can take a look at the folder ‘opensignalmaps’ in the root of your SD card, it should be empty. We’ve also got plans to allow you to export data that the app has logged into your SD card.
- Prevent Device From Sleeping
We’re not actually using this currently, we wanted to put it in there so that in ‘battle mode’ (when the app logs data more quickly) you can leave the screen on.
We also ask for your location, internet access and the ability to change wifi state (you can click on router icons in wifi mode and connect to them).