A common developer question about these policies is how to translate them into web extension features that can pass the addons.mozilla.org reviews. This how-to is the result of those requests and offers advice on implementing prompts to meet the data collection and add-on policies. This article suggests how you can implement suitable prompts but it doesn’t replace or supersede the policies; you still need to confirm that your extension complies with the policies.
Know your privacy settings
To create the consent flow and consent dialogues your extension needs, you should first answer these questions:
- Does my extension collect technical or interaction data? (If you’re unsure what technical and interaction data is, check out the definition in Data Disclosure, Collection and Management.) If so, offer the user the opportunity to opt-out of this data collection, although you can always offer opt-in consent if you prefer.
- Does my extension collect personally identifying information? If so, get the user’s opt-in consent before collecting any of this data. Remember that personally identifying information includes technical or interaction data tagged with the user’s identity or information that can be used to identify the user, such as an IP address.
- eliminate any unnecessary data collection or cookies.
Prompt after install or on first use
For more information on how to implement a post-install page or dialog, see Best practices for onboarding, upboarding, and offboarding users.
We have talked about how you could let users opt-out of collecting technical and interaction data but must have users opt-in to collecting personally identifying information. Before you design your extension features around your consent requests, it is important to understand how these options affect your design.
Where you provide the user with an opt-in option, the related feature must be turned off by default and only turned on once the user has actively agreed to use that feature.
Where you provide the user with an opt-out, option the related features can be turned on by default but must be turned off if the user indicates they want to opt-out.
Determine your consent flow
In this example:
- Your extension should start up with all cookie and data collection functionality disabled.
- Either shortly after installation (see Best practices for onboarding, upboarding, and offboarding users) or when the user first attempts to uses an extension feature, present them with a consent dialog.
On this dialog:
- The option for collecting personally identifying information must default to disabled so that the user has to actively opt-in.
- The options for technical data and cookies may default to enabled, so that the user may choose to opt-out.
- If the user opts:
- IN to all features, continue with all extension features enabled.
- OUT of any feature that cannot be disabled, offer them the option to remove the extension. If they choose not to remove the extension present the consent dialog again.
- OUT only from features that can be disabled, disable those features and continue running the extension.
Your consent dialogs
- Only Cookies. The option to add cookies can be set as the default response.
- Only technical data, (no user identifiers). The option to collect technical data can be set as the default response.
- Combination: Cookies, Personal, and Technical Data.
- The extension won’t work without data or cookies. The default option is your choice.