The SpinMonitor add-on must be installed on all users' Firefox browser to view other installed Firefox add-ons from SpinOne. The add-on can be installed from Mozilla's official add-ons page: https://addons.mozilla.org/en-US/firefox/addon/spinmonitor-for-gws/
This approach, however, is inefficient for many organizations because it requires each end user to individually install SpinMonitor. Since the Firefox browser does not have a centralized management system, administrators must use the policies.json file to enforce administrative policies, including the force install of Firefox browser add-ons.
This article contains two parts:
- An explanation of policies.json
- Deploying the policies.json file using popular tools (Intune, Jamf)
Part 1: Policies.json explanation
Policies.json is a file used to enforce administrative policies on the Firefox browser. Due to Firefox browser API limitations, this file must be deployed to end users' local devices in order for SpinOne to view end users' Firefox add-ons.
The policies.json file provided below automatically installs the SpinMonitor add-on and makes it unremovable from the Firefox browser.
The following section explains how to deploy the policies.json file.
For Windows
1) Create the policies.json file or download it here.
{
"policies": {
"Extensions": {
"Install": [
"https://addons.mozilla.org/firefox/downloads/file/4458034/spinmonitor_for_gws-1.0.2.xpi"
],
"Locked": [
"{a1d09385-16e5-45a7-8d9f-e8146f9699a5}"
]
}
}
}
2) Place the policies.json file in the Mozilla Firefox\distribution folder. Create the distribution folder if it does not exist. The default location is displayed below.
C:\Program Files\Mozilla Firefox\distribution
WARNING: If another policies.json file exists, then there is another Firefox policy already implemented. In this case, it is recommended to merge the contents of the two policies.json file.
For MacOS
1) Create the policies.json file or download it here.
{
"policies": {
"Extensions": {
"Install": [
"https://addons.mozilla.org/firefox/downloads/file/4458034/spinmonitor_for_gws-1.0.2.xpi"
],
"Locked": [
"{a1d09385-16e5-45a7-8d9f-e8146f9699a5}"
]
}
}
}
2) Place the policies.json file in this folder path. Create the distribution folder if it does not exist.
/Applications/Firefox.app/Contents/Resources/distribution/
WARNING: If another policies.json file exists, then there is another Firefox policy already implemented. In this case, it is recommended to merge the contents of the two policies.json file.
For Linux
1) Create the policies.json file or download it here.
{
"policies": {
"Extensions": {
"Install": [
"https://addons.mozilla.org/firefox/downloads/file/4458034/spinmonitor_for_gws-1.0.2.xpi"
],
"Locked": [
"{a1d09385-16e5-45a7-8d9f-e8146f9699a5}"
]
}
}
}
2) Place the policies.json file in this folder path. Create the distribution folder if it does not exist. This approach is useful for managing a particular Firefox instance.
firefox/distribution
Alternatively, this folder path can be used to be applied system-wide.
/etc/firefox/policies
WARNING: If another policies.json file exists, then there is another Firefox policy already implemented. In this case, it is recommended to merge the contents of the two policies.json file.
Part 2: Deploying the policies.json file using popular tools (Intune, Jamf)
There are many available options and tools used to deploy policies.json. This following are only suggestions based on popular deployment tools and methods.
The methods below uses Intune or Jamf to execute a script that downloads the policies.json file and places it in the appropriate local folder of end users' devices.
Before deploying policies.json, please review the following important points:
- There can only be one policies.json file. If your organization has an existing policies.json file, it is recommended to merge the two files.
- End users will be prompted to authenticate. Once the SpinMonitor add-on is installed on end users' Firefox web browser, end users will receive a prompt to authenticate into Google Workspace.
Using Intune
For Windows devices
In Intune Admin Center, add a PowerShell script by navigating to Devices > Scripts and remediations > Platform scripts > Add
2. Under Script settings, use this script or download it here:
$destination = "C:\Program Files\Mozilla Firefox\distribution\"
if (!(Test-Path $destination)) {
New-Item -ItemType Directory -Path $destination -Force
}
$url = "https://static.helpjuice.com/helpjuice_production/uploads/upload/image/7298/5160464/policies.json"
$outputPath = "$destination\policies.json"
Invoke-WebRequest -Uri $url -OutFile $outputPath
3. Complete the remaining PowerShell script creation steps by assigning target users/groups
For MacOS devices
1. In Intune Admin Center, add a PowerShell script by navigating to Devices > Scripts and remediations > Platform scripts > Add
2. Under Script settings, use this script or download it here:
#!/bin/bash
# Define the destination path
destination="/Applications/Firefox.app/Contents/Resources/distribution"
# Check if the directory exists, and create it if not
if [ ! -d "$destination" ]; then
sudo mkdir -p "$destination"
sudo chown -R $(whoami):staff "$destination"
fi
# Define the URL and output path
url="https://static.helpjuice.com/helpjuice_production/uploads/upload/image/7298/5160464/policies.json"
outputPath="$destination/policies.json"
# Download the policies.json file
curl -o "$outputPath" "$url"
3. Complete the remaining PowerShell script creation steps by assigning target users/groups
For Linux devices
1. In Intune Admin Center, add a PowerShell script by navigating to Devices > Scripts and remediations > Platform scripts > Add
2. Under Script settings, create this script or download it here:
#!/bin/bash
# Define the destination path for Firefox policies
destination="/etc/firefox/distribution"
# Check if the directory exists; if not, create it
if [ ! -d "$destination" ]; then
sudo mkdir -p "$destination"
# Ensure the directory is owned by root
sudo chown -R root:root "$destination"
fi
# Define the URL to the policies.json file
url="https://static.helpjuice.com/helpjuice_production/uploads/upload/image/7298/5160464/policies.json"
# Define the output path for the policies.json file
outputPath="$destination/policies.json"
# Download the policies.json file (using -L to follow redirects if necessary)
curl -L -o "$outputPath" "$url"
# Ensure the policies.json file is owned by root after downloading
sudo chown root:root "$outputPath"
3. Complete the remaining PowerShell script creation steps by assigning target users/groups
Using Jamf Pro
For MacOS devices
1. In Jamf Pro, navigate to Computers > Scripts > New Script
2. Create and save this script or download it here:
#!/bin/bash
# Define the destination path for Firefox policies
destination="/Applications/Firefox.app/Contents/Resources/distribution"
# Check if the directory exists; if not, create it
if [ ! -d "$destination" ]; then
sudo mkdir -p "$destination"
fi
# Define the URL to the policies.json file
url="https://static.helpjuice.com/helpjuice_production/uploads/upload/image/7298/5160464/policies.json"
# Define the output path for the policies.json file
outputPath="$destination/policies.json"
# Download the policies.json file
curl -o "$outputPath" "$url"
# Set correct ownership for the policies.json file (root:admin)
sudo chown root:admin "$outputPath"
3. Create a Policy by navigating to Computers > Policies > New
- Under Trigger, select Startup
- Under Execution Frequency, select Every check-in
- Under Scripts, select Configure and deploy the script
- Select Save
4. Complete the remaining steps by assigning target users/groups
Congratulations! Once the policies.json file is deployed to end users, their Firefox browser add-ons can now be viewed in SpinOne.
