
kviklet v0.8.0
Flujo de revisión/aprobación tipo Pull Request para consultas de base de datos. Para un acceso de Ingeniería a producción que sea conforme pero fluido.
Kviklet
Kviklet.dev | Notas de la versión | Discord
Acceso seguro a entornos de producción sin mermar la productividad de los desarrolladores.

Kviklet (pronunciado Quick-let) aplica el Principio de Cuatro Ojos al acceso a bases de datos de producción, con un flujo de trabajo de revisión y aprobación similar a un pull request para sentencias SQL individuales o sesiones de base de datos con límite de tiempo. Los ingenieros pueden revisar y aprobar las solicitudes de los demás sin enrutar cada consulta a través de un DBA o un equipo de operaciones.
Kviklet es autoalojado y se ejecuta como un contenedor Docker con una base de datos PostgreSQL para el estado de la aplicación. Su interfaz web permite enviar, revisar y ejecutar solicitudes. Una licencia empresarial opcional desbloquea la autenticación SAML, los requisitos de revisión basados en roles, la sincronización de roles, las claves de API, el proxy de base de datos y el servidor MCP para agentes de IA. Solicita una licencia empresarial en kviklet.dev.
Las bases de datos compatibles son Postgres, MySQL, MariaDB, MS SQL Server y MongoDB.
Modelo de acceso
Recomendamos conectar Kviklet a tu proveedor de identidad existente. Kviklet admite SSO mediante OIDC (Google, Keycloak, etc.) o SAML (solo en la versión empresarial), así como autenticación LDAP (Active Directory, etc.).
A continuación, los usuarios crean solicitudes para conexiones que se asignan a un usuario de base de datos específico. Estas solicitudes son de dos tipos:
- Consulta única: una sentencia SQL específica enviada para su revisión.
- Acceso temporal: una sesión con límite de tiempo en la que puedes ejecutar varias sentencias.
Según la configuración, las solicitudes son revisadas y aprobadas por otros usuarios antes de que Kviklet permita la ejecución.
Kviklet se conecta a la base de datos en nombre del usuario. La contraseña de la base de datos de la conexión nunca se muestra al usuario.
Un administrador puede configurar qué rol tiene acceso a qué conexión y qué controles de revisión se requieren para la ejecución. El acceso a nivel de base de datos se gestiona mediante los mecanismos RBAC de la propia base de datos. Por ejemplo, es posible crear un rol de solo lectura para una conexión de solo lectura y asignarle menos requisitos de revisión que a una conexión de escritura.
Kviklet registra las sentencias ejecutadas y las asocia con el usuario y la solicitud de acceso. Para una cobertura completa del acceso manual a la base de datos, restringe las conexiones directas y canaliza cualquier acceso manual a través de Kviklet. Los ingenieros no necesitan recibir ni compartir las credenciales de la base de datos subyacente.
Las funciones empresariales adicionales incluyen:
- SAML: Compatibilidad con la autenticación SAML.
- Proxy (Postgres, MariaDB, MySQL): Utiliza tu cliente de base de datos preferido a través de una sesión de acceso temporal aprobada con una contraseña temporal. Las sentencias ejecutadas se registran en el registro de auditoría de Kviklet.
- Controles de revisión basados en roles: Requiere la aprobación de roles específicos antes de la ejecución.
- Sincronización de roles: Sincroniza automáticamente los roles de usuario desde los grupos de tu proveedor de identidad.
- Claves de API: Acceso programático a la API de Kviklet.
- Servidor MCP: Conecta agentes de IA como Claude Code o Codex a Kviklet. Actúan con los propios permisos del usuario y pasan por las mismas revisiones.
Más capturas de pantalla
Solicitudes
Todas las solicitudes de datos están en un solo lugar. Como PRs abiertos para tus bases de datos de producción:

Sesiones en vivo
Una solicitud de acceso temporal aprobada abre una sesión SQL en vivo directamente en el navegador:

Registro de auditoría
Se registra cada sentencia ejecutada — ya sea que se ejecutara como una consulta única revisada, en una sesión en vivo o a través del proxy de base de datos:

Funciones por tipo de base de datos/conexión
La mayoría de las funciones están disponibles para todas las bases de datos (SSO, LDAP, RBAC, flujo de revisión/aprobación, registro de auditoría, etc.). Pero algunas funciones están restringidas, ya sea porque simplemente aún no se han implementado o porque no tienen sentido para ese propósito específico. La siguiente tabla muestra qué funciones están disponibles para cada tipo de base de datos:
| Base de datos | Revisión de sentencias | Acceso temporal | Proxy (Beta) | Plan de ejecución |
|---|---|---|---|---|
| Postgres | ✓ | ✓ | ✓ | ✓ |
| MySQL | ✓ | ✓ | ✓ | ✓ |
| MariaDB | ✓ | ✓ | ✓ | ✓ |
| SQL Server | ✓ | ✓ | ✗ | ✓ |
| MongoDB | ✓ | ✓ | ✗ | ✗ |
| Kubernetes | ✓ | ✗ | ✗ | ✗ |
Configuración
Kviklet se distribuye como un contenedor docker simple.
Puedes encontrar las versiones disponibles en Releases. Recomendamos actualizar regularmente la versión que estás usando, ya que seguimos desarrollando nuevas funciones.
La más reciente actualmente es ghcr.io/kviklet/kviklet:0.10.0, también puedes usar :main, pero puede ocurrir de vez en cuando que fusionemos accidentalmente algo con errores. Aunque intentamos evitarlo.
Inicio rápido
Si solo quieres probar cómo funciona:
-
Aquí tienes un docker-compose.yaml mínimo:
Haz clic para expandir el contenido del compose
services: postgres: image: postgres:16 restart: always environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: postgres ports: - "5432:5432" volumes: - ./postgres-data:/var/lib/postgresql/data # - ./sample_data.sql:/docker-entrypoint-initdb.d/init.sql