Kobana

Control granular, auditoría completa, cifrado en reposo.

151 permisos en el dashboard, RBAC con roles personalizables, AuditLog con diff completo, AES-256-GCM en credenciales. LGPD listo.

Funcionalidad
AuditLog con filtros por usuario, acción y recurso
151
permisos en dashboard
AES-256-GCM
datos sensibles
TLS 1.3
en tránsito
LGPD
export + delete nativos

Qué está siendo protegido

RBAC con Roles Personalizables
4 roles estándar (Admin, Financiero, Operacional, Visualización). Crea roles personalizados combinando cualquier permiso.
  • DashboardRole por organización
  • DashboardUserToRole many-to-many
  • Herencia via groups
  • API para automatización
Autenticación Multi-Método
NextAuth con Google OAuth (admin), Kobana OAuth (dashboard/portal), magic link (portal), contraseña + 2FA opcional.
  • Sesiones con timeout configurable
  • Bloqueo automático por intentos fallidos
  • Recovery codes para 2FA
Cifrado en Reposo
lib/crypto.ts con AES-256-GCM. Aplicado en credenciales de gateway, NFe.io API key, webhook secrets, certificate PFX, portal tokens.
  • Clave de 32 bytes en variable de entorno
  • IV único por encrypt
  • Authentication tag verifica integridad
  • safeDecrypt para migración gradual
TLS 1.3 en Tránsito
Toda comunicación HTTPS obligatorio. HSTS habilitado.
  • HTTPS obligatorio
  • HSTS habilitado
AuditLog Detallado
Toda mutación registrada con userEmail, ipAddress, userAgent, action, resourceType, resourceId, previousValues, newValues.
  • 200+ tipos de acción rastreados
  • Retención configurable (default 2 años)
  • Export para SIEM
  • Inmutable (append-only)
Eventos Internos (Event Model)
Capa adicional de tracking. Cada cambio de estado genera Event para webhook + replay.
  • Persistido por organización
  • Filtro por tipo, recurso, período
  • API de retry
Idempotencia en Mutaciones
Header X-Idempotency-Key aceptado en POST, PUT y PATCH. Columna única en subscription_item_changes y tablas críticas.
  • Previene duplicación por retry de red
  • Retención de 24 horas
  • Misma key retorna misma respuesta
2FA (TOTP)
Google Authenticator, Authy, Microsoft Authenticator compatibles. Opcional por usuario, obligatorio por rol.
  • Códigos de recuperación (10 códigos de un solo uso)
  • Renovación vía dashboard
  • Notificación de uso
Compliance LGPD
DataPurgeService implementa derecho al olvido. ExportService genera dump completo.
  • Worker data-purge ejecuta exclusión programada
  • Soft delete + anonimización preservando historial fiscal
  • Registro de consentimiento en metadata
  • Retención configurable
Webhooks Firmados
Todos los webhooks firmados con HMAC-SHA256. Secret cifrado. Validación timing-safe.
  • X-Kobana-Signature header
  • Algoritmo HMAC-SHA256
  • Replay protection vía timestamp
IP Allowlist (Enterprise)
RateLimitConfig por API key soporta restricción por IP. Bloqueo por país vía IP geolocation.
  • Restricción por IP
  • Bloqueo por país
  • Solo Enterprise
Rate Limiting
Límites separados para lectura y escritura. RateLimiterService usa Redis para contador distribuido.
  • Lectura y escritura con límites propios
  • Límites mayores bajo consulta
  • 429 con Retry-After

Crear un rol personalizado vía API

bash
curl -X POST https://api.billing.kobana.com.br/v1/team_roles \
  -H "Authorization: Bearer $KOBANA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Operador Soporte",
    "slug": "operador_soporte",
    "permissions": [
      "customers.list",
      "customers.show",
      "subscriptions.list",
      "subscriptions.show",
      "invoices.list",
      "invoices.show",
      "audit.list"
    ]
  }'
response
{
  "data": {
    "id": "5f6e7d8c-9b0a-4c1d-8e2f-3a4b5c6d7e8f",
    "name": "Operador Soporte",
    "slug": "operador_soporte",
    "is_system": false,
    "is_active": true,
    "users_count": 0
  }
}

Perguntas frequentes

Seguridad que pasa en auditoría