Skip to content

ContentAnalysis

Configure Firefox to use an agent for Data Loss Prevention (DLP) that is compatible with the Google Chrome Content Analysis Connector Agent SDK.

  • AgentName: the name of the DLP agent. This is used in dialogs and notifications about DLP operations. The default is A DLP Agent.
  • AgentTimeout: the timeout in number of seconds after a DLP request is sent to the agent. After this timeout, the request will be denied unless TimeoutResult is set to 1 or 2. The default is 300.
  • AllowUrlRegexList: a space-separated list of regular expressions that indicates URLs for which DLP operations will always be allowed without consulting the agent. The default is ^about:(?!blank|srcdoc).\*, meaning that any pages that start with about: will be exempt from DLP except for about:blank and about:srcdoc, as these can be controlled by web content.
  • BypassForSameTabOperations: indicates whether Firefox will automatically allow DLP requests whose data comes from the same tab and frame - for example, if data is copied to the clipboard and then pasted on the same page. The default is false.
  • ClientSignature: the required signature of the DLP agent connected to the pipe. If this is a non-empty string and the DLP agent does not have a signature with a Subject Name that exactly matches this value, Firefox will not connect to the pipe. The default is the empty string.
  • DefaultResult: the desired behavior for DLP requests if there is a problem connecting to the DLP agent. The default is 0. Possible values are:
    • 0: Deny the request (default)
    • 1: Warn the user and allow them to choose whether to allow or deny
    • 2: Allow the request
  • DenyUrlRegexList: a space-separated list of regular expressions that indicates URLs for which DLP operations will always be denied without consulting the agent. The default is the empty string.
  • Enabled: indicates whether Firefox should use DLP. Note that if this value is true and no DLP agent is running, all DLP requests will be denied unless DefaultResult is set to 1 or 2.
  • InterceptionPoints controls settings for specific interception points.
    • Clipboard: controls clipboard paste operations for files and text (for copy operations, see ClipboardCopy).
      • Enabled: indicates whether clipboard paste operations should use DLP. The default is true.
      • PlainTextOnly: indicates whether to only analyze the text/plain format on the clipboard. If this value is false, all formats will be analyzed, which some DLP agents may not expect. Regardless of this value, files will be analyzed as usual. The default is true.
    • ClipboardCopy: controls web content copying data to the clipboard (for paste operations, see Clipboard).
      • Enabled: indicates whether clipboard copy operations should use DLP. The default is false, so that existing DLP deployments are unaffected.
      • PlainTextOnly: indicates whether to only analyze the text/plain format being copied. If this value is false, all formats being copied will be analyzed, which some DLP agents may not expect. Regardless of this value, files being copied will be analyzed as usual. The default is true.
    • Download: controls download operations. (Added in Firefox 142, Firefox ESR 140.2)
      • Enabled: indicates whether download operations should use DLP. The default is false.
    • DragAndDrop: controls drag and drop operations for files and text.
      • Enabled: indicates whether drag and drop operations should use DLP. The default is true.
      • PlainTextOnly: indicates whether to only analyze the text/plain format in what is being dropped. If this value is false, all formats will be analyzed, which some DLP agents may not expect. Regardless of this value, files will be analyzed as usual. The default is true.
    • FileUpload: controls file upload operations for files chosen from the file picker.
      • Enabled: indicates whether file upload operations should use DLP. The default is true.
    • Print: controls print operation.
      • Enabled: indicates whether print operations should use DLP. The default is true.
  • IsPerUser: indicates whether the pipe the DLP agent has created is per-user or per-system. The default is true, meaning per-user.
  • MaxConnectionsCount: The maximum number of concurrent connections to the DLP agent. For stability reasons, values exceeding 256 will be ignored. Defaults to 32.
  • PipePathName: the name of the pipe the DLP agent has created and Firefox will connect to. The default is path_user.
  • ShowBlockedResult: indicates whether Firefox should show a notification when a DLP request is denied. The default is true.
  • TimeoutResult: the desired behavior for DLP requests if the DLP agent does not respond to a request in less than AgentTimeout seconds. The default is 0. Possible values are:
    • 0: Deny the request (default)
    • 1: Warn the user and allow them to choose whether to allow or deny
    • 2: Allow the request
policies.json
{
"policies": {
"ContentAnalysis": {
"AgentName": "My DLP Product",
"AgentTimeout": 60,
"AllowUrlRegexList": "https://example.com/.* https://subdomain.example.com/.*",
"BypassForSameTabOperations": true,
"ClientSignature": "My DLP Company",
"DefaultResult": 0,
"DenyUrlRegexList": "https://example.com/.* https://subdomain.example.com/.*",
"Enabled": true,
"InterceptionPoints": {
"Clipboard": {
"Enabled": true,
"PlainTextOnly": true
},
"ClipboardCopy": {
"Enabled": false,
"PlainTextOnly": true
},
"Download": {
"Enabled": false
},
"DragAndDrop": {
"Enabled": true,
"PlainTextOnly": true
},
"FileUpload": {
"Enabled": true
},
"Print": {
"Enabled": true
}
},
"IsPerUser": true,
"MaxConnectionsCount": 32,
"PipePathName": "pipe_custom_name",
"ShowBlockedResult": true,
"TimeoutResult": 0
}
}
}
JSON schema
ContentAnalysis JSON schema
{
"type": "object",
"properties": {
"Enabled": {
"type": "boolean"
},
"PipePathName": {
"type": "string"
},
"AgentTimeout": {
"type": "number"
},
"AllowUrlRegexList": {
"type": "string"
},
"DenyUrlRegexList": {
"type": "string"
},
"AgentName": {
"type": "string"
},
"ClientSignature": {
"type": "string"
},
"IsPerUser": {
"type": "boolean"
},
"MaxConnectionsCount": {
"type": "number"
},
"ShowBlockedResult": {
"type": "boolean"
},
"DefaultResult": {
"type": "number"
},
"TimeoutResult": {
"type": "number"
},
"BypassForSameTabOperations": {
"type": "boolean"
},
"InterceptionPoints": {
"type": "object",
"properties": {
"Clipboard": {
"type": "object",
"properties": {
"Enabled": {
"type": "boolean"
},
"PlainTextOnly": {
"type": "boolean"
}
}
},
"ClipboardCopy": {
"type": "object",
"properties": {
"Enabled": {
"type": "boolean"
},
"PlainTextOnly": {
"type": "boolean"
}
}
},
"Download": {
"type": "object",
"properties": {
"Enabled": {
"type": "boolean"
}
}
},
"DragAndDrop": {
"type": "object",
"properties": {
"Enabled": {
"type": "boolean"
},
"PlainTextOnly": {
"type": "boolean"
}
}
},
"FileUpload": {
"type": "object",
"properties": {
"Enabled": {
"type": "boolean"
}
}
},
"Print": {
"type": "object",
"properties": {
"Enabled": {
"type": "boolean"
}
}
}
}
}
}
}
Software\Policies\Mozilla\Firefox\ContentAnalysis\AgentName = "My DLP Product"
Software\Policies\Mozilla\Firefox\ContentAnalysis\AgentTimeout = 60
Software\Policies\Mozilla\Firefox\ContentAnalysis\AllowUrlRegexList = "https://example\.com/.* https://subdomain\.example\.com/.*"
Software\Policies\Mozilla\Firefox\ContentAnalysis\BypassForSameTabOperations = 0x1 | 0x0
Software\Policies\Mozilla\Firefox\ContentAnalysis\ClientSignature = "My DLP Company"
Software\Policies\Mozilla\Firefox\ContentAnalysis\DefaultResult = 0x0 | 0x1 | 0x2
Software\Policies\Mozilla\Firefox\ContentAnalysis\DenyUrlRegexList = "https://example\.com/.* https://subdomain\.example\.com/.*"
Software\Policies\Mozilla\Firefox\ContentAnalysis\Enabled = 0x1 | 0x0
Software\Policies\Mozilla\Firefox\ContentAnalysis\InterceptionPoints\Clipboard\Enabled = 0x1 | 0x0
Software\Policies\Mozilla\Firefox\ContentAnalysis\InterceptionPoints\Clipboard\PlainTextOnly = 0x1 | 0x0
Software\Policies\Mozilla\Firefox\ContentAnalysis\InterceptionPoints\ClipboardCopy\Enabled = 0x0 | 0x1
Software\Policies\Mozilla\Firefox\ContentAnalysis\InterceptionPoints\ClipboardCopy\PlainTextOnly = 0x1 | 0x0
Software\Policies\Mozilla\Firefox\ContentAnalysis\InterceptionPoints\Download\Enabled = 0x0 | 0x1
Software\Policies\Mozilla\Firefox\ContentAnalysis\InterceptionPoints\DragAndDrop\Enabled = 0x1 | 0x0
Software\Policies\Mozilla\Firefox\ContentAnalysis\InterceptionPoints\DragAndDrop\PlainTextOnly = 0x1 | 0x0
Software\Policies\Mozilla\Firefox\ContentAnalysis\InterceptionPoints\FileUpload\Enabled = 0x1 | 0x0
Software\Policies\Mozilla\Firefox\ContentAnalysis\InterceptionPoints\Print\Enabled = 0x1 | 0x0
Software\Policies\Mozilla\Firefox\ContentAnalysis\IsPerUser = 0x1 | 0x0
Software\Policies\Mozilla\Firefox\ContentAnalysis\MaxConnectionsCount = 32
Software\Policies\Mozilla\Firefox\ContentAnalysis\PipePathName = "pipe_custom_name"
Software\Policies\Mozilla\Firefox\ContentAnalysis\ShowBlockedResult = 0x1 | 0x0
Software\Policies\Mozilla\Firefox\ContentAnalysis\TimeoutResult = 0x0 | 0x1 | 0x2
FirefoxFirefox ESRFirefox Enterprise
Available since 125.0.1Available since 128Available since 149

CCK2 Equivalent: N/A
OMA-URI: ContentAnalysis
Preferences Affected: browser.contentanalysis.agent_name, browser.contentanalysis.agent_timeout, browser.contentanalysis.allow_url_regex_list, browser.contentanalysis.bypass_for_same_tab_operations, browser.contentanalysis.client_signature, browser.contentanalysis.default_result, browser.contentanalysis.deny_url_regex_list, browser.contentanalysis.enabled, browser.contentanalysis.interception_point.clipboard.enabled, browser.contentanalysis.interception_point.clipboard.plain_text_only, browser.contentanalysis.interception_point.clipboard_copy.enabled, browser.contentanalysis.interception_point.clipboard_copy.plain_text_only, browser.contentanalysis.interception_point.download.enabled, browser.contentanalysis.interception_point.drag_and_drop.enabled, browser.contentanalysis.interception_point.drag_and_drop.plain_text_only, browser.contentanalysis.interception_point.file_upload.enabled, browser.contentanalysis.interception_point.print.enabled, browser.contentanalysis.is_per_user, browser.contentanalysis.max_connections, browser.contentanalysis.pipe_path_name, browser.contentanalysis.show_blocked_result, browser.contentanalysis.timeout_result

ClipboardCopy added in Firefox 158.