Roll it out
1
Create an enrollment token
In the dashboard, go to Fleet → Enrollment Tokens and create one. You can
limit it by platform and set a max number of uses or an expiry. The token is
shown once — copy it then.
2
Each device redeems it
Employees run one command (or your MDM runs it for them):The device receives a scan-only credential bound to your organization’s
fleet — no shared secret, no per-employee account needed.
3
Activity rolls up to you
Every verdict is tagged with the device and surface (
desktop / browser).
Admins see the whole fleet’s AI activity in one place; employees never see
each other’s data.4
Revoke any device in one click
Fleet → Devices → Revoke. That device’s credential is deactivated
immediately and its next request is rejected — the rest of the fleet is
unaffected.
Why per-device credentials
Least privilege
Device credentials can only scan — even if one leaked, it can’t reach
management or proxy endpoints.
Clean attribution
See which employee triggered a block, via a per-device label — no separate
user account required.
Scoped visibility
Fleet activity is visible to your org’s admins only, never through a shared
key.
The device credential is an ordinary PromptGuard API key presented as
X-API-Key, marked scan-only. What it may reach is generated from the two mount prefixes the guard router is served under (/api/v1 and /api/v1/proxy, the second because the Python SDK defaults its base URL there), so the same handler is reachable by both names:/api/v1/guardand/api/v1/proxy/guard/api/v1/agent/managed-policyand/api/v1/proxy/agent/managed-policy— exact match only./agentas a family stays closed; this one read-only policy poll is the exception/api/v1/enroll, and the/api/v1/exceptions,/api/v1/policiesand/api/v1/tool-requestssubtrees, so a device can file and poll its own requests
/api/v1/guard/ now 404s for everyone rather than 403-ing only scan-only keys. Anything not on that list fails closed with 403 scope_denied.Org-managed updates
On the fleet plan (shadow_ai_fleet — Scale gateway tier or Shadow standalone),
admins control how the agents on enrolled devices update:
- Force the update mode — e.g. require Automatic so every device stays current, regardless of what the user picks locally.
- Pin the release channel — keep the fleet on stable, or move a test group to the beta channel.
- Set a minimum version — devices below the floor are forced to update. Until they do, they keep protecting with their current policy (a stale agent never disarms), but coverage-reducing controls are locked.
For automation
If you’re scripting enrollment or building tooling, these are the endpoints behind the dashboard:
See the API Reference for full request and
response schemas.
Next steps
Choose where your data runs
Keep the engine in our cloud, on your own infrastructure, or fully air-gapped.