> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kontext.security/llms.txt
> Use this file to discover all available pages before exploring further.

# Risk

> Review flagged tool calls and risk assessments. Check which calls policies blocked.

**Risk** lists tool calls that endpoint detectors flagged, with an AI assessment of each call. Use the findings to decide whether you need a new policy.

After an endpoint detector flags a call, a hosted AI assessment assigns a severity and category and writes a short explanation. [Detection](/risk/detection) covers both steps and what data the assessment receives.

## Read the headline

The dashboard shows "N risky calls of M flagged for review" at the top of Risk. The flagged count includes all calls that detectors flagged in the selected time range. The risky count includes calls the AI assessment rated as risky.

The sentence under it ends with "A flag does not block: only a policy does, and policies blocked X of these calls." The blocked count includes calls that a policy stopped. In Observe mode, a call runs even if the policy returns Deny. The dashboard shows **Deny** in the **Decision** column but excludes the call from the blocked count.

The assessment rates what the call requested, regardless of the outcome. A blocked call can still be critical.

## Cards

| Card                          | What it shows                                                                                                                                                                                                                                                                                                |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Flagged calls by severity** | The dashboard groups flagged calls by **Critical**, **High**, **Medium**, **Low**, **No risk found**, and **Not rated yet**. Select a slice to filter the table.                                                                                                                                             |
| **Risky calls per day**       | The dashboard counts risky calls over the time range. Ranges of three days or less show **Risky calls per hour**.                                                                                                                                                                                            |
| **Risky calls by category**   | The treemap groups risky calls by [category](/risk/categories). Each tile's area shows its share of risky calls. The tile names the most frequent command in that category. The dashboard shows up to eight category tiles and groups the rest in **N other categories**. Select a tile to filter the table. |
| **Who ran them**              | The dashboard shows risky calls per person, split across the top three agents. Select a person to filter the table.                                                                                                                                                                                          |

Kontext updates counts as assessments finish after the call. **Not rated yet** covers calls still waiting for an assessment and calls whose assessment failed.

## Flagged tool calls

The table lists every flagged call in the time range, with the columns **Severity**, **What happened**, **Agent**, **Who**, **Decision**, and **Time**. **What happened** is the first sentence of the AI assessment. **Decision** shows the policy decision: Allow or Deny.

Filter by **Decision**, **Severity**, **Category**, or **Agent**. The **Decision** filter offers **Allowed** and **Blocked** based on the endpoint's outcome. **Blocked** shows only calls a policy stopped.

| Row shows                               | Meaning                                                                           |
| --------------------------------------- | --------------------------------------------------------------------------------- |
| **Pending** and **Awaiting analysis**   | The assessment has not finished yet.                                              |
| **No risk**                             | The assessment found the call routine.                                            |
| **Unrated** or **Analysis unavailable** | The assessment failed or returned no usable result. Treat the call as unreviewed. |

## Open a call

Select a row to open the tool call drawer, the same one Explore uses. It has five tabs: **Verdict**, **Risk**, **Input**, **Output**, and **Context**.

The **Risk** tab shows the **AI assessment**, marked **advisory · never enforced**. It includes the explanation, severity, categories, and evidence strength. It also lists the category's ATT\&CK, ATLAS, and OWASP entries. **Detection details** shows results from Kestrel, Merlin, and the **Additional shell check**.

## Investigate a finding

1. Read the request on the **Verdict** tab and the assessment on the **Risk** tab. Identify the resource, destination, or account the call would affect.
2. Compare the **Decision** column with the result on the **Verdict** tab. A Deny in Observe mode means the call ran. An error in the result means the tool attempted the action and failed.
3. The **Context** tab shows who the agent acted for, which endpoint it ran on, and its session. Open that session in [Explore](/explore/overview) to review earlier tool output the agent read. Instructions hidden in a web page or file can cause a risky call.
4. If the call affected a real system, check that system too.

For example, an agent runs `git push --force origin main`, and the assessment rates it high. The **Block GitHub force pushes** preset matched in Observe mode, so the **Decision** column shows **Deny** but the push ran. Check the repository, then move the policy to Enforce to stop the next attempt. See [add a policy](/policies/add-a-policy) and [roll out a policy](/policies/rollout).

## Give feedback on Kestrel

When Kestrel scored the call, the **Risk** tab shows **Kestrel feedback** with two buttons: **Fine** and **Should've blocked**. Admins can save or change a label. Kontext stores it with the call without changing the decision or your policies.

To get flagged findings in Slack, set up [risk alerts](/risk/alerts).
