Overview
Ecosystem
Agent Gate Applications
Three applications form the core of how agents interact with the world through OpenApe. Together, they ensure that agents can only do what humans have explicitly approved.
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Agent Gate Applications β
β β
β grapes shapes escapes β
β ββββββββ ββββββββ ββββββββ β
β Grant System Execution Layer Privilege β
β Escalation β
β β
β Request, approve Execute any CLI, For actions β
β and manage constrained by the agent β
β grants grants + registry should never β
β normally do β
β β
β "May I?" "Do it "Exception- β
β (within bounds)" ally, with β
β approval" β
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
grapes β The Grant System
The foundation. Without a grant, nothing happens. Grapes handles the complete grant lifecycle: requesting, approving, denying, revoking, and delegating. It's the CLI that both agents and humans use to interact with the OpenApe permission system.
grapes request "systemctl restart nginx" --audience escapes --wait
grapes approve <grant-id>
grapes run escapes "apt-get upgrade" --approval timed --duration 1h
shapes β The Execution Layer
The normal path for agent operations. Shapes wraps existing CLI tools (kubectl, aws, gh, az, etc.) and maps their commands to structured permissions. Instead of granting blanket access, each command is parsed into a resource chain and evaluated against grants.
The Shapes Registry is the catalog of available adapters β it defines which tools can be wrapped and how their commands map to permissions.
shapes explain -- gh repo list myorg # What permissions does this need?
shapes request -- gh issue create --repo myorg/myrepo # Request grant + execute
escapes β Privilege Escalation
The exception path. When an agent needs to do something it should never normally have rights for β installing software for another user, modifying system configuration, accessing restricted resources β escapes provides controlled, audited privilege elevation. Escalated privileges, with apes.
escapes --grant <jwt> -- apt-get install -y nginx
escapes --run-as deploy --grant <jwt> -- systemctl restart app
Agent Infrastructure
Built on top of the gatekeeping trinity. These packages add grant-based access control to specific channels β HTTP traffic and browser automation.
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Agent Infrastructure β
β β
β proxy browser β
β βββββββββββββ βββββββββββββ β
β HTTP traffic control Web automation β
β Grant-based rules Playwright + grants β
β per domain/method/path + delegation login β
β β
β Uses: grants, shapes rules β
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Package | Description | Docs |
|---|---|---|
@openape/proxy | Forward proxy β enforces grant-based rules on all agent HTTP traffic | Proxy |
@openape/browser | Headless browser β intercepts routes, enforces grants, supports delegation login | Browser |
Development Packages
Libraries and modules for developers who want to build grant-aware applications. The @openape/grants SDK lets anyone integrate grants into their own apps β not just Nuxt, not just Node.js.
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Framework Modules β
β nuxt-auth-idp nuxt-auth-sp β
βββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Protocol Packages β
β @openape/auth @openape/grants β
βββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Foundation β
β @openape/core β
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
Packages
| Package | Description | Docs |
|---|---|---|
@openape/core | DNS discovery, crypto, PKCE, JWT utilities | β |
@openape/auth | OIDC login protocol β IdP and SP sides | Auth |
@openape/grants | Grant lifecycle, AuthZ-JWT issuance β use this to build grant-aware apps | Grants |
@openape/nuxt-auth-idp | Drop-in Nuxt module: run your own IdP | IdP Config |
@openape/nuxt-auth-sp | Drop-in Nuxt module: login via OpenApe | SP Guide |
Use Cases
| I want to... | Use |
|---|---|
| Add login to my app | nuxt-auth-sp |
| Run my own IdP | nuxt-auth-idp (config) |
| Build grant-aware apps (any framework) | @openape/grants + @openape/auth |
| Control agent HTTP traffic | @openape/proxy |
| Automate browser tasks with grants | @openape/browser |
Design Principles
- Separation β Auth β Grants. Not every app needs both.
- Layered β Core β Protocol β Framework β Agent Tools
- Default deny β No grant = no access. Agents start with zero permissions.
- Passkeys-only β No passwords. NIS2 compliant by design.
- Auditable β Every action traceable: who requested, who approved, what happened.
- Minimal tokens β AuthN says who, AuthZ says what may they do.