Jacpol
Authorization for NestJS — a package family, open-sourced from production.
Overview
Jacpol is the authorization engine that runs beneath every RUBIKLABS service — roles, policies, and resource-scoped access for NestJS applications. Shipped as a family of npm packages: a core module plus first-class adapters for Kysely and Prisma. We built it for ourselves and open-sourced it so any team on the NestJS ecosystem can use the same permissions system we do.
Key facts
- Status
- Live
- Category
- Open source
- Founded
- 2024
- Parent
- RUBIKLABS
Technology
- NestJS
- TypeScript
- Kysely
- Prisma
What Jacpol does
Roles and policies
Define who can do what. Compose policies, attach them to roles, assign roles to users.
Resource-scoped access
Permissions that know about the resource being accessed — owner, team, tenant. Not just "can edit posts," but "can edit their own posts."
Battle-tested in production
Runs behind every RUBIKLABS service today. What you pull off the registry is what we put into production.
The package family
@rubiklabs/nestjs-jacpol
The core module. Roles, policies, guards, decorators — runtime-agnostic. Bring your own data layer or pick one of the adapters below.
@rubiklabs/nestjs-jacpol-kysely
First-class Kysely adapter. Type-safe permission queries that compose with the rest of your Kysely query builder.
@rubiklabs/nestjs-jacpol-prisma
Prisma adapter. Permission-aware queries with the Prisma client you already have in your NestJS app.