Projetos / Projetos de Engenharia / PRJ-003
Tribuna Sicura
Plataforma segura para escritórios de advocacia criarem, assinarem, armazenarem e compartilharem documentos jurídicos sensíveis — estágio inicial
Tribuna Sicura é uma plataforma para escritórios de advocacia e departamentos jurídicos criarem, assinarem, armazenarem e compartilharem documentos jurídicos sensíveis com controle rigoroso de acesso. O fluxo pretendido começa no Microsoft Word e termina em um PDF criptografado, assinado com certificado ICP-Brasil (PAdES) e aberto apenas no leitor seguro da plataforma.
É um projeto pessoal em estágio inicial. Só o núcleo de domínio existe até agora, e todo o resto é planejado. Deixo esse estado explícito em vez de descrever o produto como se estivesse pronto.
Meu papel
Autor e mantenedor. Projeto o domínio, escrevo as especificações e implemento o código.
Estado atual
| Área | Estado |
|---|---|
| Núcleo de domínio e isolamento de tenant (organização, usuário, vínculo, documento) | Implementado, com testes |
| Autenticação, 2FA e sessões | Planejado |
| Add-in do Word e exportação segura de PDF | Planejado |
| Cofre de chaves e certificados, assinatura PAdES | Planejado |
| Leitor web seguro | Planejado |
| Compartilhamento interno e por link temporário | Planejado |
| Trilha de auditoria | Planejado |
Princípios de segurança
Confidencialidade, integridade, autorização explícita, isolamento entre organizações e auditabilidade. Segredos criptográficos nunca vão para o cliente, para os logs nem para dentro do PDF.
O que existe hoje: isolamento de tenant no domínio
Todo caso de uso recebe um contexto de tenant formado por organização, usuário e vínculo. As consultas aos repositórios são restritas por organização. Criar um documento, por exemplo, verifica antes que o vínculo existe, está ativo e pertence tanto à organização quanto ao usuário do contexto, e que a própria organização está ativa.
Arquitetura
O código segue portas e adaptadores. O domínio é dividido em model, port e usecase; os repositórios são interfaces, e os testes usam implementações em memória junto com testes de contrato compartilhados, para que um repositório real futuro seja verificado pelas mesmas regras. A stack é Kotlin 2.4 na JVM, com Maven e JUnit 5. Ainda não há frameworks de aplicação nem de persistência, porque essas decisões continuam em aberto.
Práticas de engenharia
- Especificação primeiro. As mudanças são propostas com OpenSpec (proposta, design, tarefas e deltas de especificação) antes de serem implementadas. A primeira é a
01-core-domain-tenant. - Testes. Sete arquivos de teste cobrem invariantes das entidades, casos de uso e contratos dos repositórios.
- Regras para agentes de IA. O repositório tem um
AGENTS.mdcom convenções de segurança, de fluxo e de Kotlin. - Licenciamento. AGPL-3.0 com acordo de licença de contribuidor; licença comercial disponível sob consulta.