Recent from talks
Nothing was collected or created yet.
Add-on (Mozilla)
View on Wikipedia| Related articles |
|---|
| Origins and lineage |
| Category |
For Mozilla software, an add-on is a software component that extends the functionality of the Firefox web browser and related applications – although most are browser extensions. Mozilla provides add-ons to users via its official add-on website.[1]
In 2017, Mozilla enacted major changes to the application programming interface (API) for extensions in Firefox, replacing the long-standing XPCOM-based add-on APIs with the WebExtensions API that is modeled after Google Chrome's API.[2][3][4] Thus add-ons that remain compatible with Firefox are now largely compatible with Chrome as well.[5] As of January 2024, there are more than 36,000 add-ons and over 495,000 themes available for Firefox.[6][7]
Add-ons categories
[edit]Themes
[edit]Early versions of Firefox supported themes that could greatly change the appearance of the browser, but this was scaled back over time. Current themes are limited to changing the background and text color of toolbars,[8] formerly called personas, now called Firefox Themes.[9]
WebExtensions
[edit]Starting with Firefox 57, only the new WebExtensions API is supported for extensions; relegating the older extension technology as legacy.[3][10]
Legacy extensions
[edit]Prior to 2017, Firefox supported extensions developed via various APIs: XUL, XPCOM, and Jetpack.[11] Mozilla now refers to these as legacy extensions.[4]
Plug-ins
[edit]Plug-ins are no longer supported in Firefox. In the past, they were used to handle media types for which the application did not have built-in capability. They were deprecated due to security concerns and improvements in Web APIs.[12] The last one that was officially supported was Adobe Flash Player, which Adobe discontinued in 2020.[13][14]
Security
[edit]Mozilla had no mechanism to restrict the privileges of legacy Firefox extensions. This meant that a legacy extension could read or modify the data used by another extension or any file accessible to the user running Mozilla applications.[15] But the current WebExtensions API imposes security restrictions.[16]
Starting with Firefox 40, Mozilla began to roll out a requirement for extension signing.[17] It is now required in all official Firefox releases.[18]
Website
[edit]The Mozilla add-ons website is the official repository for Firefox add-ons.[1] In contrast to mozdev.org which provides free hosting for Mozilla-related projects, the add-ons site is tailored for users. By default, Firefox automatically checks the site for updates to installed add-ons.[19]
Key Information
In January 2008, Mozilla announced that the site had accumulated a total of 600 million add-on downloads and that over 100 million installed add-ons automatically check the site for updates every day.[20] In July 2012, the total had increased to 3 billion downloads from the site.[21]
References
[edit]- ^ a b "Official Add-on website". Mozilla. Retrieved 10 February 2019.
- ^ "The Future of Developing Firefox Add-ons". Mozilla Add-ons Blog. 21 August 2015. Retrieved 2018-12-15.
- ^ a b "Upcoming Changes in Compatibility Features". Mozilla Add-ons Blog. 10 August 2017. Retrieved 2018-12-15.
- ^ a b "How to enable legacy extensions in Firefox 57 - gHacks Tech News". www.ghacks.net. 12 August 2017. Retrieved 2018-12-14.
- ^ "Porting a Google Chrome extension". Mozilla. Retrieved 30 December 2018.
- ^ "Search results (Extensions) – Add-ons for Firefox (en-US)". addons.mozilla.org. Mozilla. Retrieved 28 January 2024.
- ^ "Search results (Themes) – Add-ons for Firefox (en-US)". addons.mozilla.org. Mozilla. Retrieved 28 January 2024.
- ^ "Themes – Add-ons for Firefox (en-US)". addons.mozilla.org.
- ^ "Personas are now Firefox Themes". Mozilla Add-ons Community Blog.
- ^ "Browser extensions". MDN. Mozilla. Retrieved 10 February 2019.
- ^ Chapter 2: Technologies used in developing extensions - Firefox addons developer guide | MDN Archived 2016-10-05 at the Wayback Machine. Developer.mozilla.org. Retrieved on 2013-07-21.
- ^ Smedberg, Benjamin (8 October 2015). "NPAPI Plugins in Firefox". Future Releases. Mozilla Foundation.
- ^ Lardinois, Frederic (25 July 2017). "Get ready to finally say goodbye to Flash — in 2020". TechCrunch. Retrieved 2017-07-25.
- ^ "End of support for Adobe Flash". Mozilla. Retrieved 9 April 2021.
- ^ "Abusing, Exploiting and Pwning with Firefox Add-ons" (PDF). Archived from the original (PDF) on 2016-03-05. Retrieved 2013-10-23.
- ^ "Security Best Practices". MDN. Mozilla. Retrieved 10 February 2019.
- ^ Fisher, Dennis (12 August 2015). "Firefox 40 Begins Warning Users About Unsigned Add-Ons". Threatpost. Retrieved 20 August 2015.
- ^ "Extension Signing". Mozilla.org Wiki. Mozilla. Retrieved 20 August 2015.
- ^ "Updates". Mozilla Developer Network. Retrieved 2017-10-28.
- ^ Scott, Justin (30 January 2008). "600,000,000 Add-on Downloads". Blog of Metrics. Mozilla Foundation.
- ^ "Firefox Add-ons Cross More Than 3 Billion Downloads!". The Mozilla blog. Retrieved 1 November 2013.
External links
[edit]Add-on (Mozilla)
View on GrokipediaOverview
Definition and Purpose
Mozilla add-ons include extensions and themes, which are software components that extend and customize the functionality of Firefox and other Mozilla applications, such as Thunderbird, by integrating additional features built with web technologies including HTML, CSS, and JavaScript.[11][5] These add-ons enable users to enhance their browsing experience in ways that go beyond the browser's default capabilities, supporting a wide range of applications from personal customization to professional workflows.[4] The primary purposes of Mozilla add-ons include modifying the user interface for better usability, adding new features such as ad-blocking to reduce distractions or password management to streamline secure logins, and integrating with external web services to expand browser interactions.[4] They provide tools for productivity, like tab organization to manage multiple sessions efficiently, and security enhancements, such as privacy controls that isolate browsing activities to prevent tracking.[4] By allowing these modifications, add-ons empower users to tailor Firefox to specific needs, making web browsing faster, safer, and more personalized.[12] Unlike built-in browser features pre-shipped by Mozilla, add-ons are user-installable and primarily developed by the community, fostering innovation through open contribution and distribution via platforms like addons.mozilla.org.[12] Over time, Mozilla add-ons have evolved from early plug-in models, which relied on less secure native code interfaces like NPAPI, to modern standards such as WebExtensions, emphasizing cross-browser compatibility and improved security through sandboxed web-based execution.[13][14][5]Historical Development
Mozilla add-ons originated in early Firefox previews around 2002, with stable support introduced in Firefox 1.0 on November 9, 2004, which introduced extension support through the XUL framework for user interfaces and XPCOM for cross-platform components, enabling developers to extend browser functionality with JavaScript-based overlays.[15] This foundational system allowed for lightweight, task-specific additions that integrated seamlessly with the browser's architecture. Themes were introduced around 2004 alongside early extensions.[16] Between 2006 and 2010, the add-on ecosystem expanded rapidly, driven by the popularity of security-focused extensions like Adblock Plus, first released in 2006, and NoScript, which gained prominence by 2009 amid high-profile developer interactions that underscored their widespread use among millions of users.[17] In August 2015, Mozilla announced the WebExtensions API as a standardized framework inspired by Chrome's extension model, aiming to improve cross-browser compatibility and simplify development while phasing out legacy XUL and XPCOM dependencies.[10] The API debuted experimentally in Firefox 45 in December 2015 and became the required standard for new extensions by November 2017.[18] From 2017 to 2021, deprecation accelerated: NPAPI plug-ins, used for legacy content like Java and Silverlight, were fully disabled in Firefox 52 on March 7, 2017, except for Flash, which ended later.[19] Stricter enforcement of add-on signing, mandatory since Firefox 40 in 2015, continued with policy updates in May 2019 to enhance review and blocking of unverified or malicious extensions to bolster security.[20][8] Recent updates from 2022 to 2025 have emphasized security and standardization, with mandatory digital signing required for all add-ons distributed via Mozilla's platform to prevent tampering.[8] Firefox introduced Manifest V3 support starting in late 2022, aligning with Chrome's API for better performance and privacy controls, with ongoing support for both Manifest V2 and V3, even as Google phases out V2 in Chrome by mid-2025.[21][22] Mozilla's privacy policies, influenced by regulations like the EU's GDPR (effective since May 2018), now mandate explicit data collection disclosures in extension manifests for new submissions effective November 3, 2025.[23] A pivotal event was Mozilla's 2020 roadmap outlining the sunset of legacy extensions in standard releases by Firefox 109 in January 2023, prompting adaptations such as uBlock Origin's successful transition to WebExtensions while retaining core features.[24]Types of Add-ons
Themes
Themes are a category of lightweight add-ons for Mozilla Firefox that enable users to customize the browser's visual appearance, such as colors, background images, toolbar designs, and icons, without altering core functionality or adding interactive features.[25] These modifications focus exclusively on aesthetics, allowing personalization of the user interface to match user preferences, system themes, or accessibility needs.[26] Firefox supports two primary historical types of themes: complete themes, which provided a full overhaul of the browser's user interface including menus, tabs, and layout elements, and lightweight themes (formerly known as Personas), which are more restricted and primarily change the background image, toolbar colors, and header area.[27] Complete themes, introduced in early Firefox versions around 2007, offered extensive customization but were deprecated in favor of lighter alternatives due to compatibility issues with modern updates; as of 2025, they are no longer supported, with built-in options like Light, Dark, and Alpenglow serving as replacements for basic UI overhauls.[28] Lightweight themes remain the standard, developed using the WebExtensions API to apply static or dynamic visual changes without impacting performance.[29] The development of themes dates back to 2007 with initial support for complete themes in Firefox, but lightweight themes were formally introduced in Firefox 3.6 in 2010 as a simpler way to apply visual skins.[30] Over time, Mozilla evolved the format to align with WebExtensions standards, where themes are defined using a JSON manifest file that specifies colors, images, and properties like toolbar and accent hues, without requiring CSS files for basic implementations.[31] This shift, completed by around 2017, emphasized compatibility and ease of distribution, allowing themes to be installed directly from the Add-ons Website.[27] As of November 2025, over 15,000 themes are available on the Firefox Add-ons site, spanning categories like seasonal designs, solid colors, and custom patterns created via tools such as Firefox Color for accessibility-focused options like high-contrast or inverted schemes.[3] Popular examples include dynamic themes that adjust based on time of day or site-specific visuals, enhancing user experience without functional extensions.[32] A key limitation of themes is their lack of scripting capabilities or access to broader browser APIs, restricting them to declarative changes in appearance only—such as predefined colors and images—to ensure security and stability.[31] This design prevents themes from interacting with web content, tabs, or user data, differentiating them from full extensions and keeping them focused purely on aesthetic customization.[29]WebExtensions
WebExtensions represent the modern standard for developing browser extensions in Firefox, introduced by Mozilla in 2015 to enable cross-browser compatibility with browsers such as Chrome and Edge.[18] This API framework is built primarily on web technologies including HTML, CSS, and JavaScript, allowing developers to create extensions that modify browser behavior without relying on proprietary Mozilla-specific code.[5] The initial stable implementation arrived with Firefox 45 in early 2016, marking a shift toward standardized extension development that prioritizes portability and security.[18] Key features of WebExtensions include the manifest.json file, which defines the extension's structure, permissions, and capabilities. Prior to 2025, most extensions used Manifest Version 2 (V2), which supported persistent background pages for ongoing tasks; however, starting in 2023, Mozilla began transitioning to Manifest Version 3 (V3) for enhanced security and performance, replacing background pages with event-driven service workers.[24] The permissions system operates on a scoped model, requiring explicit user approval for access to sensitive areas like tabs, storage, or web requests, thereby minimizing potential privacy risks.[33] Common use cases for WebExtensions involve injecting content scripts to modify web page elements, displaying browser action popups for user interfaces, and integrating with APIs such as storage.sync for synchronized data across devices. These capabilities enable functionalities like ad blocking, privacy enhancements, and productivity tools.[34] By 2025, following the full disablement of legacy add-ons in 2018, the overwhelming majority of active Firefox extensions—over 36,000 listed on the official add-ons site—utilize the WebExtensions format.[35][36] Prominent examples include uBlock Origin, a content blocker that filters network requests, and Privacy Badger, which automatically learns to block tracking domains. Advantages of WebExtensions include simplified porting to other browsers due to API alignment with Chrome's extension model, eliminating the need for knowledge of Mozilla's legacy XUL framework.[5] This standardization has facilitated broader developer adoption and maintenance across ecosystems.[37]Legacy Extensions
Legacy extensions in Mozilla Firefox refer to add-on formats that relied on XUL (XML User Interface Language) and XPCOM (Cross-Platform Component Object Model) for deep integration with the browser's core functionality, allowing developers to create highly customized user interfaces and access low-level APIs.[38][39] These extensions were introduced alongside early versions of Firefox starting in 2004, enabling advanced features like custom overlays and direct manipulation of browser components that were not possible in later formats.[38] During their peak usage from 2004 to approximately 2015, legacy extensions powered a wide array of sophisticated tools, including the popular Firebug debugging add-on, which facilitated live editing of HTML, CSS, and JavaScript until its discontinuation in 2017 with the release of Firefox 57.[40] This era saw thousands of extensions leveraging XUL and XPCOM to enhance developer productivity and user customization, forming the backbone of Firefox's extension ecosystem before the shift to more standardized APIs.[10] Mozilla began deprecating legacy extensions with the announcement in 2015, culminating in Firefox 57 (released November 2017), which disabled support for new installations and marked them as incompatible in standard releases.[10][35] Existing installations continued to function temporarily in Extended Support Release (ESR) versions up to ESR 52, whose support ended in September 2018, after which all legacy add-ons were disabled on addons.mozilla.org.[41][35] Temporary re-enablement options via configuration flags, such asextensions.legacy.enabled, were available in post-57 versions but were phased out by 2023 as part of ongoing compatibility hardening.[42]
The phase-out was driven by security vulnerabilities inherent in the format's privileged access to browser internals, which increased risks of exploits and malware; the high maintenance burden of supporting outdated XUL and XPCOM code amid evolving browser architectures; and Mozilla's commitment to web standards through the WebExtensions API for better cross-browser compatibility and performance.[38][43] Security risks were amplified in legacy extensions due to their ability to bypass sandboxing, unlike the isolated execution model of modern alternatives.[38]
As of 2025, legacy extensions are no longer supported in standard Firefox releases and can only be used in community-maintained forks like Waterfox, which preserve XUL/XPCOM compatibility for users needing older add-ons.[44][45] Mozilla provides official migration guides to port legacy extensions to WebExtensions, including tools for data transfer and API mapping to ease the transition for developers.[46][47]
Plug-ins
Plug-ins in the context of Mozilla products are native code modules that utilize the Netscape Plugin Application Programming Interface (NPAPI), enabling the browser to load and render specialized content such as multimedia elements or external applications, including Adobe Flash animations and Java applets.[19] These binary components extend browser capabilities by executing outside the standard web rendering engine, allowing for hardware-accelerated processing of formats not natively supported by HTML at the time.[48] During the 1990s and 2010s, NPAPI plug-ins were essential for delivering rich media experiences prior to the maturation of HTML5, filling gaps in browser-native support for interactive and dynamic content.[49] A key example is Adobe Flash, which powered much of the web's video, animation, and gaming content and remained supported in Firefox until its official end-of-life on December 31, 2020.[50] Mozilla began deprecating NPAPI plug-ins to address security vulnerabilities and performance issues, starting with the enforcement of click-to-play in Firefox 23 (released in August 2013), which required users to manually activate plug-ins on a per-site basis.[19] This progressed to the complete disablement of all NPAPI plug-ins except Flash in Firefox 52 (March 2017), and following Flash's discontinuation, full removal of NPAPI support in Firefox 85 (January 2021).[19][51] Contemporary alternatives have rendered plug-ins obsolete, with HTML5 providing built-in standards for embedding and playing video and audio directly in the browser without external dependencies.[52] For computationally intensive tasks once managed by plug-ins, WebAssembly offers a portable, secure binary format that runs at near-native speeds within the browser's sandboxed environment. By 2025, NPAPI plug-ins remain entirely unsupported across all Mozilla products, including Firefox and its derivatives, with any legacy deployment restricted to enterprise settings via custom or extended support builds.[19]Security and Privacy
Vulnerabilities and Risks
Malicious add-ons in Mozilla Firefox pose significant security threats primarily through excessive permissions that enable data theft, such as accessing browsing history, cookies, and form data without user consent.[53] For instance, extensions requesting broad permissions like "read and change all your data on all websites" can intercept sensitive information, leading to credential theft and privacy violations.[54] Supply-chain attacks further exacerbate these risks, where attackers compromise developer accounts to inject malware into legitimate extensions. In August 2025, Mozilla warned of an active phishing campaign targeting add-on developer accounts on AMO, potentially enabling supply-chain attacks.[55] Historical incidents highlight the evolution of these vulnerabilities. In 2015, multiple exploits in the Adobe Flash plug-in, integrated as a legacy add-on component, allowed remote code execution and were addressed by Mozilla temporarily blocking the plugin across Firefox versions.[56] Similarly, in early 2020, Mozilla banned 197 malicious add-ons from its store after discovering they engaged in unauthorized data collection and ad injection, many of which had evaded initial reviews due to lax signing enforcement prior to stricter mandates.[57] Key risk factors include over-privileged access in legacy extensions, which granted full browser privileges like arbitrary file reads and XPCOM API usage, enabling severe exploits such as system-level malware injection.[58] Phishing attacks via fake add-ons distributed on third-party sites also proliferate, tricking users into sideloading unsigned extensions that bypass Mozilla's official safeguards.[59] These vulnerabilities impact users through data breaches exposing personal information, performance degradation from resource-intensive malicious scripts, and browser crashes induced by unstable code. In 2025, campaigns like FoxyWallet involved over 40 malicious WebExtensions impersonating cryptocurrency wallets, potentially affecting thousands by stealing private keys.[60] Studies indicate that while exact annual flagging rates vary, Mozilla's review process identifies and removes hundreds of suspicious add-ons yearly, with obfuscated code in about 5-10% of submissions raising red flags.[61] Risks differ by add-on type: themes present low security threats, limited to cosmetic changes without executable code or permissions.[62] In contrast, WebExtensions carry higher risks due to their scripting capabilities for dynamic content manipulation, though sandboxing and permission scoping mitigate some exposures compared to legacy formats.[58]Mitigation and Best Practices
Mozilla has implemented robust measures to mitigate security risks associated with add-ons. Mandatory digital signing was fully enforced starting with Firefox 48 in May 2016 for release and beta channels, following a phased rollout beginning in late 2015, ensuring that only verified code can run and helping to prevent the distribution of tampered or malicious software.[8] Additionally, every add-on submission to the Add-ons Mozilla Organization (AMO) undergoes automated review using tools like the addons-linter for validation checks and the AMO validator for detecting potential security vulnerabilities, badware, and policy violations through static analysis.[63][64] The AMO moderation team further enforces these standards by actively removing malicious add-ons to maintain ecosystem integrity. As of November 3, 2025, new Firefox extensions must declare in their manifest whether they collect or transmit personal data, promoting greater transparency.[23] Users play a critical role in add-on security by following best practices to minimize exposure to threats like permission abuse. It is recommended to install add-ons exclusively from the official AMO website, where they undergo rigorous review, rather than from untrusted third-party sources that may distribute unsigned or compromised versions.[54] Before approving an installation, users should carefully review the requested permissions to ensure they align with the add-on's stated purpose and do not grant unnecessary access to sensitive data or browser functions.[54] Firefox also features a built-in blocklist mechanism that automatically detects and disables add-ons flagged as risky based on Mozilla's ongoing monitoring and community reports, providing an additional layer of protection without user intervention.[65] Technical safeguards inherent to modern add-on architectures further reduce potential harms. WebExtensions, the current standard for Firefox add-ons, operate within a sandboxed environment that isolates extension code from core browser processes and other tabs, limiting the impact of any exploited vulnerabilities.[66] Add-ons receive automatic updates by default, ensuring that security patches and fixes are applied promptly to address newly discovered issues without relying on manual user action.[67] The adoption of Manifest V3 further enhances these protections by replacing persistent background scripts with non-persistent service workers, thereby reducing the opportunities for extensions to maintain indefinite access to user data or system resources.[24] For enterprise environments, Mozilla provides tools to enforce stricter controls over add-on usage. Administrators can configure Group Policy objects (GPOs) in Windows Active Directory to whitelist specific add-ons by their unique identifiers, blocking all others from installation or execution and ensuring compliance with organizational security policies.[68][69] The combined impact of these mitigation strategies has proven effective in reducing malicious add-on infections.Distribution and Management
Add-ons Website
The Add-ons website, known as addons.mozilla.org (AMO), serves as the official central repository for discovering, distributing, and managing Mozilla add-ons. Launched on March 27, 2007, it provides a unified platform for users to browse and install extensions, themes, and other compatible add-ons for Firefox and related products.[70] AMO hosts a wide range of add-ons, encompassing functionalities from privacy tools to productivity enhancers. Key features of AMO include advanced search capabilities that allow users to query add-ons by keywords, functionality, or compatibility; user ratings and reviews, which provide community feedback on performance and reliability; and categorized browsing sections such as Privacy & Security, Shopping, and Accessibility to facilitate discovery.[4] Developers benefit from a dedicated Developer Hub dashboard, where they can submit new add-ons, manage updates, track performance metrics, and respond to user feedback.[71] The site also supports mobile users through a dedicated section for Firefox for Android extensions, enabling seamless browsing and installation on mobile devices.[72] AMO employs a tiered review process to ensure add-on quality and security: listed add-ons submitted for hosting on the site undergo full human review, including code inspection and functional testing, while self-hosted (unlisted) add-ons receive automated signing with potential post-publication audits if issues arise.[73] Approval times for submissions can vary based on queue volume and complexity. Integration with Mozilla accounts allows users to sync their installed add-ons across devices, enhancing portability and management.[74] Platform policies emphasize user trust and openness, prohibiting paid promotions or sponsored placements to maintain an unbiased discovery experience, while strongly encouraging developers to release add-ons under open-source licenses such as the Mozilla Public License.[75][76] As of November 2025, all new Firefox extensions must disclose if they collect or transmit personal data, with existing extensions required to comply by mid-2026.[23]Installation and Compatibility
Add-ons for Mozilla products are primarily installed through the official Add-ons for Firefox website (AMO), where users can discover and add extensions or themes with a one-click approval process after reviewing permissions.[77] This method ensures signed add-ons are securely downloaded and integrated into Firefox, with automatic updates handled by the browser. For local installations, users can drag and drop a .xpi file into the Add-ons Manager window or use the "Install Add-on From File" option under the gear icon, allowing manual addition of downloaded packages.[78] Sideload installation, often used by developers for testing, involves loading temporary add-ons via the about:debugging page by selecting "Load Temporary Add-on" and choosing a file from the extension directory; these are not permanent and are removed on browser restart unless using developer editions or tools like web-ext for ongoing development.[79] Permanent sideload of unsigned add-ons has been disabled by default in release versions of Firefox since 2019, requiring submission to AMO for signing to enable distribution and updates.[34] Compatibility is centered on Firefox for desktop and mobile, where add-ons must declare version requirements in their manifest.json file using keys like strict_min_version to ensure they run only on supported browser releases; for example, Manifest V3 add-ons require at least Firefox 109.[33] Thunderbird offers partial support for WebExtensions add-ons, installed similarly through its Add-ons Manager, though not all Firefox-specific APIs are available.[80] Cross-version support for WebExtensions extends back to Firefox 45, enabling broad compatibility across releases, while themes have been universally applicable since Firefox 4, adapting to interface changes without version restrictions.[5][25] Common troubleshooting issues include conflicts with antivirus software, which may block installations as unverified; users can resolve this by adding exceptions in Firefox's Privacy & Security settings or temporarily disabling the antivirus during install.[78] Update failures often stem from version incompatibilities, fixable by updating Firefox or selecting compatible add-on versions from AMO, while multi-profile management allows isolating add-ons per profile via the Profile Manager to avoid conflicts.[81] As of 2025, Android installations occur directly via the Firefox app's Add-ons Manager, where users browse addons.mozilla.org/android, select an extension, and confirm permissions for integration.[82] Legacy extensions receive no support in Extended Support Release (ESR) versions post-2023, as compatibility ended with ESR 52 in 2018, with subsequent ESR releases like 115 focusing solely on WebExtensions.[83] During installation from AMO, Firefox prompts users to review permissions to maintain security.Development
Creation Process
Creating a Mozilla add-on, primarily through the WebExtensions framework, requires developers to have a foundational knowledge of web technologies such as JavaScript, HTML, and CSS.[34] Familiarity with command-line tools and text editors is also beneficial for efficient development. To begin, developers must create a Mozilla Account, which is necessary for accessing developer tools and submitting add-ons to the Add-ons Mozilla Organization (AMO) site.[73] The development process starts with initializing a project directory and using the web-ext command-line interface (CLI) tool, which automates much of the workflow for building, testing, and packaging extensions.[84] Developers define the core configuration in amanifest.json file, specifying metadata like the add-on's name, version, permissions, and content scripts that leverage WebExtensions APIs for functionality. Local testing follows, where the extension is loaded temporarily into Firefox via the about:debugging page or by running web-ext run, allowing developers to iterate on features in a live browser environment with an empty profile to avoid interference from other extensions.[34] Once tested, the extension is packaged using web-ext build to create a .zip file, which can then be signed into a .xpi format via web-ext sign for distribution.[84]
Submission to AMO involves uploading the signed .xpi file through the developer dashboard after logging in with a Mozilla Account.[73] Developers have two main options: self-distribution, where the add-on is signed but not listed on AMO for public discovery, or full listing on AMO, which requires a comprehensive review for compliance with Mozilla's policies to enable featured placement and broader visibility.[85] Additionally, as of November 3, 2025, all new extensions must specify in the manifest whether they collect or transmit personal data.[23] For add-ons that collect user data, a privacy policy is mandatory, detailing what data is gathered, how it is used, and any transmission to third parties; this must be provided during submission and is verified as part of the review.[73] The web-ext tool, installed via Node.js (requiring the current LTS version), handles linting with web-ext lint to check for errors and ensures compatibility.[84] Note that the legacy Add-on SDK, once used for extension development, was deprecated in November 2017, with Mozilla now focusing exclusively on WebExtensions.[86]
From prototyping to approval, the full process typically takes 1-2 weeks, depending on the complexity and whether manual review is triggered; automated signing can occur within 24 hours, but full reviews for listed add-ons may extend to several days or more if issues arise.[85] Updates to approved add-ons are pushed automatically via AMO, streamlining maintenance after initial submission.[73]
APIs and Standards
Mozilla add-ons, built using the WebExtensions framework, primarily utilize thebrowser.* namespace for core JavaScript APIs that enable interaction with browser functionality. This namespace provides asynchronous, Promise-based methods for various operations, ensuring cross-browser compatibility when paired with polyfills. For instance, the browser.tabs API allows developers to manage tabs by querying active tabs, creating new ones, updating their properties, or removing them, which is essential for extensions handling navigation or multi-tab workflows.[87] Similarly, the browser.storage API facilitates data persistence through key-value stores, supporting local, synced, or session-based storage with change listeners, allowing extensions to save user preferences or state across sessions without relying on external servers.[88]
WebExtensions adhere to evolving standards, with support for Manifest V3 introduced in Firefox 109 in 2023, while Manifest V2 remains supported alongside it, introducing service workers to replace persistent background pages for improved performance and security.[22][89] In Manifest V3, the background key specifies a service worker script (e.g., "background": {"service_worker": "background.js"}), which runs on demand rather than continuously, supported in Firefox from version 109 released in January 2023. The declarativeNetRequest API, also part of Manifest V3, enables network modifications like ad-blocking through declarative rules without injecting scripts into web pages, reducing security risks and improving efficiency; it is declared in the manifest via the "declarative_net_request" key and was fully supported in Firefox 113 from May 2023.[90]
The permissions model in WebExtensions requires developers to declare necessary permissions upfront in the manifest.json file to access sensitive APIs or host resources, promoting transparency and user control. Host and content permissions, such as match patterns for specific domains (e.g., "<all_urls>" or "*://example.com/*"), are specified under host_permissions in Manifest V3 or permissions in V2, granting capabilities like injecting content scripts or accessing tab metadata only for approved sites.[91] Runtime checks occur during installation, where users are prompted to review and approve permissions, and post-install, the browser enforces these limits to prevent unauthorized access or abuse, with options like the activeTab permission providing temporary, user-initiated access to the current tab.[91]
Advanced features support innovation and compatibility in add-on development. The webextension-polyfill library enables seamless use of the browser.* namespace in Chrome-based browsers, which natively use chrome.*, by providing a unified Promise-based API and ensuring legacy extensions can migrate without major rewrites; it is available via npm or GitHub and integrates directly into extension scripts.[92] For testing beta or emerging APIs, developers can leverage experimental implementations through browser flags or community proposals, though formal experiments have evolved into integrated API previews aligned with ongoing standardization efforts.
Mozilla provides privacy-focused APIs within the browser.privacy namespace to give users and developers greater control over data handling. The browser.privacy.network property, for example, allows extensions to query and modify network-related privacy settings, such as enabling or disabling WebRTC IP handling policies, via BrowserSetting objects that reflect current configurations.[93] These updates align WebExtensions more closely with W3C standards through the WebExtensions Community Group, established in 2021 by major browsers including Mozilla, to standardize extension APIs and ensure future-proofing across platforms.[94]