Ecosystem

Overview

The OpenApe package ecosystem.

Ecosystem

OpenApe isn't a monolith β€” it's a set of small, focused packages you compose as needed. Use one. Use all. Each works standalone.

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚            Framework Modules                β”‚
β”‚  nuxt-auth-idp  nuxt-auth-sp  nuxt-grants  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚            Protocol Packages                β”‚
β”‚         @openape/auth    @openape/grants    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚              Foundation                     β”‚
β”‚              @openape/core                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Packages

PackageDescriptionFramework
@openape/coreDNS discovery, crypto, PKCE, JWT utilitiesNone
@openape/authOIDC login protocol β€” IdP and SP sidesNone
@openape/grantsGrant lifecycle, AuthZ-JWT issuanceNone
@openape/nuxt-auth-idpDrop-in Nuxt module: run your own IdPNuxt
@openape/nuxt-auth-spDrop-in Nuxt module: login via OpenApeNuxt
@openape/nuxt-grantsDrop-in Nuxt module: grant managementNuxt
openape-sudo (apes)Rust binary for privilege elevationOS-level

Combinations

Use CasePackages
App with OpenApe loginnuxt-auth-sp
Run your own IdPnuxt-auth-idp
Agent permissionsnuxt-grants
Full IdP + Grantsnuxt-auth-idp + nuxt-grants
SP with grant requestsnuxt-auth-sp + nuxt-grants
Non-Nuxt integration@openape/auth + @openape/grants
Local privilege elevationopenape-sudo (apes)

Design Principles

  1. Separation β€” Auth β‰  Grants. Not every app needs both.
  2. Layered β€” Core β†’ Protocol packages β†’ Framework modules β†’ Apps
  3. Stateless SP β€” Service providers need zero server storage.
  4. Framework-agnostic core β€” Nuxt modules are convenience, not requirement.
  5. Passkeys-only β€” No passwords. NIS2 compliant by design.
  6. Minimal tokens β€” AuthN says who, AuthZ says what may they do.