Privacy/Roadmap 2011: Difference between revisions

no edit summary
No edit summary
 
(38 intermediate revisions by 3 users not shown)
Line 2: Line 2:


<section begin=summary />{{RoadmapSummary
<section begin=summary />{{RoadmapSummary
|icon=Privacy-512-noshadow.png
|icon=Privacy100.png
|pagelocation=Privacy/Roadmap_2011
|pagelocation=Privacy/Roadmap_2011
|pagetitle=Privacy and User Control 2011 Roadmap
|pagetitle=Privacy and User Control 2011 Roadmap
|owner=[[User:Sidstamm|Sid Stamm]]
|owner=[[User:Sidstamm|Sid Stamm]]
|updated=Feb 15, 2011
|updated=Apr 22, 2011
|status=Draft
|status=Draft
|description=
|description=The vision behind Mozilla's 2011 privacy roadmap is focused on users, calling for increased anonymity on the web, starting with sensible privacy defaults, giving users the ability to make informed choices about disclosing their information, facilitating web transparency so users understand how their data is being collected and used, and allowing for flexibility while maintaining sensible baselines for those who are not interested in privacy.
}}<section end=summary />
}}<section end=summary />


{{Draft}}
<div style="margin: 1em 0px; border: 2px solid orange; padding: 1em; background-color: #FFC; text-align: center;">'''DEPRECATED.'''
<div style="font-size:x-small">This page is old and crufty. For the latest, go back to [[Privacy/Roadmap]].</div></div>




Line 26: Line 27:
Mozilla uses [http://firstpersoncookie.wordpress.com/2011/01/12/mozillas-draft-privacy-data-operating-principles/ a set of privacy operating principles] as guidelines as we do work to grow the Web.  Those principles that specifically relate to privacy in Firefox are:
Mozilla uses [http://firstpersoncookie.wordpress.com/2011/01/12/mozillas-draft-privacy-data-operating-principles/ a set of privacy operating principles] as guidelines as we do work to grow the Web.  Those principles that specifically relate to privacy in Firefox are:


* ''Transparency / No Surprises.''  Only use and share information about our users for their benefit and as disclosed in our notices.
; Transparency / No Surprises : Only use and share information about our users for their benefit and as disclosed in our notices.
* ''Real Choice.'' Give our users actionable and informed choices by informing and educating at the point of collection and providing a choice to opt-out whenever possible.
; Real Choice : Give our users actionable and informed choices by informing and educating at the point of collection and providing a choice to opt-out whenever possible.
* ''Sensible Defaults.'' Establish default settings in our products and services that balance safety and user experience as appropriate for the context of the transaction.
; Sensible Defaults : Establish default settings in our products and services that balance safety and user experience as appropriate for the context of the transaction.
* ''Limited Data.'' Collect and retain the least amount of information necessary for the feature or task. Try to share anonymous aggregate data whenever possible, and then only when it benefits the web, users, or developers
; Limited Data : Collect and retain the least amount of information necessary for the feature or task. Try to share anonymous aggregate data whenever possible, and then only when it benefits the web, users, or developers


== Themes: ==
== Themes and Goals: ==
Here the concrete goals are segmented into themes.  Some goals may potentially fit into multiple themes, but are only identified here under the most relevant one.
Here the concrete goals are segmented into themes.  Some goals may potentially fit into multiple themes, but are only identified here under the most relevant one.
   
   
Each specific goal relates to either Firefox (product users/web sites) or the ecosystem (standards bodies, other products' users) or both.  They are annotated as such.
Each specific goal relates to either Firefox (product users/web sites) or the ecosystem (standards bodies, other products' users) or both.  They are annotated as such.


=== Improve Private & Pseudoanonymous Browsing ===
'''NOTE:''' these goals are tentative and more may be added or some may be dropped.


{| width="100%" cellpadding="3"
=== Improve Private & Semi-anonymous Browsing ===
|-
 
| style="background-color: #efefef; width: 20px"| '''Priority'''
<table class="querytable sortable">
| style="background-color: #efefef;"| '''Item'''
<tr>
| style="background-color: #efefef;"| '''Bug'''
<td class="header" style="width: 5%;">Pr</td>
| style="background-color: #efefef;"| '''Status'''
<td class="header" style="width: 35%;">Feature</td>
|-
<td class="header" style="width: 10%;">Stage</td>
| P1 || Incorporate fingerprint-minimizing features into private browsing ([[Security/Anonymous Browsing]]). || - || not started
<td class="header" style="width: 10%;">Release target</td>
|-
<td class="header" style="width: 20%;">Product manager</td>
| P2 || Explore randomizing non-essential HTTP request data that can be used for fingerprinting || - || not started
<td class="header" style="width: 20%;">Feature manager</td>
|-
</tr>
| P2 || Per-tab/window private mode || - || not started
{{#ask: [[Category:Feature Page]] [[Feature roadmap::Privacy]] [[Feature theme::Improve Private & Semi-anonymous Browsing]]
|-
| ?#
| P3 || Investigate simplifying Private Browsing Mode into profile switching. || - || not started
| ?Feature name#
|-
| ?Feature priority#
| P3 || Explore potentially using a journaled profile service so all modifications to a profile can be rolled back when user exits private mode || - || not started
| ?Feature stage#
|}
| ?Feature version#
| ?Feature product manager#
| ?Feature feature manager#
| mainlabel=-
| sort=Feature priority, Feature stage
| format=template
| limit=500
| template=FeatureListTable
}}
<tr>
<td> P3
<td> Explore randomizing non-essential HTTP request data that can be used for fingerprinting
<td> Concept
<td> `
<td> Sid Stamm
<td> `
</tr>
<tr>
<td> P3  
<td> Investigate simplifying Private Browsing Mode into profile switching.
<td> Concept
<td> `
<td> Sid Stamm
<td> `
</tr>
<tr>
<td> P3
<td> Explore potentially using a journaled profile service so all modifications to a profile can be rolled back when user exits private mode
<td> Concept
<td> `
<td> Sid Stamm
<td> `
</tr>
</table>


=== Secure Network Connections ===
=== Secure Network Connections ===
{| width="100%" cellpadding="3"
 
|-
<table class="querytable sortable">
| style="background-color: #efefef; width: 20px"| '''Priority'''
<tr>
| style="background-color: #efefef;"| '''Item'''
<td class="header" style="width: 5%;">Pr</td>
| style="background-color: #efefef;"| '''Bug'''
<td class="header" style="width: 35%;">Feature</td>
| style="background-color: #efefef;"| '''Status'''
<td class="header" style="width: 10%;">Stage</td>
|-
<td class="header" style="width: 10%;">Release target</td>
| P1 || Create API for add-ons and components that provides check-point between TLS/SSL handshake and HTTP request, allowing add-ons greater scrutiny of secure connections before they are used. || - || not started
<td class="header" style="width: 20%;">Product manager</td>
|-
<td class="header" style="width: 20%;">Feature manager</td>
| P2 || Help users understand which bits are unencrypted (e.g., identify form fields that will be transmitted in the clear) || - || not started
</tr>
|-
{{#ask: [[Category:Feature Page]] [[Feature roadmap::Privacy]] [[Feature theme::Secure Network Connections]]
| P2 || Identify and deploy a "safe" mixed-content SSL/TLS mode, displaying "secure" UI indicators to users. (e.g., http images + https html is safe) || - || not started
| ?#
|}
| ?Feature name#
| ?Feature priority#
| ?Feature stage#
| ?Feature version#
| ?Feature product manager#
| ?Feature feature manager#
| mainlabel=-
| sort=Feature priority, Feature stage
| format=template
| limit=500
| template=FeatureListTable
}}
</table>


=== Deploy Safe and Rational Defaults ===
=== Deploy Safe and Rational Defaults ===
{| width="100%" cellpadding="3"
 
|-
<table class="querytable sortable">
| style="background-color: #efefef; width: 20px"| '''Priority'''
<tr>
| style="background-color: #efefef;"| '''Item'''
<td class="header" style="width: 5%;">Pr</td>
| style="background-color: #efefef;"| '''Bug'''
<td class="header" style="width: 35%;">Feature</td>
| style="background-color: #efefef;"| '''Status'''
<td class="header" style="width: 10%;">Stage</td>
|-
<td class="header" style="width: 10%;">Release target</td>
| P1 || Reduce the amount of information sent with the HTTP Referer header || {{bug|587523}} || not started
<td class="header" style="width: 20%;">Product manager</td>
|-
<td class="header" style="width: 20%;">Feature manager</td>
| P3 || Explore turning off more fingerprinting entropy sources || - || not started
</tr>
|}
{{#ask: [[Category:Feature Page]] [[Feature roadmap::Privacy]] [[Feature theme::Deploy Safe and Rational Defaults]]
| ?#
| ?Feature name#
| ?Feature priority#
| ?Feature stage#
| ?Feature version#
| ?Feature product manager#
| ?Feature feature manager#
| mainlabel=-
| sort=Feature priority, Feature stage
| format=template
| limit=500
| template=FeatureListTable
}}
<tr>
<td> P3  
<td> Explore turning off more fingerprinting entropy sources
<td> not started
<td> `
<td> Sid Stamm
<td> `
</tr>
</table>


=== Enable Control of Tracking and Third-Party Sharing ===
=== Enable Control of Tracking and Third-Party Sharing ===
{| width="100%" cellpadding="3"
 
|-
[[Privacy/Roadmap/Tracking]] shows more detail on the third-party tracking work.
| style="background-color: #efefef; width: 20px"| '''Priority'''
 
| style="background-color: #efefef;"| '''Item'''
<table class="querytable sortable">
| style="background-color: #efefef;"| '''Bug'''
<tr>
| style="background-color: #efefef;"| '''Status'''
<td class="header" style="width: 5%;">Pr</td>
|-
<td class="header" style="width: 35%;">Feature</td>
| P1 || Develop "tracking alert" that informs users when an entity is tracking them across sites. || - || not started
<td class="header" style="width: 10%;">Stage</td>
|-
<td class="header" style="width: 10%;">Release target</td>
| P2 || Create API so sites can request third-party cookies (may tie into next goal) || {{bug|422357}} || not started
<td class="header" style="width: 20%;">Product manager</td>
|-
<td class="header" style="width: 20%;">Feature manager</td>
| P2 || Create unified API for sites to request additional potentially privacy-sensitive features like geolocation, a:ping, local storage, etc.|| - || not started
</tr>
|-
{{#ask: [[Category:Feature Page]] [[Feature roadmap::Privacy]] [[Feature theme::Enable Control of Tracking and Third-Party Sharing]]
| P2 || investigate implementing ping attribute for explicit tracking for honest organizations who want to track when users consent. || - || not started
| ?#
|-
| ?Feature name#
| P2 || Geolocation: Disable automated discovery || - || not started
| ?Feature priority#
|-
| ?Feature stage#
| P3 || Geolocation: Let the user pick where they are or lie using a map or other UI (Map could be assisted by automated discovery) || - || not started
| ?Feature version#
|-
| ?Feature product manager#
| P3 || Explore disabling third-party cookie sending by default || {{bug|564877}} || not started
| ?Feature feature manager#
|}
| mainlabel=-
| sort=Feature priority, Feature stage
| format=template
| limit=500
| template=FeatureListTable
}}
<tr>
<td> P3
<td> investigate implementing ping attribute for explicit tracking for honest organizations who want to track when users consent.
<td> Concept
<td> `
<td> Sid Stamm
<td> `
</tr>
<tr>
<td> P3
<td> Explore disabling third-party cookie sending by default
<td> Concept
<td> `
<td> Sid Stamm
<td> `
</tr>
</table>


=== Enhance User Controlled Disclosure ===
=== Enhance User Controlled Disclosure ===
{| width="100%" cellpadding="3"
 
|-
<table class="querytable sortable">
| style="background-color: #efefef; width: 20px"| '''Priority'''
<tr>
| style="background-color: #efefef;"| '''Item'''
<td class="header" style="width: 5%;">Pr</td>
| style="background-color: #efefef;"| '''Bug'''
<td class="header" style="width: 35%;">Feature</td>
| style="background-color: #efefef;"| '''Status'''
<td class="header" style="width: 10%;">Stage</td>
|-
<td class="header" style="width: 10%;">Release target</td>
| P1 || Plugin awareness of users privacy prefs (e.g., clear history) || {{bug|508167}} || in progress
<td class="header" style="width: 20%;">Product manager</td>
|-
<td class="header" style="width: 20%;">Feature manager</td>
| P1 || In-flight as-it-happens control of disclosure (versus a preference pane) || - || not started
</tr>
|-
{{#ask: [[Category:Feature Page]] [[Feature roadmap::Privacy]] [[Feature theme::Enhance User Controlled Disclosure]]
| P1 || Better site-based data management UI || {{bug|573176}} || stalled
| ?#
|-
| ?Feature name#
| P2 || Improve the geolocation UX so it's better connected to the user (user knows when geolocation data is being used) || {{bug|630614}} || in progress
| ?Feature priority#
|}
| ?Feature stage#
| ?Feature version#
| ?Feature product manager#
| ?Feature feature manager#
| mainlabel=-
| sort=Feature priority, Feature stage
| format=template
| limit=500
| template=FeatureListTable
}}
</table>


=== Enrich Add-ons ===
=== Enrich Add-ons ===
{| width="100%" cellpadding="3"
<table class="querytable sortable">
|-
<tr>
| style="background-color: #efefef; width: 20px"| '''Priority'''
<td class="header" style="width: 5%;">Pr</td>
| style="background-color: #efefef;"| '''Item'''
<td class="header" style="width: 35%;">Feature</td>
| style="background-color: #efefef;"| '''Bug'''
<td class="header" style="width: 10%;">Stage</td>
| style="background-color: #efefef;"| '''Status'''
<td class="header" style="width: 10%;">Release target</td>
|-
<td class="header" style="width: 20%;">Product manager</td>
| P1 || Use privacy icons or similar to show what capabilities add-ons have || - || not started
<td class="header" style="width: 20%;">Feature manager</td>
|-
</tr>
| P2 || Migrate as many add-ons as possible to a capabilities manifest system as proposed for Jetpack (add-ons ask for capabilities and that's all they get to do). || - || not started
{{#ask: [[Category:Feature Page]] [[Feature roadmap::Privacy]] [[Feature theme::Enrich Add-ons]]
|}
| ?#
| ?Feature name#
| ?Feature priority#
| ?Feature stage#
| ?Feature version#
| ?Feature product manager#
| ?Feature feature manager#
| mainlabel=-
| sort=Feature priority, Feature stage
| format=template
| limit=500
| template=FeatureListTable
}}
</table>


=== Improve Local Privacy ===
=== Improve Local Privacy ===
{| width="100%" cellpadding="3"
<table class="querytable sortable">
|-
<tr>
| style="background-color: #efefef; width: 20px"| '''Priority'''
<td class="header" style="width: 5%;">Pr</td>
| style="background-color: #efefef;"| '''Item'''
<td class="header" style="width: 35%;">Feature</td>
| style="background-color: #efefef;"| '''Bug'''
<td class="header" style="width: 10%;">Stage</td>
| style="background-color: #efefef;"| '''Status'''
<td class="header" style="width: 10%;">Release target</td>
|-
<td class="header" style="width: 20%;">Product manager</td>
| P1 || Improve the UX on master password so that it is comfortable to be used by default. ("Log-In to your Browser") || - || not started
<td class="header" style="width: 20%;">Feature manager</td>
|-
</tr>
| P2 || Require master password when using Sync to protect locally stored passwords. || - || not started
{{#ask: [[Category:Feature Page]] [[Feature roadmap::Privacy]] [[Feature theme::Improve Local Privacy]]
|}
| ?#
| ?Feature name#
| ?Feature priority#
| ?Feature stage#
| ?Feature version#
| ?Feature product manager#
| ?Feature feature manager#
| mainlabel=-
| sort=Feature priority, Feature stage
| format=template
| limit=500
| template=FeatureListTable
}}
</table>


=== Improve User Authentication ===
=== Improve User Authentication ===
{| width="100%" cellpadding="3"
<table class="querytable sortable">
|-
<tr>
| style="background-color: #efefef; width: 20px"| '''Priority'''
<td class="header" style="width: 5%;">Pr</td>
| style="background-color: #efefef;"| '''Item'''
<td class="header" style="width: 35%;">Feature</td>
| style="background-color: #efefef;"| '''Bug'''
<td class="header" style="width: 10%;">Stage</td>
| style="background-color: #efefef;"| '''Status'''
<td class="header" style="width: 10%;">Release target</td>
|-
<td class="header" style="width: 20%;">Product manager</td>
| P1 || Improve transparency of authentication state so users know when they're sending credentials to sites (and which ones) || - || not started
<td class="header" style="width: 20%;">Feature manager</td>
|-
</tr>
| P2 || Deploy an API for sites to trigger second-factor authentication (e.g., SMS) through the browser. || - || not started
{{#ask: [[Category:Feature Page]] [[Feature roadmap::Privacy]] [[Feature theme::Improve User Authentication]]
|}
| ?#
| ?Feature name#
| ?Feature priority#
| ?Feature stage#
| ?Feature version#
| ?Feature product manager#
| ?Feature feature manager#
| mainlabel=-
| sort=Feature priority, Feature stage
| format=template
| limit=500
| template=FeatureListTable
}}
</table>


=== Research & Understand Data Sharing ===
=== Research & Understand Data Sharing ===
* Find a way to visualize and present to users the way a site interacts with other entities (sharing cookies, XHR, etc).  This can help them understand data sharing patterns. (beltzner: Privacy Reports)
<table class="querytable sortable">
* Leverage information we have about sites' data sharing habits to publish anonymous statistics on privacy practices (Test Pilot?)
<tr>
* Use concept series to harness designers' talent in finding a good way to represent data sharing patterns to users.
<td class="header" style="width: 5%;">Pr</td>
<td class="header" style="width: 35%;">Feature</td>
<td class="header" style="width: 10%;">Stage</td>
<td class="header" style="width: 10%;">Release target</td>
<td class="header" style="width: 20%;">Product manager</td>
<td class="header" style="width: 20%;">Feature manager</td>
</tr>
{{#ask: [[Category:Feature Page]] [[Feature roadmap::Privacy]] [[Feature theme::Research & Understand Data Sharing]]
| ?#
| ?Feature name#
| ?Feature priority#
| ?Feature stage#
| ?Feature version#
| ?Feature product manager#
| ?Feature feature manager#
| mainlabel=-
| sort=Feature priority, Feature stage
| format=template
| limit=500
| template=FeatureListTable
}}
<tr>
<td> P3
<td> Leverage information we have about sites' data sharing habits to publish anonymous statistics on privacy practices (Test Pilot?)
<td> Research
<td> `
<td> Sid Stamm
<td> `
</tr>
<tr>
<td> P3
<td> Use concept series to harness designers' talent in finding a good way to represent data sharing patterns to users.
<td> Research
<td> `
<td> Sid Stamm
<td> `
</tr>
</table>
 
=== Uncategorized ===
<table class="querytable sortable">
<tr>
<td class="header" style="width: 5%;">Pr</td>
<td class="header" style="width: 35%;">Feature</td>
<td class="header" style="width: 10%;">Stage</td>
<td class="header" style="width: 10%;">Release target</td>
<td class="header" style="width: 20%;">Product manager</td>
<td class="header" style="width: 20%;">Feature manager</td>
</tr>
{{#ask: [[Category:Feature Page]] [[Feature roadmap::Privacy]] [[Feature theme::`]]
| ?#
| ?Feature name#
| ?Feature priority#
| ?Feature stage#
| ?Feature version#
| ?Feature product manager#
| ?Feature feature manager#
| mainlabel=-
| sort=Feature priority, Feature stage
| format=template
| limit=500
| template=FeatureListTable
}}
</table>


= Roadmap =
= Roadmap =
This is our plan for Product Privacy and Data Control improvements in the upcoming Firefox releases.


== Firefox 4 ==
Links to implementation plan and progress:
* extend privacy control to plugins
* [[Firefox/Flight Tracking]]
* locally encrypt passwords and form data by default
* [[Firefox/Features]]
* put behavioural tracking in user's control (opt-in)
 
* reduce browser signature in UA header and other inspectible APIs


== Firefox 5 ==
* consolidate site permissions into single manager
* provide actionable controls per-site


== Firefox 6 ==
[[Category:Roadmaps]]
== Firefox 7 ==
canmove, Confirmed users
1,537

edits