Who can uninstall
The Windows agent runs as a LocalSystem service and the macOS agent runs a root guardian, so removal requires administrator rights on the device. A standard employee cannot uninstall it, and an attempt to disable protection without those rights is reported as a tamper event rather than silently succeeding. Attempts that do reach the machine (the root CA removed, the proxy configuration reverted, the interceptor killed) are recorded as high-severity, hash-chained entries in the audit trail and surface on the device row in Endpoint → Devices.Uninstall codes
A workspace decides whether removing the agent needs permission. The setting is the uninstall mode, and it applies to every device:
Under enforce, a plain
msiexec /x exits with 1603 and the agent
stays in place. There are two ways to allow a removal:
-
A code. Issue a one-time code for one machine, or a code that
works on every machine in the workspace, and pass it to the
uninstall:
A code is shown once when it is issued and is not written to the installer log. A per-machine code works once. An unused code can be withdrawn.
-
An authorization pushed to chosen machines. The platform tells
those devices that a removal is approved, so the uninstall command
needs no code. This is the one to use from an MDM. Pushing an
authorization is an API call today
(
POST /api/runtime-security/agent/devices/uninstall-authorizations).
endpoint.devices.uninstall_code. Issuing a workspace-wide code, pushing
an authorization, and changing the mode need
endpoint.devices.uninstall_code_workspace. Admin holds both by
default. Every issue, withdrawal and mode change is recorded in the audit
trail, and a mode change takes about three minutes to reach the devices.
See Endpoint permissions.
The mode only takes effect once the platform has a signing key for
codes. Without one the devices are told the mode is off, because a
device must never be told to demand a code that nobody can issue. Going
to enforce adds an “Update MDM uninstall scripts” item to your
Pending actions.
Uninstall on Windows
Interactively
Settings → Apps → Installed apps → the Blindsight entry → Uninstall, or the same entry in Programs and Features. Run it as an administrator.Silently
1605.
An upgrade is not an uninstall, even though the MSI technically
removes the old product first. The installer distinguishes the two:
a major upgrade keeps enrollment, the CA, the pseudonymization vault,
the undrained event spool, the user’s sign-in, and their settings. A
real uninstall keeps none of it.
What a Windows uninstall does, in order
- Stops and deletes the
BlindsightDLPservice. - Restores the system proxy, WinHTTP proxy, proxy environment variables, browser policies, and firewall rules from the snapshot taken at install time. This runs after the service stops, so the guardian cannot re-apply the configuration it is trying to remove.
- Removes the per-machine inspection root CA from the machine trust store, matched by SHA-1 thumbprint, and deletes the on-disk CA material.
- Terminates anything still running: the desktop app, stray agent processes, and the local inspection proxy.
- Removes the
HKLMautostart value and both scheduled tasks (\Blindsight\ServiceGuard,\Blindsight\ConnectivityGuard), then the\Blindsight\task folder itself. Left behind, ServiceGuard would keep trying to start a service that no longer exists. - Deletes
%ProgramData%\Blindsightin full, including the device enrollment record and the pseudonymization vault. - Deletes
.blindsightfrom every user profile on the machine, plus the LocalSystem profile at%WINDIR%\System32\config\systemprofile\.blindsight, which is where the service’s own CA private key and log live. - Removes the program files.
Uninstall on macOS
Every macOS disk image carriesUninstall Blindsight.command. It is
the supported way to remove the agent.
1
Run the uninstaller
Open the disk image and double-click
Uninstall Blindsight.command. It opens in Terminal and asks for
an administrator password itself. From a shell:Run it from the account of the person who uses the Mac. The
per-user state it removes belongs to the account that started it.
2
Read the verification it prints
The uninstaller reports each step as removed or absent, then checks
that no agent process is left running.
What a macOS uninstall does, in order
- Stops and removes the root guardian LaunchDaemon first, because its job is to put back what it finds missing.
- Stops and removes the login item.
- Stops anything still running, including the whole-device lane when it is on.
- Restores each network service’s automatic proxy to what it was before the agent’s first run. A setting is only touched while it points at the agent, so a company PAC or proxy survives the uninstall.
- Restores the Firefox policy file that was there before, or removes the agent’s own.
- Removes
pfrules left by agent versions that used them. - Removes the inspection root CA from the login and System keychains, and from any JDK trust store.
- Removes
/Applications/Blindsight Mac.app. - Removes
~/.blindsightand/Library/Application Support/Blindsight, including the sign-in, the local event store and the pseudonymization vault. - Ejects the mounted installer image.
Retire the device in the console
Uninstalling clears the device end. It does not remove the row.1
Revoke the device
Endpoint → Devices, find the machine, revoke it. Its enrollment
credential stops being accepted, so a copied credential file cannot
be used to impersonate the device.
2
Decide about its events
Events the device already sent stay in the workspace. They are
evidence, and retiring hardware is not a reason to lose the record.
Retention is governed by your workspace settings, not by the
device.
3
Rotate the token if the machine was lost
If the device was lost rather than decommissioned, mint a new
enrollment token and revoke the old one. See
Fleet rollout.
What you lose
Also gone from the device, and not recoverable from it:- The local event store and anything in the spool that had not yet reached the platform.
- The device’s enrollment identity. A reinstall enrols as a new device with a new row.
- Local agent logs, which is worth remembering if you are uninstalling to resolve a support case. Collect them first.
Common workflows
Decommission a laptop
Decommission a laptop
- Resolve anything you still need from the vault.
- Uninstall on the device (
msiexec /x, or the macOS teardown). - Revoke the device row in Endpoint → Devices.
- Leave its events in place. They stay as evidence.
Roll the agent back off a pilot group
Roll the agent back off a pilot group
- Point the MDM’s uninstall command at the pilot smart group.
- Watch Endpoint → Devices until every device in the group stops reporting.
- Revoke the pilot enrollment token so nothing re-enrols against it.
Reinstall after a broken install
Reinstall after a broken install
- Uninstall, which is safe to run even against a half-installed agent.
- Confirm
%ProgramData%\Blindsightis gone. Its presence is what makes a reinstall silently re-adopt the old enrollment. - Install again with
CLOUD_BASEandENROLL_TOKENpassed explicitly. - Delete the stale device row in the console. The reinstall creates a new one.
A user asks to remove it from their own machine
A user asks to remove it from their own machine
They cannot, and that is the design. Route the request to whoever
owns the endpoint policy. If the machine genuinely should not be
protected, remove it through the MDM rather than by granting local
admin rights.
See also
Installing the agent
Packages, silent install, and what it changes on the device.
Devices
Revoking a device, health, and tamper events.

