11---
22title : RossoCortex
3- description : The data plane proxy, the four control points and the plugin chain .
3+ description : See and understand what your AI agent sends — every model, tool and API call, on your own machine .
44sidebar_position : 3
55---
66
7- RossoCortex is the data plane of Rossoctl. It is a proxy between an agent and each external service
8- that the agent uses. The external services are models, tools, users and other agents.
7+ RossoCortex shows you what your AI agent actually does. It sits on the request path of the agent and
8+ reads every model call, every tool call and every external API request that the agent makes. It shows
9+ the full content of each request and reply, and for a model call it adds the token count and the cost
10+ — live, on your own machine.
11+
12+ It needs no change to your agent. An agent that you did not write, or that you cannot change,
13+ therefore gets the same view as one that you wrote. Two experimental plugins can also reduce the
14+ traffic: they remove tool definitions that the agent never uses and compact large tool output, which
15+ lowers your token usage and your cost.
16+
17+ ## What you get
18+
19+ - ** See every call the agent makes.** Model calls, tool calls (MCP) and agent-to-agent messages,
20+ parsed as they happen.
21+ - ** Token and cost numbers for each session.** For each model call, the input, cache-read, cache-write
22+ and output tokens; and the cost of the session, computed from published rates. See
23+ [ Read the numbers] ( ../../get-started/reading-the-numbers.md ) .
24+ - ** Drill into any request.** The exact call the agent sent — the method, the host, the model or tool,
25+ the status, the duration and the full request and reply — as content you can read.
26+ - ** Reduce your token usage (experimental).** Remove tool definitions that the agent does not use, and
27+ compact large tool output before the model reads it. Both are experimental and off by default. See
28+ [ Cost control] ( ../experiments/cost-control.md ) and [ Context compaction] ( ../experiments/context-compaction.md ) .
29+ - ** No code change.** RossoCortex intercepts the traffic for you. Your agent runs the same way, and
30+ the data never leaves your machine.
31+
32+ ## Privacy and data handling
33+
34+ RossoCortex intercepts your agent's traffic through a local proxy on your own machine. It parses each
35+ call so that it can show you the content, and it keeps the traffic on that machine.
936
10- RossoCortex intercepts traffic. It does not require a change to the code of the agent. An agent that
11- you did not write, or that you cannot change, therefore receives the same controls as an agent that
12- you wrote.
37+ RossoCortex does not collect the traffic, and it does not send it to Rossoctl or to any other service.
38+ There is no telemetry. The data is for you to read and to inspect. When you stop the service, the data
39+ goes with it.
40+
41+ ## Install it
42+
43+ You can run RossoCortex on macOS or Linux and watch your agent's traffic in about 5 minutes. You do
44+ not need a Kubernetes cluster. See [ Quickstart on a laptop] ( ../../get-started/laptop.md ) .
45+
46+ Tried it? Tell us what worked and what did not, with the ** Laptop feedback** form on
47+ [ rossoctl/cortex] ( https://github.com/rossoctl/cortex/issues/new/choose ) .
48+
49+ ## How it works
50+
51+ RossoCortex is the data plane of Rossoctl. It is a proxy between an agent and each external service
52+ that the agent uses. The external services are models, tools, users and other agents. It intercepts
53+ the traffic, which is how it gives you the view above without a change to the agent.
1354
1455![ How agents reach RossoCortex, and the plugins that it runs] ( ../../images/rossocortex-overview.svg )
1556
16- ## Where RossoCortex runs
57+ ### Where RossoCortex runs
1758
1859RossoCortex is one program with three deployment forms.
1960
@@ -26,7 +67,7 @@ RossoCortex is one program with three deployment forms.
2667On Kubernetes, the sidecar is an Envoy proxy and a Go processor. Envoy moves the data. The processor
2768applies the rules.
2869
29- ## The four control points
70+ ### The four control points
3071
3172RossoCortex separates requests from responses, in both directions. This gives four control points
3273around each workload.
@@ -51,7 +92,7 @@ around each workload.
5192Most platforms control point 1 only. Points 2 and 3 are necessary for agents. An agent that reads a
5293document with a hidden instruction can send a correctly authenticated request that no user asked for.
5394
54- ## The plugin chain
95+ ### The plugin chain
5596
5697Each control point runs an ordered chain of plugins. A plugin can read the traffic, add data to a
5798shared record, change the content, or stop the request.
@@ -71,7 +112,7 @@ The optional control plugins use those records. See the
71112[ plugin catalogue] ( https://github.com/rossoctl/cortex/blob/main/authbridge/docs/plugin-catalog.md )
72113for the configuration of each one.
73114
74- ## Authentication and authorization are separate decisions
115+ ### Authentication and authorization are separate decisions
75116
76117The chain treats the two decisions differently.
77118
@@ -90,7 +131,7 @@ RossoCortex is moving to [CPEX](https://github.com/contextforge-org/cpex) for th
90131CPEX combines the results of policy engines such as Cedar and OPA. The controls above do not change
91132when the decision layer changes.
92133
93- ## What RossoCortex does not do
134+ ### What RossoCortex does not do
94135
95136- It does not change how your agent reasons.
96137- It does not replace your agent framework. It is below your agent, not in place of it.
0 commit comments