Privacy/Reviews/OpenSearch

From MozillaWiki
Jump to: navigation, search

Document Overview

Feature/Product: OpenSearch (in Thunderbird)
Projected Feature Freeze Date: 2012-01-31
Product Champions: Blake Winton, Mark Banner, Mike Conley, Jim Porter
Privacy Champions: Sid Stamm
Security Contact: Curtis Koenig
Document State: [AT RISK] cookie clearing

Timeline:

Architectural Overview: 2011-09-07 (via secreview)
Recommendation Meeting: Asynchronous via email
Review Complete ETA: Jan 2012

Architecture

In this section, the product's architecture is described. Any individual components or actors are identified, their "knowledge" or what data they store is identified, and data flow between components and external entities is described.

The main objective of this feature/product is: to provide users with a way to search on the web from within Thunderbird.

Data Flow Diagram

Thunderbird OpenSearch Data Flow.png

Design Documents:

I thought there were some, but the design seems to have been done entirely on paper and in conversations. Which is probably reasonable in this case, because it's stupidly simple.The code is at [1].

There are two basic interactions, described below.

Global Search

When the user types some text in the "Search all messages…" box, the addon adds a search entry to "Search the web for: <the user's text>".

Context Search

If the user selects some text and either right-clicks to show the context menu, or selects the "Message" menu, the addon will add a menu item to "Search the web for: <the user's text>".

Search Tab

When either of the two options above are selected, Thunderbird opens a content tab pointing at the url for the default search provider containing the search terms. From this tab, the user can also change search engines and set the default search engine to the currently selected one.

Components

Describe any major components in the system and how they interact. Also include any third-party APIs (those Mozilla does not control) and what type of data is sent or received via those APIs.

  • Thunderbird Search
  • Third party search providers component.

Thunderbird

This component adds the menu and search items for the user to click on.

It interacts with the selected third party search provider through a browser tab to allow the user to view the search results.

The tables below simply summarize the data encountered by this component.

Stored Data:

what where notes
user's default browser. Thunderbird preference.
last string searched for. Thunderbird preference. To let the user repeat the last search.


Communication with third party search provider

Direction Message Data Notes
In: search results page. html
Out: http request for search results page. search terms, client IP.

Third party search providers

This component returns the list of search results.

It interacts with the addon through being launched in a browser tab.

Note: We don't write this component, and have limited influence over what it does.

The tables below simply summarize the data encountered by this component.

Stored Data:

what notes
Unknown. Since this is the third-party server, we should assume they store everything they can.

User Data Risk Minimization

In this section, the privacy champion will identify areas of user data risk and recommendations for minimizing the risk.

Unintended searches

Potentially users may mistakenly activate this feature and send parts of private emails as search queries. Since emails can contain sensitive data, we have to be sure users are aware when searches happen.

The Risk: is that users may accidentally transmit arbitrary data to search providers.

Since the feature must be activated from the global search box or a context menu, this is a very minor risk, and needs no mitigation.

Identity transmission

Users' identities are present throughout pretty much all email messages and other parts of the Thunderbird client. This includes user data such as email addresses, physical addresses or phone numbers or any other PII users choose to with any recipient via email.

The Risk: Users may unknowingly identify themselves to search providers (by including a cookie or their identity with the search query).

Recommendation: prevent cookies from being transmitted with searches or limit their lifetime to session-length. (e.g., clear them on shutdown). Make it easy for users to clear cookies on demand as well.

Resolution:
[NEW] Suppress cookie transmission, or clear them on shutdown. Provide UI so users can clear their cookies.

Alignment with Privacy Operating Principles

In this section, the privacy champion will identify how the feature lines up with Mozilla's privacy operating principles.

See Also: Privacy/Roadmap 2011#Operating_Principles:

Principle: Transparency / No Surprises

Users can select which search provider they wish to use, and when they send search queries, it is clear they are sending data. The two mechanisms used to generate search traffic (global/context) are both user-initiated, so it is not surprising that search queries are sent out.

Recommendations: It should be made clear in the UI to whom the search queries are going, e.g., "Search Google for..."

Resolution:
[DONE] Tweak UI to state to whom the search terms will be sent - bug 734232

Principle: Real Choice

Users do not have to use the feature if they wish to avoid it, and they can use any OpenSearch provider for web searches.

Recommendations: none.

Principle: Sensible Defaults

The feature, while available, is not sending users' searches of local data to search providers unless the user chooses to "Search the web for X". No data is shared with third parties by default.

Recommendations: none.

Principle: Limited Data

The user's queries are transmitted to search providers (as initiated by the user). Mozilla has no server-side component to this feature, so we are not collecting any data about this feature. Thunderbird maintains the last string searched, but only one, and it is replaced as soon as a new search is conducted.

Cookies are kept in Thunderbird, and searches conducted using this feature include cookies.

Recommendations: prevent cookies from being transmitted with searches or limit their lifetime to session-length. (e.g., clear them on shutdown). Make it easy for users to clear cookies on demand as well.

Resolution:
[NEW] Suppress cookie transmission, or clear them on shutdown. Provide UI so users can clear their cookies.

Follow-up Tasks and tracking

What Who Bug Details
[DONE] Initial Overview Discussion Sid Stamm & Mark Banner Held on 2011-09-07 as part of secreview Security/Reviews/TBOpenSearch
[DONE] Initial Risk Analysis Privacy team January 2012
[DONE] Public Discussion mozilla.dev.planning 9-Feb-2012
[DONE] Investigate cookie sending behavior TB Team (Blake) Cookies are sent. (3/28)
[DONE] Tweak UI to state to whom the search terms will be sent TB Team bug 734232 from Thunderbird 13
[NEW] Make it easy for users to clear cookies (or suppress their transmission) TB Team bug 741336