1. Enroll the agents
Discovery has exactly one hard prerequisite: at least one enrolled device. Follow Fleet rollout to push the agent and mint an enrollment token, then confirm the device appears in Runtime Security → Devices & Enrollment with a recent Last seen. Two useful properties of discovery during a rollout:- It works in observe-only mode. You do not need
enforce=trueon any host rule to build the inventory. - It works before identity binding. A device that is still
pendingreports observations; they are attributed to its OS user until the directory user is bound.
2. Confirm the observe catalog is in policy
The AI catalog is merged into the host rules the agent fetches from/agent/policy by default, so a freshly enrolled device already knows
which hosts to observe. Confirm it under Runtime Security → Apps →
[your DLP App] → DLP policy:
- Use default host pack is on. This is the inspected provider set.
- The discovery catalog is layered on top of it automatically, as
observerules. It never overlaps the inspected hosts.
inspected_providers) and every host they passively flag
(catalog).
3. Verify the first observations
1
Generate some traffic
From an enrolled device, open an AI service that is in the catalog
but not inspected in your workspace,
perplexity.ai or
huggingface.co will do.2
Wait about a minute
Agents drain their rollup roughly once a minute. If the cloud is
unreachable, the batch is requeued and retried on the next tick, so
a laptop that was offline in a café still reports when it
reconnects.
3
Open Shadow AI
Runtime Security → Shadow AI. The service appears with status
Needs review, a device count of 1, and a Last seen of a few
seconds ago.
4
Check the figures row
AI services, Needs review, High risk, and Governed
should all be non-zero or zero in ways that match what you just
did. If the page still shows the empty state, jump to
Troubleshooting.
4. Make the attribution meaningful
Discovery records devices. Everything user-shaped is derived, so two optional steps make the reports far more useful.Bind devices to directory users
A “user” in the Shadow AI breakdowns is the device’s bound directory email, and falls back to its OS user name when there is no binding. Set up identity binding and the top-users list becomes real names instead ofjsmith and admin.
Identity binding also drives the Account type split on the
Insights page: devices whose identity is bound or auto count as
SSO / directory-bound, everything still pending counts as off-SSO. A
high off-SSO number usually means an incomplete rollout, not a rogue
population.
Create groups for departments
Departments in the breakdowns are your workspace groups, created by hand or mirrored from your directory via SCIM. A device inherits:- every group it belongs to directly, and
- every group its bound user belongs to.
sales, engineering, finance,
and the per-department view fills itself in. Without groups the
department breakdown is simply empty; nothing else is affected.
5. Tune what gets observed
Coverage is host rules, the same mechanism described in Policies & agent API. Each rule carries amatch and
an action:
Rules resolve in a defined order. Built-in defaults load first, then
the discovery catalog, then your workspace overrides, so a later entry
wins on an exact host collision. At match time the most specific
(longest) matching host pattern wins.
Common tuning tasks
Watch an internal or self-hosted AI endpoint
Watch an internal or self-hosted AI endpoint
Add an
observe rule for the hostname. Useful for an internal LLM
gateway that the heuristic would miss, or that you want tracked
under a friendly provider name.Silence a false-positive candidate
Silence a false-positive candidate
A non-AI host whose name trips the heuristic (an internal service
called
chat-agent, say) shows up as Unknown host. Add a
tunnel rule and it disappears from discovery for good, without
any change to how its traffic flows.Stop a service outright
Stop a service outright
Use the Block action on the row in the worklist rather than
hand-writing a rule. It sets the status and appends the matching
block host rule for you, so the two never drift apart.Start inspecting a service you approved
Start inspecting a service you approved
Onboarding a discovered service creates a managed App and links it
to the row, but it does not decrypt anything on its own. To
actually inspect the traffic, add an
inspect host rule pointing
at that App. Only then do prompts, verdicts, and redactions start
flowing.Exempt a sensitive host from inspection entirely
Exempt a sensitive host from inspection entirely
Anything in Exclude hosts is never MITM’d. If you also do not
want it recorded as a destination, give it a
tunnel rule.6. Set a review cadence
Discovery is only useful if somebody decides. A cadence that works:What the agent sends
For reference, the payload posted toPOST /api/runtime-security/agent/discovery, authenticated with the
device token:
Troubleshooting
The page shows the empty state
The page shows the empty state
- Confirm at least one device is enrolled and Last seen is recent, in Devices & Enrollment.
- Confirm the device has actually reached an AI host that is not inspected. Traffic to inspected hosts is scanned, not discovered, so it never appears here.
- Wait a minute. Rollups flush on an interval, not per request.
- Check the device’s tamper history. An agent whose service is disabled reports nothing at all.
A service I know people use is missing
A service I know people use is missing
Either its host is already inspected (look for it under Apps and
events instead), or it is covered by a
tunnel rule, or its
hostname does not match the catalog or the heuristic. For the last
case, add an explicit observe rule for the hostname.Everything shows as off-SSO or an OS user name
Everything shows as off-SSO or an OS user name
Identity binding has not completed on those devices. Filter
Devices & Enrollment by identity
pending and use Force
re-bind. See Identity binding.The department breakdown is empty
The department breakdown is empty
No groups exist, or no group contains the users bound to the
observing devices. Create groups, or map your directory groups via
SCIM, and the breakdown fills in on the next load.
Too many unknown hosts
Too many unknown hosts
The heuristic is strict, but internal naming conventions can still
trip it. Silence individual hosts with
tunnel rules, or give them
an observe rule with a provider slug if you would rather track
them properly. Do not disable discovery to make the noise go away,
unknown hosts are the highest-value part of the inventory.Next
Triage & governance
Work the inventory: risk ranking, the three decisions, insights,
and the exportable report.
Policies & agent API
The full host-rule reference and the agent-to-cloud endpoints.

