Safeguard
Compliance•

How should plugins ask for consent before sending user data out?

Plugin data transmission needs clear disclosure and real choice. See what one browser's add-on policy requires and how to design consent in your product.

Safeguard Security Team
4 min read

A plugin should say what data it sends, why and to whom, before it sends anything, and give the user a clear choice that is easy to change. Personal data should be opt in. Declining should only remove the feature that needs the data, not break the rest.

What a published policy requires

Mozilla's add-on policies are specific. Add-ons must limit data transmission to what is necessary for functionality and use the data only for the purpose it was sent. The policy covers any data collected, used, transferred, shared or handled outside the add-on or the local browser, and applies to data sent to a native app through native messaging too.

Prohibited: sending ancillary information that the add-on does not need for the function in its description. Transmission of browsing activity is permitted only as part of the add-on's primary function.

On consent, the user must have a clear way to control transmission. For personal data, which includes names, email addresses, search terms, browsing activity and cookies, the user must affirmatively opt in, and the add-on must describe the type of data. If the primary function cannot work without personal data, the user chooses between accepting the transmission or uninstalling. Where an update starts or changes transmission, existing users must see the consent immediately after updating. For newer Firefox versions the policy also asks add-ons to state their data collection practices in the manifest, including when they collect none.

The policy also bans deceptive patterns in consent screens: illegible fonts, low contrast, hidden options and multi step decline flows.

A consent design you can adapt

ElementGood practice
TimingBefore first transmission, and again if purpose changes
WordingPlain language naming the data type and destination
ChoiceOpt in for personal data; separate choices for personal and technical data
DeclineLimits only the feature that needs the data
Change laterSetting available at any time, not buried
UpdatesRe-ask when data use grows

Steps for product teams

  1. Add a data declaration field to your plugin manifest listing data types and destinations.
  2. Make the host show it at install and again when it changes.
  3. Block network calls to destinations not declared, so the declaration is enforced rather than aspirational.
  4. Offer a per plugin switch for data sharing in settings.
  5. Log consent state with timestamp so you can answer a regulator or customer question later.
  6. Review declarations during marketplace review and compare them with actual network traffic seen in testing.

Where consent and security meet

Consent without enforcement is a promise nobody checks. If the manifest says "no data leaves the device" and the plugin calls a remote host, your review pipeline should catch it. This is why runtime network allowlists matter: they turn a statement into a control.

Treat privacy law as a separate question. The policy above is a marketplace rule, not legal advice, and your obligations depend on where your users are. Ask your counsel which regimes apply.

Quick check

Does an install time permission prompt count as consent for data use?

Not by itself, according to the Mozilla policy for unexpected features, which says the permissions prompt does not alleviate the need for an opt in. Design a separate, specific consent.

Should anonymous technical data need consent too?

The policy treats technical and personal data as separate choices and requires clear control over transmission in general. Offering both switches is the safer design.

Safeguard's compliance and evidence automation can help organize records like consent logs and plugin inventories for audits, while dependency scanning covers the libraries doing the sending. Try the free scan.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.