Activity Interactions
Interactions
An interaction is one exchange with an AI service that the agent intercepted on a machine: a prompt sent from a browser, a call from a CLI or IDE tool, or a call a hook saw before an AI tool acted. The log is newest first, by when the machine saw it.
The log shows prompts the fleet intercepted, and only where a machine's capture was watching. A machine on Metadata contributes rows with no prompt in them, and a machine on None contributes none. An absent interaction is not evidence that nobody typed anything.
Who can do it
| You want to | You need | Roles |
|---|---|---|
| Read the log and its decisions | machines:read | All six roles |
| Read an interaction's prompt, body and reply | interaction_content:read | Owner, Admin, Analyst |
| Reveal the originals held under Restricted logging | interaction_content:read and content:view_unredacted | Owner, Admin |
Without interaction_content:read you see the row and its decisions but not the text.
Read the log
- Open Activity › Interactions.
- Search with Search service, host or endpoint. Search does not reach the prompt.
- Choose Group by Flat, Session or Day. Grouped by session, the count counts sessions. Grouped by day, rows sit under Today, Yesterday and so on.
- Add conditions in the filter bar.
- Select a row to open the inspector. Show N new appears when newer interactions have arrived since you loaded the page. Choose it to bring them in.
A bare address opens with the Prompt filter set so that rows known to carry no prompt are hidden. Remove the chip to see every row.
You can choose which details show on each row with On each row: User, Machine, Service, Attachments and Prompt or target.
Filters
| Filter | Options |
|---|---|
| Service | The AI service, such as Claude, ChatGPT or Gemini. |
| Client | The program that made the call. |
| Interception | The capture tactic that saw it: None, Metadata, Content (CA), Content (extension), Content (CLI & IDE tools). |
| Outcome | Passed, Alerted, Blocked, Justified, or not evaluated. |
| Prompt | Carries a prompt, No prompt in the body, Body not read. |
| Sent or typed | Sent, Typed, not sent, Side call. |
| Attachments | Carries attachments, No attachments. |
| Machine | A machine in this workspace. |
| When | A date range. |
Outcomes
| Outcome | Meaning |
|---|---|
| Passed | A policy evaluated this and allowed it through. |
| Alerted | The policy matched; the interaction still went out. |
| Blocked | The interaction did not go out. |
| Justified | The person was asked to justify this and did, so it went out. Their words are on the decision. |
| Block not applied | The decision was a block that was not applied. The reason is on the decision. |
A decision is an alert only when a policy's alert action or a justified override raised one. A plain block is a decision, not an alert. All decisions are listed in Runs.
What the inspector shows
| Part | What it holds |
|---|---|
| Header | Who and where: user, machine, service, how it was captured (Hook call for an AI tool's hook, otherwise the interception tactic). |
| Facts | Captured by, Client, User, Signed in as, Machine, Service, Host, Endpoint, Method, Model, Request, Response, Session, Observed, Received, Interaction ID. A value the capture could not state reads Not declared, Not recorded or Not named. |
| Content | Prompt, Request body and Reply, when they were kept. |
| Decisions | What each policy decided, with the alert raised, if any. |
| Related | The other half of the same interaction (a Network request or a Hook call), the rest of the session, the machine and the person. |
What was kept
What you can read depends on the workspace's logging mode and on the machine's capture. See Interaction logging. Where text was stored, a policy's detections were replaced before it was written, and a long body is kept as a prefix, so a prompt that reads as complete may not be.
Under Restricted logging the inspector offers Reveal for a block with held originals. Revealing writes an audit entry first, and the originals show only for that view.
While the plan has locked logging, a notice sits above the toolbar. It reads "Content is not being kept" or "Logging is locked to" followed by the mode, and says the month's interactions are used up, with View plan.
Endpoints no rule covers
Choose Coverage to open Endpoints no rule covers. It reads what the machines in the current scope have sent that no policy covers. The scope line says whether it covers the machines matched by your filter.
When it goes wrong
| You see | It means |
|---|---|
| "An interaction is recorded when someone on an enrolled machine uses an AI service." | The workspace has no interactions and no machine reporting one. Enroll machines opens Machines. |
| "No prompt to an AI service has been intercepted yet." | Machines are enrolled and nothing has been intercepted yet. |
| "Could not load this interaction." | The one you opened failed to load. |
| "Could not load more interactions." / "Could not load more sessions." | The next page failed. |
| "Could not load this session. Try again" | A session group failed to open. |
| "Could not look for the other half of this interaction." | The related Network request or Hook call could not be looked up. |
| "Could not look up this interaction's decisions." | The Decisions part failed. |
| "Could not read what these machines sent." | The coverage panel failed. |
| "That machine did not answer, so nothing here is known." | The machine did not respond to the coverage request. |
| "Revealing held values requires interaction_content:read and content:view_unredacted in this workspace." | Your role cannot reveal. |
With the API
Listing and reading interactions is in the Activity reference. Reveal is not available with an API key.