What you’ll set up
When you finish, Chrome on every machine in scope:- Installs the signed Asymptote browser extension without anyone clicking anything. Employees can’t remove it or turn it off.
- Runs it with the settings you lock, such as capture on and full retention. The extension’s popup shows them as managed by your organization.
- Captures chats on claude.ai and chatgpt.com and hands them to the Beacon agent on the same machine. Beacon sends them to the same destination as the rest of its telemetry: your own SIEM or storage, such as Microsoft Sentinel, Splunk, or an S3 bucket, or Asymptote Managed. The extension itself sends nothing anywhere else.
- Updates it by itself when a new version is released.
Before you start
Values you’ll need
The ID never changes. It comes from the key the package is signed with, and Chrome checks that signature when it installs or updates the extension.
1. Force-install the extension
Point Chrome at the extension ID and the update URL. Chrome reads the update file, downloads the signed package, and installs it.- Google Admin console
- macOS (Jamf, Kandji, Intune)
- Windows (Group Policy, Intune)
- Linux
For Chrome browsers enrolled in Chrome Enterprise Core.
- In the Admin console, go to Menu → Chrome browser → Apps & extensions → Users & browsers.
- On the left, select the organizational unit to deploy to. Start with a test unit.
- Click + at the bottom right, then Add Chrome app or extension by ID.
- Enter the extension ID
omjgmakjpomopmmpdgmjbfojhbgdgijc, choose From a custom URL, enter the update URL, and save. - Click the extension in the list. In the panel on the right, set Installation policy to Force install, then click Save.
ExtensionAllowedTypes, it must include extension, or Chrome refuses the install.
2. Lock the extension’s settings
Choose the settings employees should not change. Any setting you push is shown as managed in the extension’s popup and options page, and the extension refuses changes to it. Settings you leave out keep their defaults and stay editable.
The examples lock capture on with full retention.
- Google Admin console
- macOS (Jamf, Kandji, Intune)
- Windows (Group Policy, Intune)
- Linux
Click the extension in Apps & extensions → Users & browsers. In Policy for extensions, enter the settings with each value wrapped in
{"Value": ...}, then click Save:With
full retention, the complete text of every prompt and answer on claude.ai and chatgpt.com is written to the machine’s runtime log, and goes wherever Beacon forwards that log: your SIEM or storage, or Asymptote Managed. Make sure that matches the notice your organization gives employees.3. Try it on one machine
Apply the policies to one test machine first.-
On that machine, open
chrome://policyand click Reload policies.ExtensionSettingsand the extension’s policy should show OK. If an entry is marked[BLOCKED], the machine doesn’t count as managed; see Troubleshooting. -
Within a minute or two,
chrome://extensionslists Agent Beacon — Browser Collector as installed by your administrator, with no remove button. - Click the extension’s icon (or find it in Chrome’s puzzle-piece menu). The popup says Some settings are managed by your organization, and the settings you locked are greyed out with your values.
-
Send a short message on claude.ai or chatgpt.com, then check that Beacon recorded it:
Each line is one event. Its
beacon.content.retentionattribute shows the retention you set. Beacon then forwards these events like the rest of its telemetry, so within a few minutes they also appear in your destination, such as your Microsoft Sentinel workspace or Asymptote Managed. Search for the harness namesclaude_webandchatgpt_web.
4. Roll out
- Remove any copy of the extension someone loaded by hand through developer mode (Load unpacked). Chrome gives that copy a different ID, so it would run alongside the managed one and either copy could capture a chat. A
"*": {"installation_mode": "blocked"}entry inExtensionSettingsalso stops Chrome from loading unpacked extensions. - Widen the policies from the test machine to the rest of the fleet.
- Spot-check a few machines with step 3.
Updates
Nothing to do. Chrome checks the update URL about every five hours and when it starts. When a new version is released, every machine installs it on its own, keeping the settings you locked.chrome://extensions shows the installed version, and the releases page lists the changes in each ext-v* release.
Host your own copy
If Chrome can’t reach GitHub, or you want to approve each version before it reaches the fleet, serve the update file and the package from your own HTTPS server. The signature stays valid, so the extension ID doesn’t change.-
Download the signed package and its checksum from the
ext-v*release you want, and check it: -
Copy the
.crxto your server, and publish anupdates.xmlnext to it that names its URL, version, and SHA-256 (the first field of the.sha256file):updates.xml -
In step 1’s policy, use your
updates.xmlURL asupdate_url, and add"override_update_url": true. Without it, installed copies keep checking GitHub, because the extension itself names that URL. -
For each new release, repeat steps 1 and 2. Machines stay on the version your
updates.xmlnames until you change it.
Troubleshooting
chrome://policy marks the entry [BLOCKED]
chrome://policy marks the entry [BLOCKED]
Chrome doesn’t consider the machine managed, so it refuses to install an extension from outside the Chrome Web Store. Join the machine to Active Directory or Entra ID, enroll it in your MDM, or enroll Chrome in Chrome Enterprise Core.
The policy shows OK but the extension never appears
The policy shows OK but the extension never appears
- If you set
ExtensionAllowedTypes, addextensionto it. - Check that the machine can reach
github.comandrelease-assets.githubusercontent.comover HTTPS, or host your own copy. - Reload policies in
chrome://policy, or restart Chrome.
Settings aren't locked
Settings aren't locked
Chrome drops a value that doesn’t match the extension’s settings schema, such as a misspelled retention value or a string where a boolean belongs. In the Google Admin console, each value must be wrapped as
{"Value": ...}. Open chrome://policy, check Show policies with no value set, and look for errors under the extension’s ID.The popup says your organization's settings could not be read
The popup says your organization's settings could not be read
Chrome couldn’t read the extension’s managed settings. Until it can, the extension captures nothing and refuses changes, because it can’t know which settings are locked. Restart Chrome. If it persists, check
chrome://policy for errors.No events reach the runtime log
No events reach the runtime log
Check that Beacon is running on the machine:
sudo /opt/beacon/bin/beacon endpoint status --system on macOS. The popup shows the endpoint the extension sends to and how many events are waiting to be delivered.Chats are in the runtime log but not in your SIEM
Chats are in the runtime log but not in your SIEM
Browser chats reach your destination only through Beacon’s forwarding, the same path as the rest of its telemetry. Check that forwarding to that destination is set up and running; see Log forwarding.In Microsoft Sentinel, browser chats land in
BeaconRuntime_CL with HarnessName claude_web or chatgpt_web. The prompt and answer text are inside RawData, so a custom data collection rule transform that drops RawData loses them. To see them:Two copies of the extension are installed
Two copies of the extension are installed
One is a copy loaded by hand in developer mode. Remove it from
chrome://extensions. See Roll out.DevTools won't open on the extension
DevTools won't open on the extension
Chrome turns off DevTools for extensions installed by policy unless the
DeveloperToolsAvailability policy is 1. Change it only on machines where you need to debug the extension.Reference
If your management tool only offers the olderExtensionInstallForcelist policy, add this entry to its list. It installs the extension the same way, but can’t set override_update_url for a mirror.
Related
Browser extension
What the extension captures, its settings, and retained content.
Chromium browsers
Edge, Brave, and other Chromium browsers.