AI coding tools run with your credentials.Rye is your control plane.

Every prompt that leaves a developer machine passes through Rye. Secrets get stripped. Policies enforce. Everything is logged.

Rye / Governance DashboardLIVETIMEDECISIONIDENTITY · DETAIL14:03:22ALLOWjchen / cursorworkspace policy matched14:03:24REDACTmrodriguez / claude-codeAWS_SECRET_KEY stripped14:03:25BLOCKdesktop-contract-017device not registered14:03:31BLOCKmrodriguez / cursorno_proprietary_code14:03:38ALLOWakim / windsurfapproved destinationproxy active: 127.0.0.1:18080eval <4ms
daemon
running

Local supervision is active before an assistant starts.

proxy
up

Model API traffic has a network checkpoint.

wrapped apps
claude + codex

Requests can be tied back to a real process.

Architecture

One control plane between your AI tools and LLM providers

Rye proxies every request. Prompts are scanned, secrets are stripped, policies are enforced — then clean requests are forwarded to the model.

Cursor
Cursor
AI-first code editor
Windsurf
Windsurf
Agentic IDE by Codeium
Claude Code
Claude Code
Anthropic's CLI coding agent
GitHub Copilot
GitHub Copilot
AI pair programmer
rye.ai
Secret scanningPolicy engineThreat detectionDevice authAudit log
OpenAI
GPT-4o, o1
Anthropic
Claude 4, Haiku
Google AI
Gemini 2.5
Outputs
Alerts
Audit log
SIEM export
Webhooks
Live enforcement feedacme-eng workspace

Before / after Rye

Turn model traffic into accountable AI egress.

The interesting Rye claim is not that it has another secret scanner. Rye sits at the point where AI coding tools leave the developer workstation, so each request can be allowed, redacted, blocked, or queued for approval before the provider sees it.

Before Rye
A normal network log can prove that bytes left the laptop.
source
10.0.4.23
destination
api.openai.com:443
method
CONNECT
bytes_out
184912
developer
unknown
tool
unknown
repo_path
unknown
prompt_risk
unknown
provider_call
already sent
This is too thin for security review. The team still has to guess who sent the prompt, which assistant sent it, what source path was included, and whether the request should have been stopped.
After Rye
A Rye decision record adds the missing control-plane context.
request_id
rye_req_8f2c1a
decision
BLOCK
reason
policy.no_proprietary_code
developer
mrodriguez
device
macbook-eng-118
tool
cursor
matched_path
src/billing/mrr.ts
provider_call
not_sent
policy_version
synced workspace policy
The key difference is the provider-call outcome. A block is not a late alert. It is a policy decision made before the upstream model receives the request.

Show the product state, then show the decision.

The strongest demo is a short capture: run a wrapped agent, trigger a policy, then inspect the status and decision trail. That is more credible than a feature list because the artifacts are recognizable to the buyer's security team.

Local supervision state

A trimmed status check from the Rye CLI shows the daemon, proxy, intercept targets, and wrapped apps.

$ rye status
Daemon: running
Proxy: up
Auth: logged in

Listen: 127.0.0.1:18080
Intercepting: openai.com, anthropic.com, cursor.com, windsurf.com

Wrapped Apps:
  claude active
  codex active
Policy decision event

The decision record should answer what matched and whether the model provider ever received the request.

decision = blocked
reason = policy.no_proprietary_code
actor = mrodriguez
device = macbook-eng-118
tool = cursor
repo = payments-api
matched_path = src/billing/mrr.ts
provider_call = not_sent

Security proof

Replace compliance promises with questions Rye can answer.

Who sent it?

Developer identity plus the registered workstation that made the request.

Which tool sent it?

Cursor, Claude Code, Codex, Windsurf, Zed, or another supervised process.

What rule matched?

The policy decision records the rule, reason, and whether the upstream call was sent.

What code was involved?

File path context connects the model request back to the repo area under review.

What changed afterward?

Wrapped sessions can connect model traffic to local process and file activity.

Setup path

Put Rye where the request leaves the laptop.

Developers keep their AI tools. Rye wraps the process, routes model traffic through the local proxy, and records the policy decision.

01

Wrap the agent

rye wrap claude

Rye launches the assistant under supervision so process, device, and workspace context are present from startup.

02

Route model traffic

rye up --install-ca --intercept-patterns openai.com,anthropic.com,claude.com,chatgpt.com,cursor.com,windsurf.com

The local proxy becomes the control point for model API traffic and evaluates requests before they reach the provider.

03

Inspect decisions

rye history --last 1h

Recent supervised traffic shows process attribution, device identity, destination, model, and policy decision.

Your AI coding tools already have a network path.
Put a control point there.