Skip to main content

Swif Agent Inventory Policy

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-agent command-line tool

Cursor app: macOS, Windows. cursor-agent: macOS, Linux, 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: openclaw, hermes, grokbot, claude, codex, and cursor. Choose at least one when Enabled is on.

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

yolo, which skips approval prompts, and yolo_env, accept_hooks_env, ignore_user_config, safe_mode, and managed_dir_override

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 (ask, always, or never), whether local egress is allowed, and whether the egress tunnel is enabled

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 (~/.claude, ~/.codex, or ~/.cursor)

Running sessions

Whether the agent is running, on macOS, Linux, and Windows. For Cursor, this covers both the Cursor app and cursor-agent.

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 --dangerously-skip-permissions or --yolo. macOS and Linux only.


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:

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 --dangerously-skip-permissions or --yolo

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 to always, 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

  1. Deploy the Swif Agentic Security agent to the devices.

  2. 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.

  3. Choose a pilot group of devices.


Create the policy

  1. In Swif, go to Agentic Security > Policies.

  2. Select Swif Agent Inventory Policy.

  3. Under Agents, choose the agents to inventory.

  4. Under Log Agents, choose the agents whose logs to upload, such as openclaw.

  5. Set Collection Interval (Minutes), or keep the 60-minute default.

  6. Turn on Enabled.

  7. Assign the policy to your devices and save.

You can also create and assign it from a device:

  1. Open a device enrolled in Agentic Security.

  2. Go to the Activity tab. If the device has no policy, it shows Missing Policy.

  3. 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

openclaw, hermes, grokbot, claude, codex, cursor

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

openclaw

Log Agents

openclaw

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

openclaw, hermes

Log Agents

openclaw

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

  1. Confirm that the device is online and the policy shows as applied.

  2. 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.

  3. In Swif, check the device's agent inventory.

  4. 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 openclaw is 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

Did this answer your question?