← Back to team overview

unity-dev team mailing list archive

the privacy button that doesn't do what it says it does

 

I like the Amazon shopping lens. I think it is great.
There has been a bit of a fuss about it, and yet another article here
https://www.eff.org/deeplinks/2012/10/privacy-ubuntu-1210-amazon-ads-and-data-leaks

which advises people to remove unity-lens-shopping and also:

"If you want Dash to only search your local computer and not search the Internet at all, you can open the Privacy app and switch "Include online search results" from on to off, as pictured below."

now this, I have a problem with. That checkbox does not do what it says it does, and it worries me what people are going to say when they find out. The checkbox absolutely does not perform any sandboxing of lenses preventing them from accessing the internet. It simply doesn't. What it does is set a preference flag that lenses can look at, and decide what they want to do about it. The lenses we ship by default look at the flag and indeed graciously modify their behavior to not send the query to the internet. This is 100% optional. Any third party lens (or scope) could listen to the global search query and send it straight out to the internet where some evil genius could then figure out a dastardly plan using a data warehouse full of "termi" and "gedi" and "firef". In fact when writing a lens there is nothing in the documentation as yet on how one should honor this preference, you have to look at the source of an existing lens to figure it out, by default lenses written won't have any restriction on internet based searching.

Personally I don't see internet based searching as a real issue - but the misleading privacy option is the problem.

I don't particularly want my global search text going off to Amazon or other places, not because I care in any way about it, just I need that eyeball space for stuff I actually want. If I want to buy stuff on Amazon I want to click on the shopping lens in the lens bar and use 100% of the dash for the shopping search results. Right now I can't do that because the shopping lens sets visibility to false and hides from the dash lens bar. This leads on to the thought that an evil genius could write a lens/scope that is invisible, and presents no results, but listens to the global search query change event and sends every keystroke out to the internet, regardless of the privacy preference setting. This is bad. I don't see any valid use-case for a lens to set the visible property to false.

I think that the privacy option should be ripped out, and replaced with a list of scopes that the user can whitelist for global searches. If a scope is not on the whitelist then scope.active_global_search will return nothing. The scope will *only* see search queries that are in scope.active_search - i.e. searches in that specific lens. This way a user can decide (with sensible defaults) which scopes are allowed to present results to the dash home (perhaps not shopping), but the user will still retain the ability to go specifically to the shopping lens and do searches from there - which will mean fewer people will uninstall the thing.

Alan.

--
I work at http://libertus.co.uk


Follow ups