keygate
Plataforma open source (AGPL v3) para gestión de licencias auto-alojable. Ofrece suscripciones, licencias flotantes, medición de uso y distribución de actualizaciones. Binario único en Go con PostgreSQL.
Ficha actualizada 25 sept 2026, 4:51 · upstream 25 sept 2026, 4:19 · release v0.1.9
Qué es keygate
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Keygate es una plataforma de gestión de licencias de software open source bajo licencia AGPL v3, diseñada como alternativa auto-alojable a soluciones comerciales como Keygen o Cryptlex. Su arquitectura se basa en un binario único escrito en Go junto con una base de datos PostgreSQL (y opcionalmente Redis/MongoDB), eliminando la necesidad de microservicios complejos.
La plataforma cubre todo el ciclo de vida de las licencias: desde la creación y activación hasta la suspensión, reinicio o revocación. Incluye integración nativa con Stripe para procesamiento de pagos, gestión de suscripciones, actualizaciones de facturación (prorrateo) y dunning. Además, permite la distribución de actualizaciones de software para múltiples plataformas mediante un único feed compatible con Sparkle (macOS), Velopack (Windows) y Tauri.
Destaca por su enfoque en seguridad y fiabilidad operativa. Implementa verificación atómica de cuotas para evitar sobrecargas, cifrado AES-256-GCM para claves privadas, soporte para Idempotency-Key para prevenir duplicados en escrituras y protección contra fuerza bruta. El dashboard administrativo permite gestionar productos, clientes, licencias, logs de auditoría y plantillas de correo.
- Indie developers vendiendo aplicaciones desktop, CLI o Electron que requieren gestión de claves de licencia y límites de activación por dispositivo.
- Empresas SaaS que necesitan definir planes con conjuntos de funcionalidades (entitlements) y gestionar suscripciones recurrentes mediante Stripe.
- Vendedores empresariales que requieren licencias flotantes (concurrent seat checkout) para entornos donde múltiples usuarios comparten un número limitado de asientos.
- Proveedores de API que necesitan enforcement atómico de límites de uso y cuotas para evitar que los clientes excedan sus consumos.
- Arquitectura simplificada: un binario Go + PostgreSQL sin microservicios, reduciendo la complejidad operativa.
- Integración completa con Stripe: gestión de pagos, dunning automático, facturación y portal del cliente.
- Distribución de actualizaciones multiplataforma desde un único feed compatible con Sparkle, Velopack y Tauri.
- Seguridad robusta: claves hashadas SHA-256, cifrado en reposo AES-256-GCM y verificación atómica de cuotas.
- Soporte para Idempotency-Key en endpoints de escritura, previniendo duplicados en casos de reintentos.
- Dashboard administrativo completo con logs de auditoría, gestión de equipos y personalización de marca.
- Licencia AGPL v3: requiere mantener la atribución 'Powered by Keygate' en la interfaz a menos que se contrate una licencia comercial.
- No incluye soporte one-click; requiere configuración manual de variables de entorno (JWT_SECRET, LICENSE_SIGNING_KEY) y almacenamiento S3 externo.
- Dependencia de almacenamiento S3-compatible (MinIO, AWS S3, Cloudflare R2) para artefactos de actualización, no incluido en el binario principal.
- Complejidad HIGH: requiere al menos 4 núcleos CPU y 4GB RAM según análisis técnico del repositorio.
Capturas del proyecto
Imágenes reales detectadas en la documentación del repositorio.
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Recomendado usar Docker Compose. Configurar variables JWT_SECRET y LICENSE_SIGNING_KEY antes de iniciar (generar con openssl rand -hex 32). Portes necesarios: 9000 (API), 587 (SMTP), 5432 (PostgreSQL). El almacenamiento S3 debe configurarse para artefactos. Verificar que el cliente tenga la versión mínima soportada definida en el feed.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.
