Data & Privacy
Discover AI (Shadow AI) is built to collect usage metadata: which AI tools are used, by whom, how often, and with which files. The browser extension and desktop agents do not send the text of prompts or responses. This page lists exactly what each client sends so you can assess it.
Metadata by design, with three things to know. The browser extension sends full page URLs and titles of AI tool pages. The desktop agent sends the command lines of AI command-line tools, which include any prompt typed as an argument. Coding-agent telemetry can include prompt and response content, but only if you turn on content capture for that tool.
What each client sends
Browser extension (Chrome, Edge, Firefox)
On pages of AI tools in the Tool Registry and your internal AI tools:
- The full page URL, including any query string, and the page title.
- The AI tool, and the chat or session ID taken from the URL.
- Prompt submission events: that a prompt was sent, when, the request path it was sent to, the HTTP method and status, and the duration. Not the prompt text.
- The model name, when the request exposes it.
- File uploads: file name, size and type. Not the file contents.
- Time on site, measured while the tab is focused.
On Non-AI Tools, when enabled, the platform keeps only the site address and path, and drops the query string and page title.
The extension also records:
- In Warn mode, each warning banner shown and each dismissal.
- Each acknowledgment of the employee monitoring notice.
The extension does not read page content, form input, cookies or stored credentials. It records nothing on sites outside the registry.
Desktop agent (macOS and Windows)
- Which AI apps and command-line tools run, matched against the registry, and how long AI apps are in the foreground.
- For command-line AI tools: the executable path, the command-line arguments, the working folder, the launcher and the names of child processes. Text passed as a command-line argument, such as a prompt, is included.
- Counts from local session files of supported tools: prompt counts, tool-call counts, token counts and the model name. The agent reads these files on the device and sends only the counts and the model.
- Prompt counts for desktop chat apps: from the composer's send button on Windows, or from the length of the input text on macOS. The text is not read.
- Files used in AI apps: file name, path, size and type, and how the file reached the tool (file picker, drag and drop, paste, command-line read or write, MCP read or write). Not the file contents.
- macOS only:
- Clipboard: while an AI app is in the foreground, the agent checks whether a file or image was pasted, and records the file path or the image size. It never reads clipboard text, image pixels or file contents.
- AI network traffic: connection counts and bytes sent and received per device, only for network hosts listed in the registry for a tool. No request or response bodies.
- MCP servers: server names, call counts and connection status. See MCP Server Inventory.
- Windows, Notion AI only: when a prompt is sent, the Notion window title, which is usually the current page name.
Device and user identity (all clients)
Each client checks in about every hour with:
- Device: hardware ID, hostname, serial number (macOS), OS and version, architecture, MDM enrollment, client versions, permission status and health.
- User: username, full name and email, and where available job title, department and whether the user is a local admin. The enrollment script writes these into managed settings on the device.
ANTS Platform also records the IP address the client connects from.
Coding-agent telemetry (Claude Code, GitHub Copilot CLI, Codex CLI)
These tools send OpenTelemetry data to ANTS Platform: usage events, token counts, cost, model and tool activity. The enrollment script configures this when it finds the tools.
Content capture is off by default. Turn it on per tool under Settings > Deployment & Keys > Coding-agent telemetry > Capture content. With it on, the tool also sends:
| Tool | Content sent with capture on |
|---|---|
| Claude Code | Prompts, tool input and output, and reply text. |
| GitHub Copilot CLI | Messages, and tool call arguments and results. |
| OpenAI Codex CLI | Prompts only. Codex sends no reply text. |
OpenAI Codex CLI always sends tool call arguments and results, even with content capture off. This is how Codex's telemetry works.
The setting reaches devices through the enrollment script and is refreshed on each check-in. See Coding-Agent Telemetry.
What is not collected
Outside the cases listed above, the following are never read or sent:
- The text of prompts or responses in browser or desktop AI tools.
- Request and response bodies.
- File contents, clipboard text and image pixels.
- Page content, form input, cookies or credentials from websites.
- Keystrokes.
How it is enforced
- Allowlisted fields. Each client sends a fixed set of structural fields. There is no field for prompt or response text.
- Server-side schemas. The ingest endpoint validates every batch against strict schemas and drops any field it does not expect, so an unexpected field never reaches storage.
- On-device checks. The macOS agent checks the output of each local session file reader and discards results that contain oversized strings, which could indicate captured content.
- Registry rules. Detection rules match hosts, paths, bundle IDs and executable names. They cannot point a client at page content.
Collector controls
You can switch off individual desktop agent collectors for a project, for example Files used in AI apps, Clipboard, Network activity or a specific tool's log reader. The process monitor that detects AI tools cannot be switched off.
Change them in Settings > Deployment & Keys > Enroll devices. A collector
you switch off stops on each device at the desktop agent's next check-in,
about every hour, with no reinstall and no need to re-run the enrollment
script. The enrollment script and MDM profile also write the list into managed
settings for newly enrolled devices: the disabledCollectors key in the
ai.agenticants.agent managed preferences domain on macOS, and
DisabledCollectors under HKLM\SOFTWARE\Policies\AntsAgent on Windows. See
Collector settings.
Employee monitoring notice
You can show the people you monitor a notice in your own words and record that each of them acknowledged it. The notice is off by default.
Write the notice
Go to Settings > Discover AI > Monitoring notice and enter the notice text.
Turn it on
Turn on Show monitoring notice and save. Each change to the text saves a new version of the notice.
Where it appears. The browser extension opens the notice in a new tab the first time it runs for a user, and again whenever you publish a new version. The user acknowledges it from that tab. The extension picks up the notice and its version on its next registry refresh.
What is recorded. Each acknowledgment is stored for the user and device, with the notice version and the time. Acknowledgment records are append-only: they cannot be edited or removed from the console.
Reporting. The Acknowledgments view on the same settings page lists the people enrolled in Discover AI and shows, for each, whether they have acknowledged the current version, when, and on which device. Filter it to the people who have not acknowledged, and select Export CSV to download it.
Changing the notice requires write access to Discover AI configuration, which Owner and Department Admin have by default.
Directory data
If you connect Directory Integration, ANTS Platform reads department, job title, manager, name, email, employee ID and account status from Okta or Entra ID. With Okta connected, each Discover AI event and trace is stamped with the person's Okta user ID when it arrives. See Okta user ID on records. Credentials are encrypted at rest.
The directory sync only reads your directory. The one change ANTS Platform can make is optional: when AI tool requests grant access on approval, ANTS adds the approved person to the group you mapped to that tool. This needs a credential that can manage group membership.
Authentication and keys
Clients authenticate with your project's keys or, with device certificates, with a certificate per device. Keys can be rotated with a 7-day grace period or revoked at once. Device certificates can be revoked per device. See Deploying Agents & Extensions and Devices.
Auditability
-
Enrollment script downloads and device actions (revoke, block, quarantine, delete) are recorded in the audit log, with the reason entered.
-
Monitoring notice acknowledgments are kept as append-only records per user and device. See Employee monitoring notice.
-
Each client's check-ins, health and permission status are visible under Discover AI > Devices.