SearchHijacking
Status
| Enhancements to help mitigate search hijacking | |
| Stage | On hold |
| Status | In progress |
| Release target | ` |
| Health | ` |
| Status note | We had to back this out of FF13. Next steps TBD. |
{{#set:Feature name=Enhancements to help mitigate search hijacking
|Feature stage=On hold |Feature status=In progress |Feature version=` |Feature health=` |Feature status note=We had to back this out of FF13. Next steps TBD. }}
Team
| Product manager | Asa Dotzler |
| Directly Responsible Individual | Sheila Mooney |
| Lead engineer | Gavin Sharp |
| Security lead | Al Billings |
| Privacy lead | N/A |
| Localization lead | N/A |
| Accessibility lead | N/A |
| QA lead | Paul Silaghi |
| UX lead | Alex Limi |
| Product marketing lead | Laura Mesa |
| Operations lead | N/A |
| Additional members | Cheng Wang |
{{#set:Feature product manager=Asa Dotzler
|Feature feature manager=Sheila Mooney |Feature lead engineer=Gavin Sharp |Feature security lead=Al Billings |Feature privacy lead=N/A |Feature localization lead=N/A |Feature accessibility lead=N/A |Feature qa lead=Paul Silaghi |Feature ux lead=Alex Limi |Feature product marketing lead=Laura Mesa |Feature operations lead=N/A |Feature additional members=Cheng Wang }}
Open issues/risks
Some concerns about prompt affecting partners and relationships. We have everything implemented but may decide to leave on trunk for an additional cycle or tweak the prompt to make it less annoying. Asa on point to discuss with Kev and reach agreement on whether or not to keep it in FF13 and how we should message this. Put the status=at risk until we get it fully sorted out.
Stage 1: Definition
1. Feature overview
Web search is a lucrative business and so the search integration points in Web browsers have become a target for add-ons -- from legitimate, to grayware, to malware. The collection of techniques used to circumvent browser search defaults to funnel search revenues to third parties is referred to as "Search hijacking".
With the increase in search hijacking and it's negative effect on user choice and control, Mozilla is looking into ways to help users defend themselves.
2. Users & use cases
`
3. Dependencies
`
4. Requirements
`
Non-goals
`
Stage 2: Design
5. Functional specification
Telemetry
- Simple check 0/1 if pref has changed.
- Tracking in Telemetry Dashboard.
Hardening keyword URLs
- We are going to prompt everyone we see who has changed keyword.URL to a user-set value.
- On search the users will be prompted when we detect the change and be presented with a notification prompt.
- We can have the prompt only include "Yes, reset" and "No, don't ask again" buttons (exact text still TBD), and keep showing the notification bar on searches until we get one of those responses.
- Partner builds we distribute wouldn't be affected by this (their default value is different, it's not "user-set").
- Extensions that change this value properly (by shipping a different default pref as opposed to programmatically setting the pref) also wouldn't be affected by this.
- Users who manually change the value voluntarily can just ignore the prompt (very small minority).
- We should also be clear about which users we're talking about prompting. The only way to get a user-set value for keyword.URL is:
- Manually change the pref in about:config (or prefs.js in your profile)
- Install an extension that programmatically sets the pref (rather than changing the pref in the "supported" way, by shipping a new pref default)
- Have a third-party installer set the pref in your profile's prefs.js
- We will extend this to all languages builds. We thought of doing en-US only at first but see no real reason to do this.
6. User experience design
See bugs
Stage 3: Planning
7. Implementation plan
`
8. Reviews
Security review
`
Privacy review
`
Localization review
`
Accessibility
`
Quality Assurance review
`
Operations review
`
Stage 4: Development
9. Implementation
- bug 718088 - offer to re-set keyword.URL if it has a non-default value.
- bug 724145 - telemetry for search hijacking.
- bug 738818 - consolidate Firefox search preferences
Stage 5: Release
10. Landing criteria
` {{#set:Feature open issues and risks=Some concerns about prompt affecting partners and relationships. We have everything implemented but may decide to leave on trunk for an additional cycle or tweak the prompt to make it less annoying. Asa on point to discuss with Kev and reach agreement on whether or not to keep it in FF13 and how we should message this. Put the status=at risk until we get it fully sorted out. |Feature overview=Web search is a lucrative business and so the search integration points in Web browsers have become a target for add-ons -- from legitimate, to grayware, to malware. The collection of techniques used to circumvent browser search defaults to funnel search revenues to third parties is referred to as "Search hijacking".
With the increase in search hijacking and it's negative effect on user choice and control, Mozilla is looking into ways to help users defend themselves. |Feature users and use cases=` |Feature dependencies=` |Feature requirements=` |Feature non-goals=` |Feature functional spec===Telemetry==
- Simple check 0/1 if pref has changed.
- Tracking in Telemetry Dashboard.
Hardening keyword URLs
- We are going to prompt everyone we see who has changed keyword.URL to a user-set value.
- On search the users will be prompted when we detect the change and be presented with a notification prompt.
- We can have the prompt only include "Yes, reset" and "No, don't ask again" buttons (exact text still TBD), and keep showing the notification bar on searches until we get one of those responses.
- Partner builds we distribute wouldn't be affected by this (their default value is different, it's not "user-set").
- Extensions that change this value properly (by shipping a different default pref as opposed to programmatically setting the pref) also wouldn't be affected by this.
- Users who manually change the value voluntarily can just ignore the prompt (very small minority).
- We should also be clear about which users we're talking about prompting. The only way to get a user-set value for keyword.URL is:
- Manually change the pref in about:config (or prefs.js in your profile)
- Install an extension that programmatically sets the pref (rather than changing the pref in the "supported" way, by shipping a new pref default)
- Have a third-party installer set the pref in your profile's prefs.js
- We will extend this to all languages builds. We thought of doing en-US only at first but see no real reason to do this.
|Feature ux design=See bugs |Feature implementation plan=` |Feature security review=` |Feature privacy review=` |Feature localization review=` |Feature accessibility review=` |Feature qa review=` |Feature operations review=` |Feature implementation notes=* bug 718088 - offer to re-set keyword.URL if it has a non-default value.
- bug 724145 - telemetry for search hijacking.
- bug 738818 - consolidate Firefox search preferences
|Feature landing criteria=` }}
Feature details
| Priority | P1 |
| Rank | 999 |
| Theme / Goal | ` |
| Roadmap | Firefox Desktop |
| Secondary roadmap | ` |
| Feature list | Desktop |
| Project | ` |
| Engineering team | Desktop front-end |
{{#set:Feature priority=P1
|Feature rank=999 |Feature theme=` |Feature roadmap=Firefox Desktop |Feature secondary roadmap=` |Feature list=Desktop |Feature project=` |Feature engineering team=Desktop front-end }}
Team status notes
| status | notes | |
| Products | ` | ` |
| Engineering | ` | ` |
| Security | sec-review-needed | bug 744957 |
| Privacy | ` | ` |
| Localization | ` | ` |
| Accessibility | ` | ` |
| Quality assurance | ` | Test Plan |
| User experience | ` | ` |
| Product marketing | ` | ` |
| Operations | ` | ` |
{{#set:Feature products status=`
|Feature products notes=` |Feature engineering status=` |Feature engineering notes=` |Feature security status=sec-review-needed |Feature security health=Blocked |Feature security notes=bug 744957 |Feature privacy status=` |Feature privacy notes=` |Feature localization status=` |Feature localization notes=` |Feature accessibility status=` |Feature accessibility notes=` |Feature qa status=` |Feature qa notes=Test Plan |Feature ux status=` |Feature ux notes=` |Feature product marketing status=` |Feature product marketing notes=` |Feature operations status=` |Feature operations notes=` }}