Documento: RFI — Request for Information
Versão: 1.1
Data de Criação: 05 de maio de 2026
Data de Revisão: 29 de maio de 2026
Validade: 60 dias corridos a partir da emissão
Emitente: brcode solutions & consultoria LTDA
Classificação: PÚBLICO
1. Resumo Executivo
A ETIVOX é uma plataforma corporativa de canal de denúncias e compliance, desenvolvida pela brcode solutions & consultoria LTDA, destinada a empresas que necessitam de um canal seguro, confiável e em conformidade com a legislação brasileira para recebimento, gestão e investigação de denúncias de irregularidades (fraude, assédio, corrupção, violações éticas e de compliance).
A plataforma atende integralmente os requisitos da LGPD (Lei nº 13.709/2018 — Lei Geral de Proteção de Dados), da Lei nº 14.457/2022 (obrigatoriedade de canal de denúncias para empresas com CIPA) e das melhores práticas internacionais de whistleblowing corporativo.
2. Objetivos da Solução
| Objetivo | Descrição |
|---|
| Conformidade Legal | Atender plenamente à LGPD e à Lei 14.457/2022, com evidências técnicas documentadas |
| Proteção ao Denunciante | Garantir anonimato real e rastreabilidade segura via protocolo único |
| Integridade Probatória | Registro imutável de ações em blockchain (audit trail) com hash de transação |
| Triagem Inteligente | Classificação automática de severidade e urgência via inteligência artificial |
| Gestão Completa | Ciclo completo de vida da denúncia: recebimento → triagem → investigação → conclusão |
| Segurança em Camadas | Criptografia, autenticação multifator, controle de acesso granular, monitoramento de sessões |
| Escalabilidade | Arquitetura preparada para evolução multi-tenant (SaaS) |
3. Arquitetura Técnica
3.1 Visão Geral da Arquitetura
A ETIVOX opera em uma arquitetura de monolito modular containerizada, com separação clara entre backend, frontend e serviços de infraestrutura.
┌─────────────────────────────────────────────────────────────────┐
│ TRAEFIK (Reverse Proxy + TLS) │
├────────────────────────────┬────────────────────────────────────┤
│ Frontend (Next.js 16) │ Backend (FastAPI / Python) │
│ React 19 + TypeScript │ 15 Routers de API │
│ Tailwind CSS 4 │ 176 Testes Automatizados │
│ Framer Motion │ Tasks Assíncronas em Background │
├────────────────────────────┼────────────────────────────────────┤
│ MinIO (S3-compatible) │ PostgreSQL 17 │
│ Armazenamento de │ 15+ Tabelas + Alembic Migrations │
│ Evidências │ │
├────────────────────────────┼────────────────────────────────────┤
│ Whatsapp API │ Redis 7 │ Ganache (EVM) │
│ WhatsApp Business │ Rate Limit │ Blockchain │
│ │ Cache / Sessão │ Audit Trail │
└────────────────────────────┴────────────────────────────────────┘
3.2 Stack Tecnológico
Backend
| Tecnologia | Função |
|---|
| FastAPI (Python 3.12+) | Framework REST API assíncrono de alta performance |
| SQLAlchemy 2.0 | ORM assíncrono com driver asyncpg para PostgreSQL |
| Alembic | Gerenciamento de migrações de banco de dados |
| Pydantic | Validação e serialização de dados |
| python-jose | Tokens JWT (HS256) para autenticação |
| pyotp | Autenticação de dois fatores (TOTP) |
| cryptography (Fernet) | Criptografia AES-128-CBC para dados pessoais e segredos OTP |
| Web3.py + Solidity | Smart contract de trilha de auditoria em blockchain EVM |
| SlowAPI | Rate limiting com backend Redis |
| Pillow | Remoção de metadados EXIF de imagens |
| python-magic | Validação de tipo real de arquivo por magic bytes |
| MinIO SDK | Armazenamento de objetos compatível com S3 |
| Google Gemini / OpenAI | Triagem investigativa e classificação de severidade por IA |
| APScheduler | Jobs agendados: retenção LGPD, anonimização automática de PII |
| ReportLab | Geração de relatórios PDF profissionais |
| pyHanko | Assinatura digital PKCS#12 (compatível ICP-Brasil) em PDFs |
| Redis | Gerenciamento de sessões ativas, lockout de login, revogação de tokens |
Frontend
| Tecnologia | Função |
|---|
| Next.js 16 | Framework React com SSR/SSG |
| React 19 | Biblioteca de componentes de interface |
| TypeScript | Desenvolvimento frontend tipado |
| Tailwind CSS 4 | Framework de estilos utilitários |
| Framer Motion | Animações e transições de UI |
| Recharts | Visualização de dados no dashboard |
| jsPDF | Geração de comprovantes PDF no cliente |
| react-qr-code | Geração de QR Code para rastreamento de protocolo |
Infraestrutura (Docker Compose — 8 serviços em produção)
| Serviço | Função |
|---|
| PostgreSQL 17 | Banco de dados relacional principal |
| Redis 7 | Cache, rate limiting, revogação de tokens JWT, sessões ativas |
| MinIO | Armazenamento de evidências (S3-compatible) |
| Ganache | Nó Ethereum local para trilha de auditoria em blockchain |
| Whatsapp API | Integração com WhatsApp Business |
| Traefik v2.11 | Proxy reverso com TLS automático (Let’s Encrypt) |
| pg-backup | Backup diário automatizado do banco de dados (retenção de 7 dias) |
4.1 Portal Público (Denunciante)
| Funcionalidade | Descrição |
|---|
| Denúncia Anônima ou Identificada | Denunciante escolhe entre submissão anônima ou identificada |
| Formulário Dinâmico | Campos personalizáveis por categoria (texto, select, checkbox, radio, data) |
| Protocolo com QR Code | Número de protocolo único com QR Code para acompanhamento em tempo real |
| Comprovante Imprimível | Comprovante A4 otimizado para impressão com QR Code |
| Acompanhamento de Protocolo | Página pública para consulta de status via protocolo |
| Política de Privacidade | Página de política de privacidade conforme LGPD |
| Contato com DPO | Página de contato com o Encarregado de Dados (Art. 41) |
| Portal de Direitos do Titular | Formulário para exercício de direitos (Art. 18 LGPD): acesso, correção, exclusão, portabilidade |
| Termos de Uso | Página de termos e condições |
4.2 Painel Administrativo
| Funcionalidade | Descrição |
|---|
| Dashboard Analítico | Métricas em tempo real: total de denúncias, compliance de SLA, breakdown por status, tendências |
| Gestão de Denúncias | Ciclo completo: visualização, atualização de status, atribuição de tags, notas na timeline |
| Relatórios de Investigação com IA | Triagem via Gemini/OpenAI: avaliação de risco, plausibilidade, resumo executivo |
| Classificação Automática por IA | Severidade (baixa/média/alta/crítica) e urgência (rotina/prioridade/urgente/imediata) classificadas automaticamente em cada nova denúncia |
| Relatórios PDF com Assinatura Digital | PDF profissional (ReportLab) com assinatura digital PKCS#12 opcional (compatível ICP-Brasil) |
| Gerenciamento de Sessões Ativas | Painel para superadmin monitorar sessões: IP, dispositivo, navegador, última atividade — com revogação por clique |
| Timeout por Inatividade | Auto-logout após 15 minutos de inatividade com timer visual na sidebar |
| Anonimização Automática LGPD | Job semanal que anonimiza dados pessoais em denúncias concluídas após período configurável (padrão: 365 dias) |
| Visualizador de Log de Auditoria | Trilha de auditoria filtrável com hashes de transação blockchain |
| Gestão de Categorias | CRUD de categorias com prazos de SLA (em horas) |
| Workflow de Status | Etapas de pipeline personalizáveis com codificação por cor |
| Sistema de Tags | Etiquetas visuais para filtragem e priorização |
| Respostas Rápidas (Macros) | Templates de resposta pré-definidos com variáveis dinâmicas do sistema (14 variáveis: protocolo, denunciante, analista, status, etc.) |
| Gestão de Usuários | CRUD com atribuição de perfis (RBAC), campos para consultoria externa (CNPJ, CPF, razão social, nome fantasia) |
| Perfis e Permissões | RBAC granular com conjuntos de permissões personalizados por endpoint |
| Regras de Alerta | Notificações automáticas por categoria via e-mail, WhatsApp ou webhook |
| Construtor de Formulários | Configuração dinâmica de campos com ordenação drag-and-drop |
| Configurações do Sistema | White-label: logomarca, favicon, capa de login, SMTP, configuração WhatsApp |
| 2FA Obrigatório | Pareamento TOTP via QR Code (Google Authenticator) |
| Exclusão Lógica/Física | Exclusão em duas etapas conforme LGPD com limpeza de evidências |
| Exportação de Dados | Exportação de portabilidade para solicitações de titulares (Art. 18, V) |
| Lixeira | Visualização de denúncias excluídas logicamente com opção de restauração |
| Tema Escuro/Claro | Tema escuro e claro com detecção de preferência do sistema |
| Páginas de Erro Personalizadas | Páginas 404 e 500 animadas com logo do sistema e navegação |
4.3 Sistema de Notificações
| Canal | Implementação |
|---|
| In-App | Centro de notificações com badge de contagem, marcar como lida/todas lidas, excluir individual/todas |
| Push Web | Web Push Notifications (VAPID) com toggle por usuário e service worker dedicado |
| E-mail | SMTP configurável pelo painel administrativo |
| WhatsApp | Whatsapp API com formatação automática de número (DDI+DDD) |
| Webhook | POST HTTP personalizado para endpoints externos |
4.4 Triagem e Classificação por Inteligência Artificial
Triagem Manual (sob demanda)
Analistas podem solicitar relatórios investigativos estruturados contendo:
- Resumo executivo
- Avaliação de plausibilidade
- Indicadores mínimos de evidência
- Classificação de risco (Baixo / Médio / Alto / Crítico)
- Flag de tema sensível (assédio, corrupção, risco à vida)
- Recomendação de triagem (investigar, solicitar mais dados, arquivar)
Classificação Automática (na criação)
Toda nova denúncia é automaticamente classificada em background:
- Severidade:
baixa | média | alta | crítica — badges coloridos (🟢🟡🟠🔴)
- Urgência:
rotina | prioridade | urgente | imediata — animação pulsante para itens críticos
- Justificativa: Texto explicativo gerado por IA em português
- Nunca bloqueia a criação — falha graciosamente com valores padrão seguros
5. Segurança & Compliance
5.1 Autenticação e Autorização
| Camada | Implementação |
|---|
| JWT Access Tokens | HS256 com expiração curta configurável |
| JWT Refresh Tokens | Rotação com JTI tracked + revogação via whitelist Redis |
| Revogação de Tokens | Por token individual (JTI blacklist) e por usuário (revoke_all) via Redis |
| 2FA (TOTP) | Obrigatório para o painel admin; segredos criptografados em repouso com Fernet |
| RBAC | Controle de acesso por perfil com permissões granulares por endpoint |
| Rate Limiting | 5 req/min para login e 2FA; 10 req/min para criação de denúncias |
| Política de Senha | Mínimo 8 caracteres, maiúscula, minúscula, número e caractere especial — medidor visual de força |
| Lockout de Login | Bloqueio após 5 tentativas falhadas — cooldown de 15 minutos com exibição do tempo restante |
| Gerenciamento de Sessões | Rastreamento por usuário em Redis com IP, user-agent e última atividade |
| Timeout por Inatividade | Auto-logout após 15 minutos com timer visual regressivo |
| Armazenamento de Senhas | bcrypt com salt automático |
| CORS | Whitelist estrita de origens/métodos/headers (sem wildcards) |
5.2 Proteção de Dados (LGPD)
| Medida | Artigo LGPD | Status |
|---|
| Criptografia de PII em repouso (Fernet AES-128-CBC) | Art. 46 | ✅ Implementado |
| Log de auditoria de acesso a PII | Art. 37 | ✅ Implementado |
| Log de auditoria de modificação de PII | Art. 46 | ✅ Implementado |
| Portal de direitos do titular | Art. 18 | ✅ Implementado |
| Exportação de portabilidade de dados | Art. 18, V | ✅ Implementado |
| Exclusão lógica (soft delete) | Art. 16 | ✅ Implementado |
| Exclusão permanente (hard delete) | Art. 16 | ✅ Implementado |
| Agendador automático de retenção | Art. 15/16 | ✅ Implementado |
| Anonimização automática de PII | Art. 15/16 | ✅ Implementado |
| Coleta de consentimento com persistência | Art. 7, I | ✅ Implementado |
| Opção de submissão anônima | Art. 6, III | ✅ Implementado |
| Página de designação do DPO | Art. 41 | ✅ Implementado |
5.3 Segurança de Upload
| Medida | Descrição |
|---|
| Whitelist de extensões | Apenas tipos permitidos (imagens, documentos, áudio, vídeo) |
| Validação por magic bytes | Detecção real de MIME type via python-magic |
| Limite de tamanho | 50 MB máximo por upload |
| Remoção de EXIF | GPS, dispositivo e metadados removidos de imagens (Pillow) |
5.4 Trilha de Auditoria em Blockchain
Toda ação crítica (criação de denúncia, mudança de status, gestão de evidências) é registrada em um smart contract Solidity implantado em blockchain compatível com EVM. O contrato armazena:
- Número de protocolo
- Timestamp
- Endereço do registrante
- Descrição da ação
Hashes de transação são armazenados no log de auditoria PostgreSQL para referência cruzada, garantindo integridade probatória e não-repúdio.
5.5 Segurança de Infraestrutura
- Todos os containers executam com
no-new-privileges:true
- Portas de PostgreSQL, Redis e MinIO vinculadas apenas a
127.0.0.1
- Ganache sem portas expostas em produção
- HTTPS forçado via Traefik com renovação automática Let’s Encrypt
- Backups diários automatizados com retenção de 7 dias
- Endpoint
/health para monitoramento de saúde (DB + Redis)
6. Documentação Técnica e Legal
A plataforma é acompanhada de documentação técnica e legal completa:
| Documento | Descrição |
|---|
| Database Schema | Documentação completa de todas as 15+ tabelas, colunas, relacionamentos e constraints |
| RIPD | Relatório de Impacto à Proteção de Dados (Art. 38 LGPD) |
| ROPA | Registro de Atividades de Tratamento (Art. 37 LGPD) |
| Política de Retenção de Dados | Períodos de retenção e procedimentos de eliminação (Art. 15/16 LGPD) |
| Plano de Resposta a Incidentes | Procedimentos de resposta a incidentes de segurança |
| Checklist de Conformidade Legal | Checklist de verificação de conformidade LGPD |
| Guia do Operador | Manual de uso do painel administrativo |
| Referência da API | Documentação Swagger UI auto-gerada (15 routers, 100+ endpoints) |
| Changelog | Histórico de versões e notas de release |
7. Internacionalização (i18n)
A interface suporta 7 idiomas com tradução completa de toda a UI:
| Idioma | Código | Status |
|---|
| Português (Brasil) | pt-BR | ✅ Completo |
| Español | es | ✅ Completo |
| Deutsch | de | ✅ Completo |
| Français | fr | ✅ Completo |
| Italiano | it | ✅ Completo |
| Русский | ru | ✅ Completo |
| 中文 | zh | ✅ Completo |
8. Qualidade e Testes
8.1 Cobertura de Testes
A plataforma possui 176 testes automatizados cobrindo 100% dos routers de API (15/15):
| Módulo | Testes |
|---|
| Autenticação & 2FA | 12 |
| Gestão de Usuários | 10 |
| Perfis RBAC | 15 |
| CRUD de Denúncias | 16 |
| Dashboard / Métricas | 7 |
| Categorias + SLA | 13 |
| Workflow de Status | 14 |
| Tags | 15 |
| Respostas Rápidas (Macros) | 12 |
| Construtor de Formulários | 17 |
| Configurações do Sistema | 8 |
| Log de Auditoria | 7 |
| Regras de Alerta | 12 |
| LGPD (Direitos do Titular) | 16 |
| Triagem IA (mockado) | 6 |
| Total | 176 |
8.2 CI/CD Pipeline
Pipeline de integração e entrega contínua via GitHub Actions:
Push to main → Executa 176 testes → Deploy para VPS (apenas se todos os testes passarem)
- Job de Teste: Python 3.12, pytest com SQLite in-memory (sem dependências externas)
- Job de Deploy: SCP para VPS, rebuild de imagens Docker, recriação de containers, migrações Alembic, validação via
/health
- Health Check: Probe de startup (até 20 tentativas × 5s) + probe final com validação JSON de
status == "healthy"
9. API REST
A plataforma expõe 15 routers sob o prefixo /api:
| Router | Prefixo | Descrição |
|---|
| Auth | /api/auth | Login, JWT, setup/verificação 2FA, troca de senha |
| Users | /api/users | CRUD de usuários com atribuição de perfis |
| Roles | /api/roles | Gestão de perfis e permissões RBAC |
| Denunciations | /api/denunciations | Ciclo completo de denúncias (CRUD, status, tags, timeline, evidências) |
| AI Triage | /api/denunciations | Geração de relatório investigativo por IA |
| Dashboard | /api/dashboard | Métricas, compliance de SLA, breakdown por status |
| Categories | /api/categories | Gestão de tipos de denúncia com SLA em horas |
| Statuses | /api/statuses | CRUD de etapas do workflow |
| Tags | /api/tags | Gestão de etiquetas visuais |
| Macros | /api/macros | CRUD de templates de resposta |
| Form Fields | /api/form-fields | Endpoints do construtor de formulários dinâmicos |
| Settings | /api/settings | Configuração do sistema (white-label, SMTP, etc.) |
| Audit | /api/audit | Visualizador de log de auditoria |
| Alert Rules | /api/alert-rules | CRUD de regras de notificação por categoria |
| LGPD | /api/v1/lgpd | Direitos do titular, exportação, hard delete, limpeza de retenção |
| Notifications | /api/notifications | Centro de notificações in-app (CRUD, marcar lida, excluir) |
| Health | /health | Health check do sistema (DB + Redis, retorna 200/503) |
Documentação interativa disponível em /docs (Swagger UI) e /redoc.
10. Roadmap de Evolução
10.1 Evolução para Matriz e Filial
A arquitetura está preparada para evolução para modelo Matriz e Filial com:
| Recurso | Descrição |
|---|
| Matriz e Filiais | Banco de dados compartilhado com matriz_id + e auditoria individual, por matriz e filial com login administrativo pertecente a sua matriz ou regional; Row Level Security (RLS) |
| Planos de Assinatura | Free, Starter (R$ 449/mês), Professional (R$ 999/mês), Enterprise (sob consulta) |
| Pagamentos | Stripe (internacional) + Mercado Pago (LATAM) com transparent checkout |
| Subdomínios | empresa.etivox.com.br por matriz; DNS próprio para Enterprise, sou link personalizado por matriz ou regional ou página unica de denúncias com dropdown para selecionar matriz ou regional da denúncia. |
| Limites por Plano | Analistas, denúncias/mês, categorias, e-mails/mês, relatórios IA, storage |
| Onboarding Self-Service | Cadastro autônomo com trial de 7 dias |
11. Requisitos de Infraestrutura
11.1 Requisitos Mínimos (Produção)
| Recurso | Especificação |
|---|
| Servidor | VPS ou cloud com Docker instalado |
| CPU | 8 vCPUs (recomendado: 16) |
| RAM | 16 GB (recomendado: 32 GB) |
| Disco | 100 GB SSD (recomendado: 200 GB) |
| SO | Linux (Ubuntu 22.04+ ou Debian 12+) |
| Docker | Docker Engine 24+ com Docker Compose v2 |
| Rede | Portas 80 e 443 abertas; domínio com DNS apontando para o servidor |
| SSL/TLS | Automático via Traefik + Let’s Encrypt |
11.2 Variáveis de Ambiente Obrigatórias
| Variável | Descrição |
|---|
POSTGRES_USER / POSTGRES_PASSWORD / POSTGRES_DB | Credenciais do banco de dados |
DATABASE_URL | String de conexão PostgreSQL |
JWT_SECRET_KEY | Chave para assinatura de tokens JWT (mín. 32 caracteres) |
OTP_ENCRYPTION_KEY | Chave Fernet para criptografia de segredos TOTP |
PII_ENCRYPTION_KEY | Chave Fernet para criptografia de PII |
REDIS_URL | String de conexão Redis |
MINIO_ROOT_USER / MINIO_ROOT_PASSWORD | Credenciais do armazenamento de objetos |
11.3 Variáveis Opcionais
| Variável | Descrição |
|---|
GEMINI_API_KEY / OPENAI_API_KEY | Chaves de API para triagem por IA |
AUTHENTICATION_API_KEY | Chave da Whatsapp API (WhatsApp) |
DIGITAL_CERT_PATH / DIGITAL_CERT_PASSWORD | Certificado PKCS#12 para assinatura digital de PDFs |
VAPID_PUBLIC_KEY / VAPID_PRIVATE_KEY | Chaves para Web Push Notifications |
ANONYMIZATION_RETENTION_DAYS | Dias até anonimização automática de PII (padrão: 365) |
12.1 Sobre a brcode solutions
12.2 Modelos de Contratação
| Modelo | Descrição |
|---|
| SaaS (Futuro) | Assinatura mensal/anual com planos escalonados (Free → Enterprise) |
| On-Premise | Deploy em infraestrutura do cliente com suporte dedicado |
| Consultoria | Implantação personalizada com customizações específicas |
12.3 Diferenciais Competitivos
| Diferencial | Descrição |
|---|
| Blockchain Real | Trilha de auditoria em smart contract EVM — não apenas log em banco |
| IA Integrada | Classificação automática + triagem investigativa — não requer analista especializado |
| Assinatura Digital | PDFs com assinatura PKCS#12/PAdES — peso jurídico real (ICP-Brasil) |
| Anonimização LGPD | Automática e configurável — compliance sem intervenção manual |
| 7 Idiomas Nativos | Interface traduzida em pt-BR, es, de, fr, it, ru, zh |
| White-Label Completo | Logomarca, favicon, cores, domínio — marca do cliente na plataforma |
| 176 Testes Automatizados | Cobertura total de API com pipeline CI/CD |
| Open Architecture | Stack 100% open-source (FastAPI, Next.js, PostgreSQL, Redis, MinIO) |
13. Contato
Para informações adicionais, demonstrações ou propostas comerciais:
14. Glossário
| Termo | Definição |
|---|
| LGPD | Lei Geral de Proteção de Dados (Lei nº 13.709/2018) |
| DPO | Data Protection Officer / Encarregado de Dados Pessoais |
| RIPD | Relatório de Impacto à Proteção de Dados Pessoais |
| ROPA | Record of Processing Activities / Registro de Atividades de Tratamento |
| PII | Personally Identifiable Information / Dados Pessoais Identificáveis |
| TOTP | Time-Based One-Time Password (2FA) |
| RBAC | Role-Based Access Control |
| SLA | Service Level Agreement |
| EVM | Ethereum Virtual Machine |
| CIPA | Comissão Interna de Prevenção de Acidentes |
| ICP-Brasil | Infraestrutura de Chaves Públicas Brasileira |
| PAdES | PDF Advanced Electronic Signatures |
| VAPID | Voluntary Application Server Identification (Web Push) |
Documento gerado com base na análise completa do sistema, documentação técnica e arquitetura da plataforma ETIVOX.
© 2026 brcode solutions. Todos os direitos reservados.