Apple’s made a big deal about keeping the iPhone locked down, what with insisting on the App Store as the exclusive method for distributing software and keeping each application secured in its own individual sandbox. But, as we all know, Apple is not the most transparent of companies at the best of times (witness recent events with applications disappearing from the App Store).
So the comment by noted iPhone hacker Jonathan Zdziarski that an iPhone framework pointed to what appeared to be an application blacklist on Appe’s servers raised more than a few hackles. But what wasn’t clear was exactly what the blacklist in question did. Many tech sites took the information and ran with it, branding the blacklist as a “kill switch” that could be used to remove applications—despite the lack of proof backing up that assertion.
Daring Fireball’s John Gruber spoke to an unnamed Apple source, who implied that the function wasn’t that powerful—rather, it would prevent applications from using Core Location, the framework in which the blacklist URL appeared, which would mean that they couldn’t access the iPhone’s GPS or other location data.
An informed source at Apple confirmed to me that the “clbl” in the URL stands for “Core Location Blacklist”, and that it does just that. It is not a blacklist for disabling apps completely, but rather specifically for preventing any listed apps from accessing Core Location—an API which, for obvious privacy reasons, is covered by very strict rules in the iPhone SDK guidelines.
Zdziarski confirmed this on his own blog yesterday:
With a little DNS spoofing, I’ve managed to feed my own list into the iPhone and effectively kill any application that attempts to use the GPS, including Google Maps. It looks like tasers are only set to ‘stun’ right now, but that may just be because I haven’t found the knob to vaporize the app.
I’ve got to side with Gruber on this one: the Core Location framework seems an awfully strange place to hide something that could effectively kill applications. Which doesn’t mean that such functionality doesn’t exist, just that perhaps this isn’t it. Does Apple have a right to kill Core Location access for certain apps? That’s a trickier question: preventing a malicious application from having access to your location seems like Apple doing you a solid, but it also seems like there’s the potential for misuse either by Apple or by hackers.
However, so far, there’s no evidence or examples of Apple using the Core Location-disabling functionality (the URL in question contains only placeholder data), nor is there any evidence of a mechanism for removing applications remotely. And there have certainly been at least one application already pulled from the App Store that Apple (or AT&T) might want to see removed from phones.