So after it turned out ios4 has been storing nearly all the wifi and cell sites you’ve been near since you upgraded to the firmware is an sqlite file which is backed up to your PC unencrypted via iTunes, @packetlss has found the Android equivalent.
Why They Do It
You expect your phone to be able to tell you the weather for your current location, maps to know where you are and to check into foursquare in seconds.
In the old days phones has two options. 1) Turn GPS on, wait a while for a fix, hope you are outdoors, and finally let you know where you are. For SatNav it’s worthwhile, but for quick lookups not so great.
2) Ask the phone companies to tell the phone where you are. Vodafone know which cell you are using, they know where they put that cell and they know which areas it covers, so they sell this information when you give permission.
As location based services have grown with smartphones, the manufactures have got clever. Why pay the networks for this information. It’s not like the cells move.
But how do you record this data? First option is to drive around the country recording which cell sites you can see whilst tracking yourself with GPS. You eventually build up a large database of decent information. I believe Apple buy this from a company which did just that, whilst Google used the Streetview cars to do it for them.
However these companies also have millions of users with devices which when running GPS applications could record which cells they see and send that back home (in an anonymous way) to keep the database fresh.
The problem with cell data is that it puts you in roughly a 1km area, and for high density cities that could mean you were at one of ten Starbucks. So they use Wifi hotspots as the areas they cover tend to be in the hundreds of meters. Again same methods for collecting the database.
So for your phone to known where you are it checks for wifi hotspots and cell sites and asks Google/Apple to pinpoint you. This requires an internet connection so it makes sense to store a copy of the answer on your phone for when you either have no connection, or haven’t moved but are using something else which wants your location.
It appears that Apple have been storing everything they have seen on the iPhone and it is this which allows someone to work out roughly where you were on the 1st April.
Google is only keeping a cache, it stores the most recent 50 cells and 200 wifi points, and contains no duplicates. So whilst looking at my file I can see that I was at home last night, I can’t confirm that for any other day.
Apple are backing up the file to your PC which allows spouses to check up on each other, whilst Android has it stored in the hidden data partition which requires root access to get at, something most ordinary users won’t have.
I’m happy with Google’s solution and think maybe Apple should be using the limited data method too.
data extracted from my personal phone