The Swif Agent Inventory Policy finds AI agents installed on your devices, and reports how each one is set up. These agents can run in the background, act on their own, and run commands on the device, often without IT knowing they're there.
Swif gives each agent a lasting identity, so you can see exactly which AI agent is running on which device, for which employee.
One policy covers every supported agent:
Agent | What it is | Platforms |
OpenClaw | An autonomous AI agent with a gateway that runs in the background | macOS, Linux, Windows |
Hermes | Hermes Agent, an open-source autonomous AI agent from Nous Research. It can run continuously, and runs commands directly on the device by default. | macOS, Linux, Windows |
Grok Bot | xAI's Grok Bot desktop app, which runs always-on AI agents | macOS, Windows |
Claude Code | Anthropic's AI coding agent | macOS, Linux, Windows |
Codex | OpenAI's AI coding agent | macOS, Linux, Windows |
Cursor | Anysphere's AI code editor (the Cursor app) and its | Cursor app: macOS, Windows. |
For each user on the device, Swif reports:
Install: whether the agent is installed, and its version
Background service: whether it's set up to run in the background
Running processes: whether it's running now. On Windows, OpenClaw and Hermes don't report this.
Risky launch settings: options that weaken the agent's safeguards
Security settings: a summary of the agent's security settings
For OpenClaw, the policy can also upload its activity, audit, and security logs. See Log Agents below.
This policy only collects information. It doesn't install, change, or stop any agent.
This policy replaces the Swif Agentic Security Logging Policy. OpenClaw log collection is now part of this policy. If you used the Logging Policy, you don't need to do anything: Swif combines your settings, and OpenClaw logs keep uploading without duplicates.
Requirements
Requirement | Details |
Operating systems | macOS, Linux, and Windows |
Device ownership | Company-owned and BYOD |
Agent | Swif Agentic Security agent installed and running. Deploy it with the Apple, Windows, or Linux Agentic Security Policy. |
Agents a platform doesn't support are skipped. For example, Grok Bot isn't collected on Linux.
Settings reference
Setting | What it does | Default | Range |
Enabled | Turns agent inventory collection on or off. | Off | — |
Agents | The agents to inventory: | All | — |
Log Agents | The agents whose activity, audit, and security logs are uploaded to Swif. Each must also be in Agents. | Empty | — |
Collection Interval (Minutes) | How often, in minutes, the Swif agent collects the inventory. | 60 | 30–1,440 |
A shorter interval keeps the inventory more current. A longer one uses fewer device resources. The 60-minute default suits most organizations.
When you create or change the policy, the device collects right away once it receives the policy, without waiting for the interval. Devices pick up policy changes within about 20 minutes.
Log Agents
Log Agents turns on log collection for an agent. Currently, OpenClaw supports it: its activity, audit, and security logs are uploaded to Swif. An agent must also be selected in Agents before you can add it here.
Logs appear in the device's Agentic Security view, under Logs.
A policy you create yourself starts with Log Agents empty. Policies created during Agentic Security onboarding already have openclaw in Log Agents.
What Swif checks for each agent
OpenClaw
Data | Details |
Install | Whether OpenClaw is installed, its version, and its data folder and profiles |
Background service | The OpenClaw gateway's background service |
Running processes | Whether the gateway is running, and its running gateway and command-line processes. macOS and Linux only. On Windows, Swif reports only that the gateway's background service is installed, not whether it's running. |
Risky launch settings | Gateway exposed to the network, no authentication, Tailscale Funnel turned on, gateway not configured, and dev mode. Dev mode uses a separate state folder, so the reported settings may not apply. |
Security settings | Gateway binding and authentication, Tailscale, sandbox, tools profile, command execution settings, how many items are denied, dangerous settings, and plugins |
Watch for an exposed gateway with no authentication. Together, they can let anyone on the network control OpenClaw.
Swif reads OpenClaw's launch settings from the gateway's service settings, not from the running process, because OpenClaw changes how its running processes appear.
Swif never stores secrets or tokens from OpenClaw.
Hermes
Data | Details |
Risky launch settings |
|
Security settings | Approval mode, the number of deny and allow rules, disabled toolsets, the terminal backend, hooks, MCP servers, and whether the gateway allows all users |
Watch for yolo. It lets Hermes run actions without asking the user first.
On Windows, Swif reports only whether Hermes is installed, its version, and its settings. Background service, running process, and launch setting data aren't available there.
Swif finds Hermes only in its default location: ~/.hermes on macOS and Linux, and %LOCALAPPDATA%\hermes on Windows. If a user moved it, Hermes shows as not installed. To control what Hermes can do, use the Swif Hermes Access Policy.
Grok Bot
Data | Details |
Risky launch settings | None |
Security settings | Local tool permission ( |
Watch for always. It lets Grok Bot run commands on the device without asking.
These are the values Grok Bot last recorded on the device. Swif reports them, but doesn't enforce them.
Swif reports whether Grok Bot is running on both macOS and Windows.
Claude Code, Codex, and Cursor
For each user on the device, Swif reports:
Data | Details |
Install | Whether the agent is installed, its version, its install location, and its data folder ( |
Running sessions | Whether the agent is running, on macOS, Linux, and Windows. For Cursor, this covers both the Cursor app and |
Binary hash and signer | The agent's file hash and code signature, and whether it's signed by the expected vendor: Anthropic for Claude Code, OpenAI for Codex, or Anysphere for Cursor. macOS and Windows only. |
Command approval skipped | A warning when a session was started with an option that skips the agent's command approval, such as |
Agent identity
Swif gives each agent one identity per user, per device. The identity stays the same when the device restarts, and when the agent is updated or reinstalled, so you can follow one agent over time.
On the device page
Agents are shown by employee, then OS user, then agent. For each agent, you see:
Item | Details |
Status | Active, or Uninstalled. Uninstalled agents are grayed out. |
Version | The installed version |
First seen and last seen | When Swif first and most recently found the agent |
Policies | The Agentic Security policies that apply to it |
Binary hash and signer | A short form of the file hash, and who signed it, with a warning if it isn't the expected vendor |
History | When the agent was installed, uninstalled, or updated, and when its file changed |
Activity linked to each agent
Agent activity across Agentic Security is linked to the agent's identity, including:
session recordings, from the Swif AI Agent Activity Monitoring Policy
commands blocked by the Swif AI Agent Command Protection Policy
MCP server decisions, from the Swif MCP Security Policy
OpenClaw logs
So you can trace any activity back to a specific agent, on a specific device, for a specific employee.
Security warnings
Warning | What it means | What to do |
Unexpected signer | The agent's file isn't signed by its expected vendor. It may have been modified or repackaged. | Check where the user got the agent. Reinstall it from the vendor's official source. |
Command approval skipped | A session was started with an option that lets the agent run commands without asking, such as | Ask the user why. Consider the Swif AI Agent Command Protection Policy to block destructive commands. |
What this policy doesn't cover
To… | Use |
See what AI coding agents did, such as Claude Code or Cursor sessions and tool calls | |
Find NVIDIA OpenShell installs and sandboxes | |
Control which tools OpenClaw can use | |
Control what Hermes can do |
Common uses
Find unapproved agents. See which devices and users have OpenClaw, Hermes, or Grok Bot installed, including installs IT didn't approve.
Find agents running in the background. Agents set up as a background service keep working after the user stops using them.
Spot risky settings. Find OpenClaw gateways exposed with no authentication, Hermes started with
yolo, Grok Bot with its local tool permission set toalways, or Claude Code, Codex, and Cursor sessions that skip command approval.Catch tampered agents. Find agents that aren't signed by their expected vendor.
Keep an audit trail for OpenClaw. Upload OpenClaw's activity, audit, and security logs with Log Agents.
Track versions. Find outdated installs that need updating.
Before you start
Deploy the Swif Agentic Security agent to the devices.
Tell users what's collected, especially on BYOD devices. The inventory includes each user's local username, along with the agents that user has installed and how they're set up. With Log Agents, it also includes OpenClaw's activity logs.
Choose a pilot group of devices.
Create the policy
In Swif, go to Agentic Security > Policies.
Select Swif Agent Inventory Policy.
Under Agents, choose the agents to inventory.
Under Log Agents, choose the agents whose logs to upload, such as
openclaw.Set Collection Interval (Minutes), or keep the 60-minute default.
Turn on Enabled.
Assign the policy to your devices and save.
You can also create and assign it from a device:
Open a device enrolled in Agentic Security.
Go to the Activity tab. If the device has no policy, it shows Missing Policy.
Click Create/Assign Inventory Policy. The tab refreshes to show the policy's status.
Example configurations
Example 1: Fleet-wide discovery
Setting | Value |
Enabled | On |
Agents |
|
Log Agents | Empty |
Collection Interval (Minutes) | 1440 (once a day) |
Assign to all devices to find where these agents are installed, with minimal device overhead.
Example 2: OpenClaw with logging
Setting | Value |
Enabled | On |
Agents |
|
Log Agents |
|
Collection Interval (Minutes) | 60 |
Inventory OpenClaw, flag risky gateway settings, and upload its activity, audit, and security logs.
Example 3: Closer watch on developer devices
Setting | Value |
Enabled | On |
Agents |
|
Log Agents |
|
Collection Interval (Minutes) | 30 |
Check developer devices every 30 minutes for installs, background services, and risky settings, such as an exposed OpenClaw gateway or Hermes started with yolo.
Verify the policy
Confirm that the device is online and the policy shows as applied.
Wait for the device to receive the policy, which takes up to about 20 minutes. The device collects right away once it has the policy.
In Swif, check the device's agent inventory.
If you turned on Log Agents for OpenClaw, use OpenClaw on the device, then check that its logs appear.
Troubleshooting
An agent doesn't appear
Check that Enabled is on, and the agent is selected in Agents.
Check that the Swif Agentic Security agent is running.
Wait up to about 20 minutes for the device to receive the policy. It collects right away once it has it.
Grok Bot isn't collected on Linux.
OpenClaw logs don't appear
Check that
openclawis in both Agents and Log Agents.Check that OpenClaw has been used on the device since the policy applied.
OpenClaw's reported settings don't match what the user sees
Check whether OpenClaw is flagged as running in dev mode. Dev mode uses a separate state folder, so the settings Swif reports may not apply to it.
OpenClaw logs don't appear after I created the policy
A policy you create yourself starts with Log Agents empty. Add openclaw to Log Agents.
OpenClaw on Windows doesn't show whether it's running
This is expected. On Windows, Swif reports that the OpenClaw gateway's background service is installed, but not whether it's running. Running status and process details are available on macOS and Linux only.
Hermes shows as not installed, but the user has it
Swif finds Hermes only in its default location: ~/.hermes on macOS and Linux, and %LOCALAPPDATA%\hermes on Windows. If the user installed or moved it somewhere else, Swif can't find it.
Hermes on Windows shows no running process or launch settings
This is expected. On Windows, Swif reports only whether Hermes is installed, its version, and its settings.
An agent that isn't running shows as installed
The inventory reports installs separately from running processes. An installed agent may not be running at the time of collection.
Reinstalling an agent created a new entry
It shouldn't. Each agent keeps one identity per user, per device, across restarts, updates, and reinstalls. The reinstall appears in the agent's history.
Signature details don't appear for a Linux device
This is expected. Linux has no built-in code signing, so Swif reports the file hash, but not the signer.
Command approval skipped doesn't appear on Windows
This is expected. Swif detects it on macOS and Linux only.
Does this policy block agents?
No. It only reports what's installed. To block agents or commands, use the Swif AI Agent Activity Monitoring Policy (Agent Access) or the Swif AI Agent Command Protection Policy.
I can't find the Agentic Security Logging Policy
It's been replaced by this policy. Use Log Agents to upload OpenClaw logs.
Related resources
Swif
Agents