Collection policy
AI usage and application time are always collected. Everything more sensitive is off by default and is switched on per tenant under Visibility → Setup → Collection policy. Collectors fetch the policy from the platform on every cycle, so a change reaches the whole fleet within one reporting interval with no redeploy.
Settings
Section titled “Settings”| Setting | Values | Default |
|---|---|---|
| Browsing | off, domains, full | off |
| Network observation | on / off | off |
| Key fingerprints | on / off (requires network observation) | off |
Browsing
Section titled “Browsing”| Level | What is collected |
|---|---|
off | Nothing from browsers. |
domains | Time on AI websites, by service (for example chatgpt, claude, gemini). |
full | Individual visits to AI sites with full URLs, browser and timestamp. |
Browsing feeds the Websites view and the web evidence in Shadow AI.
Network observation
Section titled “Network observation”Reports which local process is talking to which AI provider: executable name and path, owning OS user, and provider. It’s read from the socket tables the operating system already maintains.
It exists to catch AI use that leaves nothing on disk: an internal app, a batch job, a script. The provider’s own usage report sees that spend but labels it with an opaque key ID and never a machine. Network observation supplies the process, machine and person.
It deliberately produces no byte or token counts. Tokens live inside the TLS body, and anything that claims to count them without terminating the connection is either guessing or intercepting.
Key fingerprints
Section titled “Key fingerprints”With network observation on, the collector can also identify which API key a process is using, by reading provider key variables (such as ANTHROPIC_API_KEY or OPENAI_API_KEY) from that process’s environment and reducing each key to a fingerprint.
The fingerprint is exactly the hint the provider already shows its own administrators, plus the last four characters:
sk-ant-api03-R2D...igAAThe full key exists only in memory, only long enough to slice it, and is overwritten before the function returns. No data type in the collector can hold a whole key. The fingerprint lets Shield360 join a provider’s billed usage for a key to the application, machine and person using it, so token counts measured by the provider get attributed without anyone reading the traffic.
Key fingerprinting can’t be on while network observation is off. The platform normalises such a policy to off.
GET /api/collector/policyPUT /api/collector/policy{ "browsing": "domains", "netObserve": true, "fingerprintKeys": false}Machines read their own policy with their collector token at GET /api/collector/device/policy.