The Problem
If you’ve built a decent-sized NestJS application, you know the authorization dance. You start with basic Roles, then suddenly you need fine-grained permissions, then maybe some attribute-based access control (ABAC).
Before you know it, your controllers are cluttered with @UseGuards(RolesGuard), and your RolesGuard itself is a massive switch statement checking for every possible permission string. It's repetitive, hard to test, and honestly, a bit boring to maintain.
The Solution: nestjs-permissions
I got tired of reinventing this logic for every project, so I built nestjs-permissions. The goal was simple: Declarative, type-safe authorization that stays out of your way while keeping your code clean.






