But the app knows it has been explicitly denied location data, and uses the photo location data to tag the post anyway. The location is then displayed to other users on Path.
This is unacceptable behavior. At best it's a terrible and potentially physically dangerous bug. At worst it's complete disregard for user privacy.
I'm not complaining on theoretical grounds. I am on a temporary remote assignment, the location of which I wish to keep private due to business considerations. Before I left, I disabled location services for Path.
Today I posted a picture that I'd taken yesterday (after cropping out location-identifying features). Underneath, Path posted the name of the city that I'm in, publishing my location to all of my contacts.
> Today I posted a picture that I'd taken yesterday (after cropping out location-identifying features).
Well this is clearly part of the real problem. Anyone who saw the photo could have seen where they were taken from the EXIF data because you didn't clear it. Most users don't know that the data is there and don't know that they need to, it's a weird thing privacy wise and a lot of people get put in weird situations because of it. (McAfee comes to mind.)
You're still telling the Internet where you were even if Path doesn't go ahead and tag it and make it visible to you. If anything, what they've done is actually saved you some embarrassment and made you realize that data was there so you could take action about it (like taking down the photos and posted ones with cleared EXIF data) if you want.
But 90% of the time for 90% of users, this EXIF data is pretty useful. It's kind of a pickle and really to solve it properly what you're asking iOS to do is give files with completely different metadata out based on the user's privacy preferences, which aren't always spelled out entirely clearly, especially the way iOS works with kind of an all or nothing location privacy selection. You can't really tell the OS "Hey, for the next five days, let's not be explicit about where I am." or "Hey, keep my privacy for me when I'm in a certain geofence".
This is stuff they could add, but doing it right isn't trivial.
This is stuff they could add, but doing it right isn't trivial.
I'll never understand this mindset.
When I tell my smartphone "Don't give this app location data" then that is pretty damn unambiguous. It's not like there are countless ways for an app to obtain such data. It can request it via API, or it can read it from images. At the least, if the images were taken on this phone (which a computer can very well determine), then I would expect the data to be stripped. If the phone stores location data in other file-types then I'd expect those to be stripped in the same way.
The technocrat stance "but we meant only one kind of location data" doesn't fly when the user intent is about as clear as it can get. It's exactly the kind of "smart" that I expect from a "smart" phone.
Sure, that case is somewhat more simple, but that's rarely what most people actually want. What most people actually want is to sometimes hide their location from most things when it's sensitive and leave the phone and most apps free to know when it's not.
I think they need to actually support the types of location privacy preferences users are going to want if they want to do location privacy correctly.
What you describe is an advanced feature (geo-fencing).
What I describe is a simple bug; a defective on/off-switch.
When I ask you to not give anyone my address, yet you give everyone access to a drawer full of documents that you annotated with my address, then you can hardly claim to have taken my request seriously.
Do you want the system to edit out an address in a photo if someone takes a picture of a building that has an address on it? Do you want the system to remove EXIF data from images that didn't come from the camera? Do you want the system to remove location information from other files? Do you want the system to remove access to the IP and wifi information so that apps can't trace using that? Do you want the system to proxy requests from those apps so that other people can't trace your location from web requests submitted by those apps?
The on/off switch was originally designed for whether or not you wanted to give the app access to GPS information. Some people say no simply to save power. EXIF data and other types of data which can be used to identify your location are different.
If you want controls over location privacy you should build real controls over location privacy, not pretend that a control that's displayed only once the first time you use an app and only for apps that access GPS-like information is a location privacy control.
It's not.
You can identify a location from a bunch of different types of data. If you want to fix the bug you need an actual fix and that requires a better location privacy control.
(Also if you answered no to all of those questions at the beginning of my post, I'd bet you'd change your tune in an instant if someone at Path simply reprogrammed their stuff to geotag based on a geoip lookup from your submission. Then you and others would probably say that this control is supposed to prevent that type of location data too.)
That's why I disable geotagging in general. I don't trust apps enough not to leak data unless absolutely necessary. On my device only Yelp and Maps have access and that's it.
What about apps like Mail or another photo uploading service which never even ask for location information? How are they supposed to know when to strip out EXIF data?
If you want the system to manage that metadata properly you need to give the users better controls than the existing coarse grained per app location preferences. I think they should, but the suggestions most people are making to fix this on HN are very narrow.
My issue was not with Path knowing where I am, but with Path publishing where I am to my contacts.
Path, of course, knows where I am due to the geolocation of the IP from which I post.
My intent was communicated to the app through the disabling of location services. Posting my location uncovered through parsing EXIF is the opposite of my configured intent.
When I post pictures to Twitter, Twitter receives the EXIF-tagged photos, too. They, however, don't serve them with the geotags, as I have disabled geotagging for my account. I haven't tested if they just strip all photo EXIF, or only for accounts that disabled geotagged tweets.
Exactly. When a user denies location data they don't mean "don't use location data from this source" they mean "don't track my location". It's not unlike them having a flag in their options menu called "Don't track my location" which, when enabled, does nothing.
That's not really clear cut. Many times location services are disabled because of the battery impact.
On iOS in particular it's possible to receive location updates only when changing cell towers, wifi, etc, basically it doesn't use any extra battery.
A few days ago I turned this behaviour off on an app and replaced it with a behaviour where instead it polls for location for a few seconds on start and then shuts off all location services because users disable location services because they believe it is negatively impacting their battery life.
The complaints weren't your tracking my location, the complaints were you're killing my battery life.
This user obviously had location services enabled in the camera app that took the photo that he gave to Path. If location services were actually off, there would be no leak.
The point is^ that users don't (and couldn't be expected to) understand that location service permissions aren't transitive. They have gone to the options menu and said "No path, you may not use my location". The result is that path has still used their location. The steps from A to B and the technical steps taken are-- from a user's perspective-- irrelevant.
^I'm not an iOS user, so maybe the UI makes this all blindingly obvious, in which case I apologise and you can ignore my entire response.
I recall testing Google+ to see if it would pull location data out a picture I'd take previously at the time of posting even though I'd set the app not provide location with the post - for fear of exactly this.
In the G+ case, it won't go and tag the photo, but it doesn't strip the location data out either.
The app also knows that you have given the Camera app location data, and then explicitly given Path access to your photos which were taken with the Camera app. Removing Location Services permission from Path simply means that the Path app cannot directly access your phone's location sensors—nothing more, nothing less. It doesn't mean that Path has to go to every imaginable length to ensure that you don't manage to share your location through other means, like photos or status updates.
>It doesn't mean that Path has to go to every imaginable length to ensure that you don't manage to share your location through other means, like photos or status updates.
Not sure what you mean here. If my app loaded a user's picture, and they said they don't want location data to be used in my app, a simple if check will decide whether or not EXIF data should be read. This is hardly "every imaginable length".
Of course, this may just be a bug, so I don't think we can jump to any conclusions about Path's intentions.
What if someone posts a status update saying "I'm in San Francisco."? What if they post a picture of themselves with the Golden Gate Bridge in the background? Is it reasonable for them to assume that Path will filter these things out, simply because they turned off Location Services?
I think it's ludicrous. iOS is quite clear in its explanation of Location Services, and their explanation is not at all "technical" or intimidating to non-technical users. Also, the permission to access your photos is completely separate from the Location Services permission. Maybe you the author would have a point if iOS automatically gave apps access to your camera roll, but that's not the case.
I don't doubt that some users will be surprised by the photo's geotag, but I suspect it would be an extremely low number of users (the fact that this if just now being blogged about seems to corroborate this, unless Path have just recently added this behavior).
I think you're conflating two very different scenarios. Someone saying "I'm in San Francisco" or posting a picture of them at the Golden Gate Bridge is clearly aware that their location can be determined. EXIF data hidden within a JPEG file is not so clear cut and most users are unlikely to be aware of it.
As you said, Location Services and Photo access are different permissions. Users are therefore likely to assume that location data is not being retrieved if they deny permission to it. If I deny location data to an app, it's because I don't want that app to have my location data. It seems somewhat underhanded, to me at least, to assume that the user wouldn't mind me accessing location data from their photos, knowing full well that the majority of users will not know what EXIF data is. I'd go so far as to say that I would explicitly ask the user if EXIF data should be read alongside the standard location services.
But really, you're the one speculating that a user's intent is different than what their explicit actions on the phone indicate. You're guessing that a user is not aware that photos are geotagged, despite that fact that the Location Services permission is optional on the Camera app as well.
Judging by the post we're commenting on, it's not exactly a shot in the dark guess. Technically, Path has done nothing wrong. They've been given permission to the photos and that's what they're accessing with all the information it brings.
But, to me, if I was told that my app can't access location information, I would assume that it's because the user doesn't want my app to access location information and have my app run with that mindset.
You want your iPhone's camera to access location for one app, but not for another. What would you do? What you're saying is that the user has no choice and it's all or nothing. Give location data to all apps requiring photos or disable it completely.
I think the point is, if you pick "don't read my location data" and then every day post a message "Today I'm at the SF Library", "Today I'm at the NYC Stock Exchange". "Today I'm at DC checking out the White House"
Is Path supposed to censor those image?
You choose to tag your photo. You chose to share the photo. How is that different than posting a text that says where you location is?
>I think the point is, if you pick "don't read my location data" and then every day post a message "Today I'm at the SF Library", "Today I'm at the NYC Stock Exchange". "Today I'm at DC checking out the White House"
That's not the point at all. Your example is of someone explicitly announcing their location. The issue at hand, which may or may not be a bug, is that the metadata is being used to publish the user's location even after they've said that they don't want the app accessing the Location Services.
Technically, there's nothing wrong in that because the app isn't accessing the Location Services. However, I'm pretty sure most users would assume the app won't use any location data by turning that setting off. If you denied an app location data, would you be happy that they still managed to get location data via a means that's not necessarily obvious?
This is unacceptable behavior. At best it's a terrible and potentially physically dangerous bug. At worst it's complete disregard for user privacy.
I'm not complaining on theoretical grounds. I am on a temporary remote assignment, the location of which I wish to keep private due to business considerations. Before I left, I disabled location services for Path.
Today I posted a picture that I'd taken yesterday (after cropping out location-identifying features). Underneath, Path posted the name of the city that I'm in, publishing my location to all of my contacts.
Again: This is unacceptable behavior.