Skip to content
[—]jacpol

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
Development
Maintained
Category
Open source
Founded
2024
Parent
RUBIKLABS

Technology

  • NestJS
  • TypeScript
  • Kysely
  • Prisma

What Jacpol does

01

Roles and policies

Define who can do what. Compose policies, attach them to roles, assign roles to users.

02

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."

03

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

01

@rubiklabs/nestjs-jacpol

The core module. Roles, policies, guards, decorators — runtime-agnostic. Bring your own data layer or pick one of the adapters below.

02

@rubiklabs/nestjs-jacpol-kysely

First-class Kysely adapter. Type-safe permission queries that compose with the rest of your Kysely query builder.

03

@rubiklabs/nestjs-jacpol-prisma

Prisma adapter. Permission-aware queries with the Prisma client you already have in your NestJS app.

Open source

MIT-licensed. Use the core, pick an adapter, or bring your own.

One call. Your problem, your scale, your constraint. A proposal within a week.