Déploiement Firefox Enterprise
Force-installer SafePrompt et pré-configurer la clé tenant sur un parc Firefox ESR (Windows, macOS, Linux) via le fichier policies.json officiel Mozilla.
Ce guide s'adresse aux administrateurs IT qui maintiennent un parc Firefox — typiquement les secteurs finance, public ou santé qui standardisent sur Firefox ESR pour des raisons de licence ou de souveraineté. À la fin, SafePrompt sera installé automatiquement sur tous les postes ciblés (Windows, macOS, Linux) et préconfiguré avec votre clé tenant via storage.managed — vos utilisateurs n'ont rien à faire.
Étape 1 — Récupérer votre clé tenant_api_key
Connectez-vous au tableau de bord SafePrompt avec votre compte administrateur. Votre clé tenant_api_key et votre identifiant tenant_id se trouvent dans Paramètres → Déploiement. Copiez ces deux valeurs, vous les collerez dans le fichier policies.json à l'étape suivante.
Étape 2 — Télécharger le fichier policies.json
Téléchargez le fichier policies.json ci-dessous, ouvrez-le dans un éditeur de texte et remplacez les trois placeholders (<XPI_VERSION_ID>, <TENANT_API_KEY>, <TENANT_UUID>) par les valeurs récupérées à l'étape 1 et l'identifiant XPI fourni par notre équipe. Le fichier final pèse moins de 1 Ko.
{
"policies": {
"ExtensionSettings": {
"[email protected]": {
"installation_mode": "force_installed",
"install_url": "https://addons.mozilla.org/firefox/downloads/file/<XPI_VERSION_ID>/safeprompt.xpi",
"default_area": "navbar",
"allowed_types": ["extension"]
}
},
"3rdparty": {
"Extensions": {
"[email protected]": {
"tenant_api_key": "<TENANT_API_KEY>",
"tenant_id": "<TENANT_UUID>"
}
}
}
}
}Télécharger firefox-policies.json
Étape 3 — Déposer le fichier au bon emplacement
Firefox lit policies.json au démarrage depuis un emplacement standard différent selon le système. Déposez le fichier avec les permissions de lecture pour tous les utilisateurs (chmod 644 sous Unix).
Windows
Déposez policies.json dans le dossier de distribution Firefox. Si le dossier distribution n'existe pas, créez-le. Le déploiement via GPO ou Intune peut écrire ce fichier automatiquement.
C:\ProgramData\Mozilla\Firefox\distribution\policies.jsonmacOS
Déposez policies.json dans le bundle de l'application Firefox. Pour un déploiement MDM (Jamf, Mosyle), poussez le fichier dans le même chemin via un payload File.
/Applications/Firefox.app/Contents/Resources/distribution/policies.jsonLinux
Déposez policies.json dans /etc/firefox/policies/. Si le dossier policies n'existe pas, créez-le (mkdir -p /etc/firefox/policies). Permissions recommandées : 644 root:root.
/etc/firefox/policies/policies.jsonÉtape 4 — Redémarrer Firefox et vérifier about:policies
Sur un poste cible, redémarrez Firefox puis vérifiez que la policy est bien appliquée via l'interface interne de diagnostic.
Redémarrer Firefox
Fermez toutes les fenêtres Firefox et relancez le navigateur. Les policies ne sont chargées qu'au démarrage.Ouvrir about:policies
Tapez about:policies dans la barre d'adresse et validez. Cette page liste toutes les policies actives pour ce profil utilisateur.Vérifier l'onglet « Actives »
Sélectionnez l'onglet « Actives ». Vous devez voir l'entrée ExtensionSettings listée avec [email protected] en mode force_installed, ainsi que la section 3rdparty contenant vos valeurs tenant.
Étape 5 — Vérifier la propagation côté extension
Vérifiez que l'extension reçoit bien les valeurs tenant via l'API browser.storage.managed.
Ouvrir about:debugging
Tapez about:debugging dans la barre d'adresse et validez. Cette page permet d'inspecter les extensions installées.Sélectionner « Ce Firefox »
Dans le menu de gauche, cliquez sur « Ce Firefox ». La liste des extensions installées sur ce profil s'affiche.Inspecter SafePrompt
Trouvez l'entrée SafePrompt dans la liste et cliquez sur « Inspecter ». Une fenêtre DevTools s'ouvre attachée au service worker de l'extension.Exécuter la commande de vérification
Dans l'onglet Console des DevTools, collez la commande ci-dessous. Vous devez obtenir un objet contenant vos valeurs tenant_api_key et tenant_id. Si l'objet est vide, vérifiez l'étape 4 et redémarrez à nouveau Firefox.
await browser.storage.managed.get(['tenant_api_key', 'tenant_id'])Cas particuliers
Quelques situations courantes en déploiement multi-vendeurs ou en environnement très sécurisé.
Plusieurs policies.json co-existants
Si un autre éditeur (antivirus, SSO, navigateur managed par votre DSI) dépose déjà un policies.json sur les postes, Firefox priorise par emplacement : le fichier à l'emplacement entreprise standard (distribution/ ou /etc/firefox/policies/) est lu en premier et les autres sont ignorés. Il n'y a pas de mécanisme de merge automatique — vous devez consolider toutes les policies de votre organisation dans un seul fichier.
Option BlockedInstallMessage (désactivée par défaut V1)
Firefox propose une policy BlockedInstallMessage qui bloque l'installation de toute extension hors safelist et affiche un message personnalisé aux utilisateurs. Cette option est utile pour les environnements très contraints (banques, défense) mais peut casser des workflows employés légitimes (extensions de productivité, traducteurs). Elle est désactivée par défaut dans notre template V1 — activez-la uniquement si votre RSSI l'exige.
Besoin d'aide ?
Notre équipe répond sous 24h ouvrées aux questions de déploiement enterprise. Envoyez un message à [email protected].