Firefox Deployment
This guide covers deploying Check to Firefox across different platforms using enterprise policies.
Overview
Firefox supports centralized extension management through the policies.json file. This method works across Windows, macOS, and Linux, making it ideal for enterprise deployments.
Extension ID
The Check extension for Firefox uses the ID: check@cyberdrain.com
Quick Reference
Windows
%ProgramFiles%\Mozilla Firefox\distribution\policies.json
macOS
/Applications/Firefox.app/Contents/Resources/distribution/policies.json
Linux (system)
/etc/firefox/policies/policies.json
Linux (app)
/usr/lib/firefox/distribution/policies.json
Prerequisites
Before deploying Check to Firefox:
Firefox 109 or later installed on target systems
Administrator/root access for system-wide deployment
Signed extension package (
.xpifile) for production deploymentTemplate
policies.jsonfromenterprise/firefox/policies.jsonin the repository
Deployment Steps
1. Prepare the Extension Package
For production deployment, you need a signed .xpi file:
Option A: Mozilla Add-ons Signing (Recommended)
Build the Firefox version:
Package the extension:
Submit to addons.mozilla.org for signing
Download the signed .xpi file
Host on your internal server or use Mozilla's CDN
Option B: Development Installation
For testing or development:
Use temporary add-on installation (no signing required)
Enable unsigned extensions in Firefox Developer Edition
Not recommended for production deployments
2. Configure policies.json
Create or modify policies.json based on the template in enterprise/firefox/policies.json:
3. Deploy by Platform
Windows Deployment
Manual Deployment:
Create the distribution folder if it doesn't exist:
Copy your configured
policies.json:Restart Firefox on all systems
Group Policy Deployment:
Firefox also supports Windows GPO. For organizations using Active Directory:
Download Firefox ADMX templates from Mozilla
Import into Group Policy Management
Configure extension policies through GPO
Link to appropriate OUs
Intune Deployment:
Deploy via Microsoft Intune using a PowerShell script:
macOS Deployment
Manual Deployment:
Create the distribution folder:
Copy your configured
policies.json:Set appropriate permissions:
MDM Deployment (Jamf, Intune, etc.):
Deploy using a script payload:
Configuration Profile (Alternative):
Some MDM systems support Firefox configuration profiles. Check your MDM documentation for Firefox-specific configuration options.
Linux Deployment
System-Wide Deployment:
Create the policies directory:
Copy your configured
policies.json:Set proper permissions:
Distribution-Specific Locations:
Different Linux distributions may use different paths:
Debian/Ubuntu:
/etc/firefox/policies/policies.jsonRHEL/CentOS/Fedora:
/usr/lib64/firefox/distribution/policies.jsonSUSE/openSUSE:
/usr/lib/firefox/distribution/policies.jsonSnap package: Policies not supported via traditional methods
Automated Deployment:
Using Ansible:
Using Puppet:
Configuration Options
All Check configuration options are available through the 3rdparty.Extensions section of policies.json.
Security Settings
CIPP Integration
Detection Rules
Custom Branding
Generic Webhook
Configure a webhook to receive detection events:
Available Event Types:
detection_alert- General phishing detection eventsfalse_positive_report- User-submitted false positive reportspage_blocked- Page blocking eventsrogue_app_detected- OAuth rogue application detectionthreat_detected- General threat detection eventsvalidation_event- Legitimate page validation events
For webhook payload schema and implementation details, see the Webhook Documentation.
For all available options, see config/managed_schema.json in the repository.
Verification
Check Policy Application
After deployment, verify policies are applied:
Open Firefox
Navigate to
about:policiesVerify that your policies appear under "Active Policies"
Check for any error messages
Verify Extension Installation
Navigate to
about:addonsConfirm that the Check extension is installed
Verify it shows as "Managed by your organization"
Check that users cannot disable or remove it (if locked)
Test Functionality
Visit a test phishing site
Verify that the extension detects the site and blocks it or displays an appropriate warning
Check the extension popup for status
Verify that branding appears correctly
Updating the Extension
Update Process
When a new version is released:
Build and sign the new version
Upload to your distribution server
Update the
install_urlinpolicies.jsonif the URL changedFirefox will automatically update the extension based on the update manifest
Force Immediate Update
To force an immediate update:
Remove the extension from
policies.jsonPush the updated policy (Firefox will remove the extension)
Re-add the extension with the new URL
Push the updated policy again
Troubleshooting
Policies Not Applied
Check these items:
File location: Verify that
policies.jsonis in the correct path for your OSFile permissions: Must be readable by Firefox (644 recommended)
JSON syntax: Validate your JSON at jsonlint.com
Firefox restart: Policies apply on Firefox startup
about:policies: Check for error messages
Extension Not Installing
Common causes:
Unsigned extension: Production deployments require a signed
.xpifileUnreachable URL: Verify that the
install_urlis accessibleNetwork restrictions: Check firewall/proxy settings
Firefox version: Ensure Firefox 109+
Configuration Not Working
Verify:
Extension ID matches:
check@cyberdrain.comSettings are in the
3rdparty.ExtensionssectionJSON formatting is correct
Firefox was restarted after policy deployment
Users Can Still Disable Extension
Ensure:
Extension is in the
Lockedarrayinstallation_modeis set toforce_installedpolicies.jsonwas properly deployedFirefox has been restarted since deployment
Removal
To remove the Check extension:
Option 1: Update policies.json
Remove the extension from Install and ExtensionSettings:
Option 2: Delete policies.json
Removing the entire policies file will remove all managed extensions and policies.
Best Practices
Test First: Deploy to a pilot group before organization-wide rollout
Version Control: Keep policies.json in version control
Monitor Logs: Check Firefox logs during initial deployment
Document Changes: Record configuration changes and reasons
Update Regularly: Keep the extension updated for the latest protections
Validate JSON: Always validate
policies.jsonsyntax before deployment
Support Resources
Template:
enterprise/firefox/policies.jsonSchema:
config/managed_schema.jsonFirefox Policies: Mozilla Policy Documentation
General Support: See Firefox Support
Additional Resources
Last updated