Ecosystem

Overview

The OpenApe package ecosystem.

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                      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
PackageDescriptionDocs
@openape/proxyForward proxy β€” enforces grant-based rules on all agent HTTP trafficProxy
@openape/browserHeadless browser β€” intercepts routes, enforces grants, supports delegation loginBrowser

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

PackageDescriptionDocs
@openape/coreDNS discovery, crypto, PKCE, JWT utilitiesβ€”
@openape/authOIDC login protocol β€” IdP and SP sidesAuth
@openape/grantsGrant lifecycle, AuthZ-JWT issuance β€” use this to build grant-aware appsGrants
@openape/nuxt-auth-idpDrop-in Nuxt module: run your own IdPIdP Config
@openape/nuxt-auth-spDrop-in Nuxt module: login via OpenApeSP Guide

Use Cases

I want to...Use
Add login to my appnuxt-auth-sp
Run my own IdPnuxt-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

  1. Separation β€” Auth β‰  Grants. Not every app needs both.
  2. Layered β€” Core β†’ Protocol β†’ Framework β†’ Agent Tools
  3. Default deny β€” No grant = no access. Agents start with zero permissions.
  4. Passkeys-only β€” No passwords. NIS2 compliant by design.
  5. Auditable β€” Every action traceable: who requested, who approved, what happened.
  6. Minimal tokens β€” AuthN says who, AuthZ says what may they do.