Kobana

Controle granular, auditoria completa, criptografia em repouso.

151 permissões no dashboard, RBAC com roles customizáveis, AuditLog com diff completo, AES-256-GCM em credenciais. LGPD pronto.

Funcionalidade
AuditLog com filtros por usuário, ação e recurso
151
permissões dashboard
AES-256-GCM
dados sensíveis
TLS 1.3
em trânsito
LGPD
export + delete nativos

O que está sendo protegido

RBAC com Roles Customizáveis
4 roles padrão (Admin, Financeiro, Operacional, Visualização). Crie roles customizadas combinando qualquer permissão.
  • DashboardRole por organização
  • DashboardUserToRole many-to-many
  • Herança via groups
  • API para automação
Autenticação Multi-Método
NextAuth com Google OAuth (admin), Kobana OAuth (dashboard/portal), magic link (portal), senha + 2FA opcional.
  • Sessões com timeout configurável
  • Failed login attempts auto-bloqueio
  • Recovery codes para 2FA
Criptografia em Repouso
lib/crypto.ts com AES-256-GCM. Aplicado em credenciais de gateway, NFe.io API key, webhook secrets, certificate PFX, portal tokens.
  • Chave de 32 bytes em variável de ambiente
  • IV único por encrypt
  • Authentication tag verifica integridade
  • safeDecrypt para migração gradual
TLS 1.3 em Trânsito
Toda comunicação HTTPS obrigatório. HSTS habilitado. Certificate pinning opcional para SDKs.
  • HTTPS obrigatório
  • HSTS habilitado
  • Certificate pinning opcional
AuditLog Detalhado
Toda mutação registrada com userEmail, ipAddress, userAgent, action, resourceType, resourceId, previousValues, newValues.
  • 200+ tipos de ação rastreados
  • Retenção configurável (default 2 anos)
  • Export para SIEM
  • Imutável (append-only)
Eventos Internos (Event Model)
Camada adicional de tracking. Cada state change gera Event para webhook + replay.
  • Persistido por organização
  • Filtro por tipo, recurso, período
  • API de retry
Idempotência em Mutações
Header Idempotency-Key aceito em todas as mutações. Coluna única em subscription_item_changes e tabelas críticas.
  • Previne duplicação por retry de rede
  • TTL configurável
  • Mesmo key retorna mesma resposta
2FA (TOTP)
Google Authenticator, Authy, Microsoft Authenticator compatíveis. Opcional por usuário, obrigatório por role.
  • Códigos de recuperação (10 códigos uso único)
  • Renovação via dashboard
  • Notificação de uso
LGPD Compliance
DataPurgeService implementa direito ao esquecimento. ExportService gera dump completo.
  • Worker data-purge executa exclusão programada
  • Soft delete + anonimização preservando histórico fiscal
  • Registro de consentimento em metadata
  • Retenção configurável
Webhooks Assinados
Todos webhooks assinados com HMAC-SHA256. Secret criptografado. Validação timing-safe.
  • X-Kobana-Signature header
  • Algoritmo HMAC-SHA256
  • Replay protection via timestamp
IP Allowlist (Enterprise)
RateLimitConfig por API key suporta restrição por IP. Bloqueio por país via IP geolocation.
  • Restrição por IP
  • Bloqueio por país
  • Enterprise only
Rate Limiting
Limites por API key e endpoint. RateLimiterService usa Redis para counter distribuído.
  • Default 100 req/s por org
  • Burst configurável
  • 429 com Retry-After

Criar role customizada via API

bash
curl -X POST https://api.billing.kobana.com.br/v1/dashboard-roles \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Operador Suporte",
    "slug": "operador-suporte",
    "description": "Pode ver tudo e responder dúvidas, não pode mexer em finanças",
    "permissions": [
      "billing.dashboard.customers.list",
      "billing.dashboard.customers.show",
      "billing.dashboard.subscriptions.list",
      "billing.dashboard.subscriptions.show",
      "billing.dashboard.invoices.list",
      "billing.dashboard.invoices.show",
      "billing.dashboard.audit.list"
    ]
  }'
response
{
  "id": "role_xyz",
  "slug": "operador-suporte",
  "permissions_count": 7,
  "users_count": 0
}

Perguntas frequentes

Segurança que passa em auditoria