Kilpi es un framework de autorización TypeScript de código abierto diseñado para proporcionar autorización flexible, potente e intuitiva para desarrolladores. Admite varios modelos de autorización como RBAC, ABAC y ReBAC, y se integra perfectamente con cualquier framework o proveedor de autenticación. Con características como autorización server-first, políticas asíncronas y una API amigable para desarrolladores, Kilpi garantiza una experiencia de autorización segura y type-safe.
"La autorización no tiene por qué ser un dolor de cabeza. Imagina un framework que convierte este proceso en algo tan sencillo como escribir una línea de código. Eso es Kilpi."
Si trabajas con TypeScript y has lidiado con sistemas de autorización complejos, sabes exactamente de qué hablo. La gestión de permisos suele convertirse en ese "problema recurrente" que terminas resolviendo una y otra vez para cada proyecto.
Kilpi llega para cambiar eso.
🚀 Kilpi en pocas palabras
Kilpi es un framework de autorización open-source diseñado específicamente para aplicaciones TypeScript. Su filosofía es simple:
Flexibilidad para adaptarse a cualquier modelo de autorización (RBAC, ABAC, ReBAC)
Potencia con políticas escritas en TypeScript puro
Simplicidad con una API diseñada para humanos
🔥 ¿Por qué Kilpi destaca?
1. Framework agnóstico
Funciona con cualquier stack tecnológico
No te obliga a cambiar tu infraestructura existente
2. Autorización server-first
Seguridad ante todo: Todas las autorizaciones se ejecutan en el servidor
Compatible con cualquier proveedor de autenticación (Auth0, Clerk, NextAuth, etc.)
3. Políticas como código TypeScript
Type-safe por diseño
Mantenible y legible
Flexible para adaptarse a lógicas complejas
// Ejemplo de política en Kilpi
const agePolicy = policy((subject: User) => {
return subject.age >= 18;
});
🛠️ Características que enamoran
Para desarrolladores exigentes
API intuitiva: Diseñada para ser usada con una sola línea de código
Seguridad tipo-first: Máxima inferencia con mínimas definiciones
Plugins: Extiende funcionalidades con librerías preconstruidas
Para aplicaciones reales
Consultas protegidas: Capa adicional de seguridad para tus datos
Autorización en cliente: Con deduplicación, batching y caching
Testeado en producción: Listo para entornos críticos
📈 Tendencias actuales que Kilpi aborda
Serverless architectures: Kilpi funciona perfectamente en entornos sin servidor tradicional
TypeScript adoption: Creado específicamente para el ecosistema TS
Security-first approach: Autorización centralizada en el servidor
Developer Experience: API diseñada para reducir fricción
🚨 Problemas comunes que resuelve
"Implemento el mismo sistema de permisos en cada proyecto"
"Nuestras políticas de autorización son difíciles de mantener"
"Necesito soportar múltiples modelos de autorización"
"Quiero type-safety en todo mi flujo de autorización"
💡 ¿Cuándo deberías considerar Kilpi?
Si trabajas con TypeScript en el backend
Si necesitas múltiples modelos de autorización en una misma app
Si valoras type-safety en toda tu aplicación
Si quieres evitar reinventar la rueda con cada nuevo proyecto
🏁 Primeros pasos con Kilpi
npm install kilpi
# o
yarn add kilpi
La documentación oficial es tu mejor aliada. Está llena de ejemplos prácticos y guías para integrarlo con los frameworks más populares.
Kilpi no es solo otro framework de autorización. Es la solución que muchos desarrolladores TypeScript estaban esperando para:
✔️ Simplificar un problema complejo
✔️ Mantener la seguridad como prioridad
✔️ Ofrecer flexibilidad sin sacrificar type-safety
Si estás cansado de sistemas de autorización complicados, Kilpi merece un lugar en tu toolkit. ¿Lo has probado ya? ¡Cuéntame tu experiencia en los comentarios!
Características
Agnóstico de framework
Funciona con cualquier stack tecnológico existente.
Autorización server-first
Ejecuta todas las autorizaciones en el servidor para seguridad.
Cualquier proveedor de autenticación
Admite todos los proveedores de autenticación a través de Subject API.
Políticas como código
Implementa políticas en TypeScript type-safe.
Políticas asíncronas
Obtén datos de bases de datos o APIs durante la autorización.
Todos los modelos de autorización
Admite RBAC, ABAC, ReBAC y más.
Consultas protegidas
Envuelve consultas para garantizar acceso seguro a datos.
Autorización en el lado del cliente
Obtén decisiones de autorización con deduplicación y caché.
API de plugins y biblioteca
Extiende Kilpi con plugins personalizados o listos para usar.