Live demo
Recommended flow
- Start console:
RUNLINE_AUTH_DISABLED=1 pnpm dev· optionalpnpm seed:reset - Enroll agent, then confirm with
runline-agent status runline-agent classify— prove AI session- Run scenario #1 below, then click alert row for drawer
Full walkthrough: docs/demo-live.md in the repo
Demo scenarios
- 1. AI agent blocked on destructive S3deny
The headline demo — deny in terminal, alert in console in seconds.
export CLAUDECODE=1 && aws s3 rb s3://runline-demo-bucket --force
Rule hint: s3-remove-bucket-deny
Console ai-agent - 2. AI blocked on kubectl delete namespacedeny
Proves multi-tool coverage beyond AWS.
export CLAUDECODE=1 && kubectl delete namespace prod
Rule hint: kubectl-delete-namespace-ai
Console ai-agent - 3. AI cannot create IAM usersdeny
Shows identity-plane protection, not just data plane.
export CLAUDECODE=1 && aws iam create-user --user-name rogue-agent
Rule hint: iam-create-role-no-ai-agent
Console ai-agent - 4. Same command, human gets approvalapprove
AI is denied (above); a human running the exact same command is routed to approval, not blocked.
aws s3 rb s3://runline-demo-bucket --force
Rule hint: human-aws-bucket-or-data-destroy-approve
Console human - 5. Audited emergency bypassbypass
Break-glass without turning off the agent.
RUNLINE_BYPASS=1 aws s3 rb s3://runline-demo-bucket --force
Console human
What the agent does today
- AWS CLI shimlive
Every aws invocation is evaluated by runlined before exec — no wrapper scripts.
- Human vs AI actor classificationlive
TTY, process ancestry, and env markers (CLAUDECODE, CURSOR_AGENT, …) stamp every audit record.
- Embedded policy (45+ rules)live
Destructive IAM, S3, EC2, kubectl, git, terraform, MCP tools/call, and exfiltration patterns.
- TTY approval flowlive
High-risk human actions can require on-terminal approval; AI agents never get prompted.
- Governed bypasslive
RUNLINE_BYPASS is audited; bypassed events surface in Logs and alert tabs.
- Tamper detectionlive
Binary manifest verified at boot and every 60s; mismatch exits the daemon.
- Enrollment + mTLSlive
Install token is exchanged for a per-endpoint cert; heartbeats and ingest share the same identity.
- Audit shipperlive
Local JSONL is authoritative; batches POST to the console ingest API.
- Remote rule tuninglive
Console pushes tuning.yaml; daemon hot-reloads without restart.
- Multi-tool CLI shimslive
aws, kubectl, git, terraform, gcloud, psql — one daemon, composed policy.
- MCP runtime proxylive
runline-mcp-proxy enforces tools/call for Cursor and other MCP clients.
- Remote policy publishlive
Console pushes policy.yaml; agents pull via refresh_policy with SHA256 verify.
Agent CLI
runline-agent statusEnrollment, endpoint ID, platform URL, mTLS, live rule countrunline-agent classifyHow this shell would be classified (human vs AI)runline-agent doctorPass/fail health checks before presentingrunline-agent simulate --as-ai aws s3 rb s3://x --forceDry-run policy without executing AWSrunline-agent simulate mcp delete_repositoryDry-run MCP tools/call policyrunline-agent demoPrint the full terminal demo scriptrunline-agent policy showEvery loaded rule in evaluation order (embedded + packs)
Policy highlights (0 rules · 0 actor-scoped)
Full catalogActor-aware rules fail shut for AI agents; humans may see approve or allow paths.