Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Every time my team begins to explore the scenarios that are possible with mobile device location data, location data that is part of user data, or even location data that may be retrieved or inferred from IP address or browser cookies, we are stopped dead in our tracks by the risk of violating a user's privacy. It's frustrating, because working with location data creates whole new areas for providing a great user experience.

I have taken a look at the Mobile Device Privacy Act, related online opinions, such as the ars technica article, and the Electronic Frontier Foundation's recent Mobile User Privacy Bill of Rights, but there isn't really an authoritative (or even de facto) standard and opinions differ.

Is it as simple as obtaining a user's permission to make use of location-based data and then safeguarding the data? I would like to know how others are addressing or even skirting this issue. Do you obtain user permission before utilizing location data? Are you just riding it out for now and waiting to see if a national law is passed?

share|improve this question
add comment

2 Answers

up vote 4 down vote accepted

Some loosely connected advice for best practices (IMHO anyway):

1. Ask for permission

Put the fact that you are collecting positioning data in the ToS, but ask for permission nevertheless when it comes to collecting them. Of course, put "Always remember" to not annoy your users.

2. Process the data locally

This applies in some contexts, e.g. an app containing routes you've taken along with stats. There is no point in uploading this data, unless you want to provide sync service.

3. Transfer the data encrypted

In case local processing is not an option, always use an encrypted protocol to transfer the data to your servers.

4. Forget the user

Once you have finished the processing, resist the temptation to store the user location. Moreover if your site gets cracked and someone gets a hold of this info, you're in big trouble and a class action is surely on the way (IANAL, of course, but just ask Sony about PSN).

5. Allow the user to delete his info

There are proposed laws in the EU that would force you to do so - Right to be forgotten, and it will also make your users happier. Forcing lock-in is something nobody likes.

6. Hash personally identifiable information

If you have to store the user location, store it along with a hashed version of his e-mail/username. Then, even if your service is hacked, the attacker will not gain direct knowledge of user/location pairs. This is what saved Valve from serious trouble some time ago.

7. Use lower accuracy data than available

This one is also very useful: you often do not need GPS-accuracy for the data you collect. For most statistical purposes, you can simply go with a city name or even just the country.

Note that I am not a lawyer and these are just suggestions, but I believe if you design your app in this manner, you will reduce risks of lawsuits to a minimum. The general rule is IMHO handle user data like a double-edged sword: it may help you, but in other hands, it's a weapon against you.

share|improve this answer
1  
Thanks so much for your considered and detailed answer, as well as the follow-up edits. This is exactly the kind of info I was hoping for. –  Sean Mickey May 4 '12 at 4:35
    
Very valuable summation of good practices wrt to privacy. –  Marjan Venema May 4 '12 at 6:35
add comment

I'd say make the product that makes the most sense. If the users like your product, they won't mind giving up a bit of privacy. (Ask their permission if the is a common way to so do, otherwise don't worry about it.)

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.