Plataforma operacional com web, API REST e aplicativo mobile. Multi-tenant, multi-perfil, com cadeia de custódia SHA-256 verificável e dados reais semeados para demonstração.
16 usuários reais semeados no banco cobrem todos os 12 papéis (3 globais + 9 de tenant). O controle de acesso (RBAC) define exatamente o que cada perfil enxerga.
| Papel Efetivo | Onde atua |
|---|---|
| Admin Global | /tenants · /audit · /whatsapp |
| Operador | /dashboard inteligência (gerencia tudo, exceto remover Admin) |
| Gestora ONG | /patinhas-cerrado/dashboard · /casos · /animais · /doacoes (com saldo + aprovar) |
| Voluntário | App MEL Campo (mobile/web) · registro de resgates |
| Veterinária | /patinhas-cerrado/prontuarios · /vacinas · /laudos |
| Promotor MP | /evidencias · /custodia · /dossies · /verificacao (cadeia SHA-256) |
| Polícia Ambiental | /dashboard inteligência · /mapa · /hotspots |
| Conselheira | /dashboard agregado cross-tenant (somente leitura) |
| Doador | /patinhas-cerrado/doar · transparência pública |
Total de usuários no banco: 16. Papéis globais: 3 (ADMIN, OPERATOR, USER). Papéis de tenant: 9 (ADMIN, ONG_MANAGER, VOLUNTEER, VETERINARIAN, GOVERNMENT, PROSECUTOR, POLICE, COUNCIL, DONOR).
Tudo abaixo é verificável via psql direto no Postgres. Não é mock — são registros reais com integridade SHA-256 encadeada e PDFs gerados em disco.
GET /donations/balancePATCH /donations/:id/statusstorage/dossiers/<tenant>/<case>/dossie-completo.pdf)IntegrityBlock com SHA-256 encadeadoGET /legal/cases/:id/verify → todas íntegrasGET /legal/cases/:id/dossier/downloadLista exata dos controllers expostos pela API NestJS. Cada um com auth JWT + RBAC + multi-tenant via interceptor.
/admin/expo-tunnel (URL dinâmica do app)Schema relacional normalizado em PostgreSQL 16 + PostGIS. Multi-tenant por tenantId (UUID) com isolamento via interceptor.
ONGs cadastradas. CNPJ, cor, slug, status. 6 registros.
Usuário global com bcrypt 12 rounds. 16 registros.
Membership N:N usuário↔ONG com TenantRole.
Animais resgatados com fotos georreferenciadas. 93 animais.
Caso de resgate com state machine de 8 estados. 52 casos.
Prontuário clínico imutável. 30 prontuários · 29 vacinas.
Processo de adoção com triagem. 9 concluídas.
Lares temporários. 4 cadastros.
Evidência jurídica com fileHash + integrityHash. 203 registros.
Cadeia de custódia. 144 transferências.
Dossiê PDF gerado. 52 PDFs em disco.
Blockchain lógico SHA-256. 412 blocos.
Doações + prestação de contas. 79 doações.
Conta bancária por ONG.
In-app, email, WhatsApp. 35 registros.
Auditoria de mutações. 3.300+ logs.
Tokens rotativos hashados.
Cada evidência, custódia e dossiê é selado com hash encadeado ao bloco anterior. Adulteração quebra a cadeia e fica detectável.
Replicada exatamente entre IntegrityService (production), prisma/seed_legal.ts e o endpoint de verificação.
hash = SHA-256(
sequence | entityType | entityId |
sortedJSON(payload) | prevHash | timestamp.toISOString()
)
Verificação ao vivo:
GET /api/v1/legal/cases/:caseId/verify
{
"allValid": true,
"chains": {
"evidence": { "valid": true },
"custody": { "valid": true },
"dossier": { "valid": true }
},
"entityVerifications": [...]
}
Sem dependência de fornecedores proprietários. Pronta para deploy on-premise no datacenter do GDF ou nuvem soberana.
Aderência ao arcabouço jurídico brasileiro de proteção de dados, transparência, bem-estar animal e governança digital.
Anonimização de dados pessoais nos canais públicos, audit log com IP/UA, consentimento explícito e direito ao esquecimento.
Portal de transparência ativa em /transparencia sem necessidade de login. Indicadores em tempo real.
Cadeia de custódia digital SHA-256 idônea para subsidiar denúncias formais ao Ministério Público.
Apoio à aplicação da lei que aumentou penas por maus-tratos contra cães e gatos.
Modelo multi-tenant respeita autonomia das ONGs. Isolamento técnico por tenant via interceptor.
Contraste mínimo de 4.5:1. Navegação por teclado. Semantic HTML. Compatível com leitores de tela.
A plataforma já está em pé, com dados reais e fluxos validados ponta-a-ponta. O time técnico do GDF pode acessar agora mesmo via os links acima e validar cada perfil.
Solicitar Demonstração Técnica