News yesterday made rounds that iPhones have been storing location data and when extracted can give a near precise reading of where you’ve been since installing the iOS 4.0 update. Users and even a senator are raising concern about the issue.
The tracking data uses cell tower triangulation over GPS so the information collected by the iPhone doesn’t give a totally accurate picture of where you’ve been. However, the information collected can be used, with the right App, to track your general whereabouts if your phone falls in to the wrong hands. This can either be useful or dangerous with the general census leaning towards the later.
The location data is contained in a file called “consolidated.db” which can only be accessed if your iPhone is Jailbroken or someone has physical access to your computer and can read your iOS backups. Obviously the best way to secure this file filled with your general location points is to not Jailbreak your phone, don’t let anyone use an App to read the data and to encrypt your iOS backups. There are no signs Apple or another company/entity is collecting this data to track your every move. Instead, this file is likely kept to decrease the time your iPhone takes to locate your position.
However, John Gruber muses the tracking issue may be a bug or lack of oversight in how iOS purges recent location data:
I don’t have a definitive answer, but my little-birdie-informed understanding is that consolidated.db acts as a cache for location data, and that historical data should be getting culled but isn’t, either due to a bug or, more likely, an oversight. I.e. someone wrote the code to cache location data but never wrote code to cull non-recent entries from the cache, so that a database that’s meant to serve as a cache of your recent location data is instead a persistent log of your location history.
Gruber’s theory holds water. It’s likely Apple regularly logs data using cell tower triangulation to give users a quick approximation of their location when they first open Google Maps. Once the user is presented with a general bearing on their location in Google Maps or any other location aware App, iOS likely switches to the GPS to fill in the exact information. Once the GPS kicks in and the user’s location is approximated, the previous locations in iOS’s are no longer needed and should be purged.