By Nathan Willis
July 24, 2013
In the wake of the ongoing U.S. government surveillance scandal,
general interest in the issues of user privacy and anonymity has
swelled to new heights. Often, free software is criticized in
discussions of the topic for providing technically sound privacy
options that are far too difficult to use in practice. But
CyanogenMod (CM), the aftermarket Android firmware project, has recently
added a feature that might meet the demands of usability mavens: an
"incognito" execution mode that denies apps access to the user's
personal information and to traditional tracking features.
CM developer (and "Cyanogen" himself) Steve Kondik announced
the feature on June 11. The feature adds a per-application flag, so
that users can launch any individual app in the incognito mode or
allow it to run as usual. When enabled, Kondik said, the mode will
return empty lists when the application requests contacts, calendar
events, web browser history, phone call logs, or messages. It will also report the GPS
to be disabled, although the GPS will continue to function for the
benefit of other apps not running incognito.
The idea behind incognito mode is an all-or-nothing switch; there
are no fine-grained options to worry about or potentially
misconfigure. The project also defines a solitary API call,
context.isIncognito(), which would allow the application to detect
whether or not it was launched in the restricted mode. It is up to
the app developer, Kondik said, whether to allow standard
operation under these circumstances, to shut down and refuse to run,
or "they can choose to display pictures of cats instead of
running normally."
Notably, the incognito mode is not designed to obscure the devices'
IP address or its IMEI
number from remote services or connections, nor does it
block ad content or restrict apps from accessing the network; it
only seeks to block access to user data. The feature was renamed
"Privacy Guard" a few weeks later (which arguably offers a clearer
description of the feature), and was merged into the main CM
codebase. The merge was too late to make the cut for the CM 10.1.0
release on June 24, but it is available in nightly builds.
Development of the feature continues. A July 3 update switched
Privacy Guard over from a per-app configuration model—in which
each app's settings screen needed to be visited separately—to
that of a central management screen, where users can toggle each app
from a single list. To conserve space, the management screen only
lists those apps that request access to one or more of the
privacy-managed data sources.
A grain of privacy
Although the public reaction to Privacy Guard has been quite
positive, there are still critics. Some contend that not spoofing
the device's IMEI number is a major privacy problem. IMEI numbers do
not change, so any existing record of the IMEI can be used to
associate a new application session with known tracking data. In the
comments on his initial announcement, however, Kondik described IMEI
spoofing as an anonymity issue, making it out of scope for the
feature.
Others were chafed about the all-or-nothing feature, particularly
with the fact that GPS access was lumped in with personal data. The
stated goal of the feature is to clamp down an overzealous app that
requests access to personal information it does not really require
to operate, and there are evidently a number of location-based apps in
that category. Denying them access to personal data makes sense, but they are rendered useless without GPS access. Kuber Koos
noted in the initial announcement discussion:
I just checked out Waze (with all the hype). I'd like to deny Waze the access it requires to my contacts, but still allow it access to GPS.
An all-or-nothing Incognito will be pretty useless for most apps. I
want them to do what their primary purpose is, but I want to block the
pesky things they require not essential to their function.
In the July 3 update discussion, developer Lars Greiss said that he
was working on an "advanced mode" option to enable finer grained
control for those who need it. Exactly what form that will take (and
how fine-grained it will be) has not yet been announced, but there is
certainly hope that Privacy Guard will find the right balance by the
time the next stable CM release arrives.
However fine-grained the eventual result is, there will no doubt
always be some users who insist on even more detailed controls. There
are alternatives to be found, such as OpenPDroid,
which modifies a number of Android services and libraries to provide a
generalized privacy framework. OpenPDroid, for example, can respond
to an app's data requests with empty data, fake data, or random data,
on the grounds that for any particular app, one of those options might
offer better protection than the others.
CM 7 had taken a fine-grained approach to privacy protection in its
own way, too. It exposed selectable settings for individual
permissions on each app, so that users could disable reading the
contacts database while leaving location services unaffected. That
feature was ditched in later releases, so it will be informative to
see what the reaction is to the new, all-or-nothing Privacy Guard.
Of course, restricting access to the user data stored on a device
is far from the only privacy issue facing the users of CM and other
mobile platforms. Defeating Web-based user tracking requires other
means, such as Tor. Other apps can be relayed through Tor with tools
like Orbot. CM
has begun working on its own implementation of SELinux, which should
also help protect privacy by protecting against information leaks.
Adding built-in support for something like Tor to CM would certainly
be a boon to privacy fans, just like built-in support for OpenVPN.
But that is probably not a feature users should expect any time
soon, so the privacy-conscious will need to continue to download and
manually install Tor—along with ad blockers, PGP,
and the other individual privacy packages. CM's new Privacy Guard may
not do everything, but the fact that it will be built in to future
releases and offer a simple user interface almost assures that it will
see more real-world usage than the alternatives.
(
Log in to post comments)