Configure extension for enterprises

Deploy and configure the CheerpJ browser extension for applets on managed Chrome and Edge

Desktop administrators can install and configure the extension on managed Chrome and Edge browsers with the browsers’ own policies, set through Group Policy, the Windows Registry, or a device management tool such as Intune. With an Enterprise licence, the licence is set by policy too, and activates offline.

This page assumes you know how to set browser policies with Group Policy or the Windows Registry.

For more detailed guidance, see the official Chrome and Edge documentation on configuring browser extensions for enterprise use.

The extension ID

The extension ID is a unique identifier used to differentiate one extension from another. It is required when configuring extensions using the Windows Group Policy Editor or setting them in the registry.

The extension ID of the official Edge Add-ons store version is:

ebfcpaoldmijengghefpohddmfpndmic

The extension ID of the official Chrome Webstore version is:

bbmolahhldcbngedljfadjlognfaaein

If you host a custom build of the extension yourself, its extension ID is different. We send it to you with the build, or you can find it yourself: To obtain the extension ID for a custom build, drag the CRX file onto your browser’s Extensions page. You can navigate there by clicking the three dots in the top-right corner of the browser and selecting Extensions. Once the extension is loaded, you can note the ID.

Configure with the Group Policies

A common way to configure your extensions is by using the ExtensionSettings policy, which includes multiple options for admins to set up extensions for users. The ExtensionSettings policy enables you to configure multiple settings in one place using a JSON string in the Windows Group Policy Editor.

For more information on the ExtensionSettings policy, see the official documentation for Chrome and Edge.

Configure the ExtensionSettings policy with JSON format

You can access the ExtensionSettings policy through the Group Policy Editor. The location of the policy varies depending on the browser you are using.

  • Edge: In the Group Policy Editor, go to Administrative Templates > Microsoft Edge > Extensions > Configure extension management setting policy

  • Chrome: In the Group Policy Editor, go to Administrative Templates > Google > Google Chrome > Extensions > Configure extension management setting policy

You will need to enable the policy and enter the policy string in JSON format as a single line. To validate and compress the policy into a single line, use a JSON compression tool.

The policy string should include the extension ID and the different policy settings you want to configure. Here is an example:

{ "ExtensionIDHere": { "Setting1": "Value1", "Setting2": "Value2" } }

Force install the extension

You can force install the extension with the ExtensionInstallForcelist policy or the ExtensionSettings policy.

For the ExtensionSettings policy, you will need to use the installation_mode setting and set it to force_install. You will also need to add update_url setting, which specifies where the browser should download the extension from. For extensions hosted in the official browser’s app store, you should use the app store’s URLs. If you are self-hosting your extension, this setting should point to the manifest.xml of the extension.

Policy string for official Chrome extension:

{
"bbmolahhldcbngedljfadjlognfaaein": {
"installation_mode": "force_install",
"update_url": "https://clients2.google.com/service/update2/crx"
}
}

Policy string for official Edge extension

{
"ebfcpaoldmijengghefpohddmfpndmic": {
"installation_mode": "force_install",
"update_url": "https://edge.microsoft.com/extensionwebstorebase/v1/crx"
}
}
Make sure the policy string is in a single line

Pin the extension to the toolbar

To automatically pin the extension to the toolbar you can use the ExtensionSettings policy, the setting property has a different name for Chrome and Edge.

Policy string for official Chrome extension:

{ "bbmolahhldcbngedljfadjlognfaaein": { "toolbar_pin": "forced_pin" } }

Policy string for official Edge extension

{ "ebfcpaoldmijengghefpohddmfpndmic": { "toolbar_state": "force_shown" } }

Configure the extension’s settings (managed storage)

The extension reads some settings from the browser’s managed storage, which administrators set in the Windows Registry.

Users can’t change these values in the extension.

Registry Path

Custom settings must be stored under the following registry path, replacing <extension-id> with the extension’s actual ID (see previous Extension ID section):

  • Chrome
    32-bit Windows
    HKEY_LOCAL_MACHINE\Software\Policies\Google\Chrome\3rdparty\extensions\<extension-id>\policy
    64-bit Windows
    HKEY_LOCAL_MACHINE\Software\Wow6432Node\Policies\Google\Chrome\3rdparty\extensions\<extension-id>\policy

  • Edge
    32-bit Windows
    HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Edge\3rdparty\extensions\<extension-id>\policy
    64-bit Windows
    HKEY_LOCAL_MACHINE\Software\Wow6432Node\Policies\Microsoft\Edge\3rdparty\extensions\<extension-id>\policy

Policy Formatting

Each custom setting corresponds to a property defined in the extension’s managed storage schema. The name, type, and structure of the registry entry must match the schema exactly.

To configure a custom setting, create a new string value under the extension’s policy registry key. Set the value name to the setting’s name, and set the value data to the appropriate value in the format required by the schema.

initOptions

Supported since version 2025.3

Startup options for CheerpJ, passed to cheerpjInit when an applet starts. It currently supports the following properties: clipboardMode, enableinputmethods, tailscaleControlUrl, tailscaleAuthKey, and overrideAllShortcuts.

overrideAllShortcuts is the extension’s own option: set to true, the applet receives every key, including the browser’s keyboard shortcuts.

initOptions replaces the users’ settings
When initOptions is set, the extension ignores the settings in its popup and advanced settings, and uses only the policy’s values.

The schema is as follows:

"initOptions": {
"type": "object",
"properties": {
"clipboardMode": { "type": "string" },
"enableInputMethods": { "type": "boolean"},
"overrideAllShortcuts": { "type": "boolean" },
"tailscaleControlUrl": { "type": "string"},
"tailscaleAuthKey": { "type": "string"}
}
}

Example value for the registry key initOptions:

{ "clipboardMode": "permission", "enableInputMethods": false }

userAgent

Supported since version 2025.3

Changes the user agent the browser sends to sites where the extension is enabled, in the User-Agent and Sec-CH-UA-Platform headers. Some applets, or their servers, behave differently depending on the user agent.

The schema is as follows:

"userAgent": {
"title": "Custom user-agent string and platform",
"type": "object",
"properties": {
"uaString": {"type": "string"},
"platform": {"type": "string"}
}
}

Example value for the registry key userAgent:

{
"uaString": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",
"platform": "macOS"
}

licenseToken

Supported since version 2025.9

The Enterprise licence token. With it set, the extension is licensed on every desktop that receives the policy, and activates offline, with no contact with our licence server.

The schema is as follows:

"licenseToken": {
"type": "string"
}

Since this setting is a simple string, all you need to do is create a new string key named licenseToken and set its value to your provided token.