You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,7 +36,7 @@ kontext start
36
36
37
37
This starts the currently supported adapter, Claude Code, with a local Kontext runtime. No hosted login is required.
38
38
39
-
By default, Kontext runs in observe mode: the agent keeps running, while Kontext records `would allow`, `would ask`, and `would deny` decisions in the local dashboard. The dashboard is served on loopback, with the URL printed at startup.
39
+
By default, Kontext runs in observe mode: the agent keeps running, while Kontext records `would allow` and `would deny` decisions in the local dashboard. The dashboard is served on loopback, with the URL printed at startup.
40
40
41
41
To block supported risky pre-tool actions, start in enforce mode:
Kontext balances security and utility for AI agents: low-risk actions keep moving, sensitive actions require approval, and unsafe actions can be blocked before they execute.
49
+
Kontext balances security and utility for AI agents: low-risk actions keep moving, and unsafe actions can be blocked before they execute.
50
50
51
51
-**Audit trails:** Record who instructed which agent to do what, what the agent accessed, which tools it called, what policy decisions were made, and what happened next. Build a chain of custody for security review, incident investigation, and compliance evidence.
52
-
-**Deterministic policy:** Apply `allow`, `ask`, and `deny` rules to agent actions at runtime, before they execute. Use hard policies for known boundaries such as destructive commands, production resources, sensitive files, data exports, and credential access.
53
-
-**Probabilistic risk detection:** Route actions that deterministic policy allows through a local judge for an additional allow/deny decision without sending tool context to hosted services.
52
+
-**Deterministic policy:** Apply `allow` and `deny` rules to agent actions at runtime, before they execute. Use hard policies for known boundaries such as destructive commands, production resources, sensitive files, data exports, and credential access.
53
+
-**Local LLM judge:** Route actions that deterministic policy allows through a local judge for an additional allow/deny decision without sending tool context to hosted services.
54
54
-**Credential injection:** Inject scoped OAuth credentials at runtime using RFC 8693-compliant OAuth 2.0 Token Exchange, so agents can access approved tools without users pasting secrets into chat, config files, or project environments. Credentials can be short-lived, least-privilege, and bound to the current user, session, or workflow.
55
55
56
56
The local decision path is:
@@ -61,8 +61,8 @@ Agent tool call
61
61
-> local runtime socket
62
62
-> action classification
63
63
-> deterministic policy
64
-
-> probabilistic risk score
65
-
-> allow / ask / deny
64
+
-> local LLM judge
65
+
-> allow / deny
66
66
-> local dashboard
67
67
```
68
68
@@ -90,7 +90,7 @@ For enterprise identity, audit retention, organization controls, deployment plan
90
90
| Default | Behavior |
91
91
| --- | --- |
92
92
| Local evaluation | Default `kontext start` does not require hosted login or trace upload. |
93
-
| Observe mode | Decisions are recorded as `would allow`, `would ask`, or `would deny` without blocking the agent. |
93
+
| Observe mode | Decisions are recorded as `would allow` or `would deny` without blocking the agent. |
94
94
| Loopback dashboard | The local dashboard binds to loopback by default. |
95
95
| Redacted storage | Tool events and decisions are stored locally with redaction. |
96
96
| No reasoning capture | Kontext captures tool events and outcomes, not LLM reasoning, token usage, or full conversation history. |
@@ -118,7 +118,7 @@ kontext start
118
118
|-- Local runtime: Unix socket service + RuntimeCore
119
119
|-- Local dashboard: 127.0.0.1:4765
120
120
|-- Deterministic policy: curated rule categories + active profile
121
-
|-- Probabilistic risk: score + ask escalation for ambiguous actions
121
+
|-- Local LLM judge: localhost allow/deny decision after deterministic allow
122
122
|-- Store: local SQLite with redacted events and decision metadata
Copy file name to clipboardExpand all lines: docs/guard.md
+6-8Lines changed: 6 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,21 +2,19 @@
2
2
3
3
Guard is the local safety mode inside `kontext`.
4
4
5
-
It lets a developer run Claude Code normally while Kontext watches tool calls locally, redacts captured data, stores events in local SQLite, and shows a local dashboard with `would allow`, `would ask`, and `would deny` decisions.
5
+
It lets a developer run Claude Code normally while Kontext watches tool calls locally, redacts captured data, stores events in local SQLite, and shows a local dashboard with `would allow` and `would deny` decisions.
6
6
7
7
## User path
8
8
9
9
```bash
10
10
brew install kontext-security/tap/kontext
11
-
kontext guard start
12
-
claude
11
+
kontext start
13
12
```
14
13
15
14
Until the Guard PR is merged and released, test from source:
16
15
17
16
```bash
18
-
go run ./cmd/kontext guard start
19
-
claude
17
+
go run ./cmd/kontext start
20
18
```
21
19
22
20
## Runtime boundary
@@ -31,10 +29,10 @@ Guard mode is local-first by default:
31
29
- embedded local dashboard
32
30
- observe mode by default
33
31
34
-
Hosted mode remains separate:
32
+
Hosted managed mode remains separate:
35
33
36
34
```bash
37
-
kontext start --agent claude
35
+
kontext start --managed --agent claude
38
36
```
39
37
40
38
Hosted mode owns login, provider connection, short-lived scoped credentials, hosted traces, and team governance.
@@ -61,7 +59,7 @@ Guard uses two layers:
61
59
62
60
## Local judge
63
61
64
-
Guard can optionally call a localhost OpenAI-compatible judge, such as `llama-server`, after deterministic rules allow a blocking tool call:
62
+
The user-facing `kontext start` path manages a local judge by default. For daemon-only diagnostics, Guard can call a localhost OpenAI-compatible judge, such as `llama-server`, after deterministic rules allow a blocking tool call:
0 commit comments