jira-ai-fixer/docs/aci-jira-ai-fixer-portal.md

559 lines
51 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ACI JIRA AI Fixer - Portal Administrativo
**Versão:** 1.0
**Data:** 2026-02-18
**Classificação:** Interno - Visão de Produto
---
## 1. Visão Geral
O Portal Administrativo do ACI JIRA AI Fixer é uma interface web moderna e intuitiva que permite gerenciar todas as configurações do sistema sem necessidade de alterar código ou arquivos de configuração manualmente.
### 1.1 Objetivos
- **Zero código** para configuração
- **Interface intuitiva** para empresas de médio/grande porte
- **Multi-tenant** para suportar múltiplas equipes
- **Auditoria completa** de todas as ações
- **SSO integrado** com provedores corporativos
---
## 2. Telas do Portal
### 2.1 Dashboard Principal
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ 🤖 ACI AI Fixer admin@aci.com ⚙️ 🔔 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │Dashboard│ │ Issues │ │ Código │ │ Config │ │ Logs │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ 📊 DASHBOARD │ │
│ │ │ │
│ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │
│ │ │ 12 │ │ 78% │ │ 2.3min │ │ │
│ │ │ Issues/mês │ │ Taxa Acerto │ │ Tempo Médio │ │ │
│ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │
│ │ │ │
│ │ 📈 Últimos 30 dias │ │
│ │ ████████████████████░░░░░░ 78% fixes aceitos │ │
│ │ │ │
│ │ ┌─ Atividade Recente ─────────────────────────────────────────┐ │ │
│ │ │ ✅ SUPPORT-4521 - Fix aceito há 2 horas │ │ │
│ │ │ ⏳ SUPPORT-4519 - Aguardando review há 5 horas │ │ │
│ │ │ ❌ SUPPORT-4515 - Fix rejeitado há 1 dia │ │ │
│ │ └─────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
**Métricas exibidas:**
- Issues processadas (dia/semana/mês)
- Taxa de acerto (fixes aceitos vs rejeitados)
- Tempo médio de análise
- Gráfico de tendência
- Atividade recente
---
### 2.2 Configurações - Integrações
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ ⚙️ CONFIGURAÇÕES > Integrações │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─ JIRA ────────────────────────────────────────────────────────────────┐ │
│ │ ✅ Conectado │ │
│ │ │ │
│ │ URL do Servidor │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ https://gojira.tsacorp.com │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ API Token │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ •••••••••••••••••••••••••••••••• 👁️ │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ Webhook URL (copie e configure no JIRA) │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ https://ai-fixer.aci.com/api/webhook/jira 📋 │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ Projetos Monitorados │ │
│ │ ☑️ ACQ - Acquirer ☑️ ICG - Interchange ☐ CORE - Core System │ │
│ │ │ │
│ │ [ 🔄 Testar Conexão ] │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─ Bitbucket ───────────────────────────────────────────────────────────┐ │
│ │ ✅ Conectado │ │
│ │ │ │
│ │ URL do Servidor │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ https://bitbucket.tsacorp.com │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ Access Token │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ •••••••••••••••••••••••••••••••• 👁️ │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ [ 🔄 Testar Conexão ] │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─ LLM Provider ────────────────────────────────────────────────────────┐ │
│ │ ✅ Azure OpenAI │ │
│ │ │ │
│ │ Provedor │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ Azure OpenAI ▼ │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ Opções: Azure OpenAI | OpenAI | OpenRouter (Free) | Self-hosted │ │
│ │ │ │
│ │ Endpoint │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ https://aci-openai.openai.azure.com │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ API Key │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ •••••••••••••••••••••••••••••••• 👁️ │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ Modelo │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ gpt-4o ▼ │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ [ 🔄 Testar Conexão ] │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─ Embeddings ──────────────────────────────────────────────────────────┐ │
│ │ ✅ Self-hosted │ │
│ │ │ │
│ │ Provedor │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ Self-hosted (MiniLM-L6) ▼ │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ Opções: Self-hosted | Azure OpenAI | OpenAI │ │
│ │ │ │
│ │ Para produção, recomendamos Azure OpenAI para compliance. │ │
│ │ │ │
│ │ [ 🔄 Testar Conexão ] │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ [ 💾 Salvar Tudo ] │
└─────────────────────────────────────────────────────────────────────────────┘
```
---
### 2.3 Gerenciamento de Repositórios
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ 📁 REPOSITÓRIOS [ + Adicionar ] │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌───────────────────────────────────────────────────────────────────────┐ │
│ │ 📦 ACQ-MF-safra-fork [ ⚙️ ] [ 🗑️ ]│ │
│ │ │ │
│ │ URL: bitbucket.tsacorp.com/projects/ACQ/repos/ACQ-MF-safra-fork │ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ Status │ ✅ Indexado │ │ │
│ │ │ Arquivos │ 2.847 arquivos indexados │ │ │
│ │ │ Última Sync │ 18/02/2026 11:30 │ │ │
│ │ │ Fork AI │ ACQ-MF-safra-ai ✅ │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ Linguagens detectadas: │ │
│ │ ████████████████████░░░░░░░░░░ COBOL 68% │ │
│ │ ██████░░░░░░░░░░░░░░░░░░░░░░░░ SQL 22% │ │
│ │ ███░░░░░░░░░░░░░░░░░░░░░░░░░░░ JCL 10% │ │
│ │ │ │
│ │ [ 🔄 Re-indexar Agora ] [ 📊 Ver Detalhes ] [ ⏰ Agendar Sync ] │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌───────────────────────────────────────────────────────────────────────┐ │
│ │ 📦 ICG-MF-safra-fork [ ⚙️ ] [ 🗑️ ]│ │
│ │ │ │
│ │ URL: bitbucket.tsacorp.com/projects/ICG/repos/ICG-MF-safra-fork │ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ Status │ ✅ Indexado │ │ │
│ │ │ Arquivos │ 1.923 arquivos indexados │ │ │
│ │ │ Última Sync │ 18/02/2026 11:30 │ │ │
│ │ │ Fork AI │ ICG-MF-safra-ai ✅ │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ [ 🔄 Re-indexar Agora ] [ 📊 Ver Detalhes ] [ ⏰ Agendar Sync ] │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
---
### 2.4 Editor de Regras de Negócio
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ 🧠 REGRAS DE NEGÓCIO [ + Novo Módulo ] │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ Módulos configurados: │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │Autoriz. │ │Clearing │ │HostComm │ │ Batch │ │
│ │ ● │ │ │ │ │ │ │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ │
│ ═══════════════════════════════════════════════════════════════════════ │
│ │
│ 📌 Módulo: Autorização │
│ │
│ ┌─ Descrição ───────────────────────────────────────────────────────────┐ │
│ │ Módulo de autorização de transações de cartão. Responsável pela │ │
│ │ validação, comunicação com HOST e geração de resposta. │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─ Programas Relacionados ──────────────────────────────────────────────┐ │
│ │ │ │
│ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │
│ │ │ ACQAUTH* ✕ │ │ ACQVALD* ✕ │ │ ACQHOST* ✕ │ [ + Adicionar ]│ │
│ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─ Keywords de Detecção ────────────────────────────────────────────────┐ │
│ │ │ │
│ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │
│ │ │autorização✕│ │ decline ✕ │ │código 51 ✕ │ │ timeout ✕ │ [+Add] │ │
│ │ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │ │
│ │ │ │
│ │ Quando uma issue contém essas palavras, o sistema associa │ │
│ │ automaticamente ao módulo de Autorização. │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─ Regras de Contexto (instruções para a IA) ───────────────────────────┐ │
│ │ │ │
│ │ 📋 Regra 1 [ ✏️ ] [ 🗑️ ]│ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ Transações acima de R$ 10.000 requerem validação adicional no │ │ │
│ │ │ programa ACQVALD através da SECTION 5000-VALIDATE-HIGH-VALUE │ │ │
│ │ │ antes de enviar ao HOST. │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ 📋 Regra 2 [ ✏️ ] [ 🗑️ ]│ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ Códigos de resposta seguem padrão ISO 8583: │ │ │
│ │ │ - 00: Aprovada │ │ │
│ │ │ - 51: Saldo insuficiente (verificar WS-AVAILABLE-BALANCE) │ │ │
│ │ │ - 14: Cartão inválido │ │ │
│ │ │ - 91: Emissor indisponível │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ 📋 Regra 3 [ ✏️ ] [ 🗑️ ]│ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ O campo WS-AVAILABLE-BALANCE deve ter PIC 9(11)V99 para │ │ │
│ │ │ compatibilidade com o retorno do HOST. Verificar se não há │ │ │
│ │ │ truncamento em comparações. │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ [ + Adicionar Nova Regra ] │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─ Restrições (arquivos que a IA NÃO pode alterar) ─────────────────────┐ │
│ │ │ │
│ │ ┌────────────────┐ ┌────────────────┐ │ │
│ │ │ /interfaces/* ✕│ │ /copybooks/HOST* ✕│ [ + Adicionar ]│ │
│ │ └────────────────┘ └────────────────┘ │ │
│ │ │ │
│ │ ⚠️ Arquivos nestas pastas serão apenas analisados, nunca alterados. │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ [ Cancelar ] [ 💾 Salvar Módulo ] │
└─────────────────────────────────────────────────────────────────────────────┘
```
---
### 2.5 Visualização de Issues
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ 📋 ISSUES ANALISADAS │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 🔍 Buscar... Status: [ Todos ▼ ] [ 📅 Período ] │
│ │
│ ┌───────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ ┌─ SUPPORT-4521 ──────────────────────────────────────────────────┐ │ │
│ │ │ │ │ │
│ │ │ Transação declinada código 51 com saldo disponível │ │ │
│ │ │ │ │ │
│ │ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │ │
│ │ │ │ ✅ Aceito │ │ 🎯 87% │ │ ⏱️ 2m 34s │ │ 📁 1 arquivo│ │ │ │
│ │ │ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │ │ │
│ │ │ │ │ │
│ │ │ Módulo: Autorização Criado: 18/02/2026 09:15 │ │ │
│ │ │ │ │ │
│ │ │ [ 👁️ Ver Análise Completa ] [ 📝 Ver PR ] [ 🔗 Abrir JIRA ] │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ ┌─ SUPPORT-4519 ──────────────────────────────────────────────────┐ │ │
│ │ │ │ │ │
│ │ │ Erro de formatação no arquivo de clearing │ │ │
│ │ │ │ │ │
│ │ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │ │
│ │ │ │ ⏳ Review │ │ 🎯 72% │ │ ⏱️ 3m 12s │ │ 📁 2 arquivos│ │ │ │
│ │ │ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │ │ │
│ │ │ │ │ │
│ │ │ Módulo: Clearing Criado: 18/02/2026 06:45 │ │ │
│ │ │ │ │ │
│ │ │ [ 👁️ Ver Análise Completa ] [ 📝 Ver PR ] [ 🔗 Abrir JIRA ] │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ ┌─ SUPPORT-4515 ──────────────────────────────────────────────────┐ │ │
│ │ │ │ │ │
│ │ │ JCL falhando com código de retorno 12 │ │ │
│ │ │ │ │ │
│ │ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │ │
│ │ │ │ ❌ Rejeitado│ │ 🎯 45% │ │ ⏱️ 4m 01s │ │ 📁 1 arquivo│ │ │ │
│ │ │ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │ │ │
│ │ │ │ │ │
│ │ │ Motivo: "Análise incorreta do dataset PROD.CLEARING.INPUT" │ │ │
│ │ │ │ │ │
│ │ │ [ 👁️ Ver Análise ] [ 🔄 Re-analisar ] [ 🔗 Abrir JIRA ] │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ Mostrando 1-10 de 47 issues [ ← Anterior ] [ Próximo → ] │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
---
### 2.6 Detalhes da Análise
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ 👁️ ANÁLISE: SUPPORT-4521 [ ← Voltar]│
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─ Informações da Issue ────────────────────────────────────────────────┐ │
│ │ │ │
│ │ Título: Transação declinada código 51 com saldo disponível │ │
│ │ Status: ✅ Fix Aceito │ │
│ │ Confiança: 87% │ │
│ │ Tempo de análise: 2 minutos 34 segundos │ │
│ │ Analisado em: 18/02/2026 09:17:34 │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─ Descrição Original ──────────────────────────────────────────────────┐ │
│ │ │ │
│ │ Cliente Safra reporta que transações estão sendo declinadas com │ │
│ │ código 51 (saldo insuficiente) mesmo quando o cliente possui saldo │ │
│ │ disponível. Ocorre em transações acima de R$ 100.000,00. │ │
│ │ │ │
│ │ Stack trace: │ │
│ │ ACQAUTH - SECTION 3000-VALIDATE - EVALUATE WS-RESPONSE-CODE │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─ Análise da IA ───────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 🔍 CAUSA RAIZ IDENTIFICADA │ │
│ │ │ │
│ │ O programa ACQAUTH.CBL está comparando o campo WS-AVAILABLE-BALANCE │ │
│ │ com formato PIC 9(9)V99 (máximo 9.999.999,99), mas o valor │ │
│ │ retornado do HOST usa PIC 9(11)V99 (máximo 999.999.999,99). │ │
│ │ │ │
│ │ Isso causa truncamento em valores acima de R$ 100.000,00, │ │
│ │ fazendo com que o saldo apareça como insuficiente. │ │
│ │ │ │
│ │ 📁 ARQUIVOS AFETADOS │ │
│ │ • src/cobol/ACQAUTH.CBL (linhas 1234-1256) │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─ Correção Proposta ───────────────────────────────────────────────────┐ │
│ │ │ │
│ │ ```cobol │ │
│ │ * ANTES (linha 1234) │ │
│ │ 05 WS-AVAILABLE-BALANCE PIC 9(9)V99. │ │
│ │ │ │
│ │ * DEPOIS │ │
│ │ 05 WS-AVAILABLE-BALANCE PIC 9(11)V99. │ │
│ │ ``` │ │
│ │ │ │
│ │ Também ajustar a SECTION 3000-VALIDATE para usar o novo tamanho. │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─ Links ───────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 🔗 Issue no JIRA: gojira.tsacorp.com/browse/SUPPORT-4521 │ │
│ │ 📝 Pull Request: bitbucket.tsacorp.com/.../pull-requests/142 │ │
│ │ 💬 Comentário IA: Ver no JIRA │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ [ 🔄 Re-analisar ] [ 📥 Exportar PDF ] │
└─────────────────────────────────────────────────────────────────────────────┘
```
---
## 3. Stack Tecnológico do Portal
### 3.1 Frontend
```yaml
Framework: React 18 + TypeScript
Estilização: Tailwind CSS + shadcn/ui
Componentes:
- Tabelas com ordenação e filtros
- Formulários com validação
- Gráficos (Recharts)
- Editor de código (Monaco Editor)
- Notificações toast
State Management: React Query + Zustand
Roteamento: React Router v6
Build: Vite
```
### 3.2 Backend (API)
```yaml
Framework: FastAPI (Python 3.11+)
Documentação: OpenAPI/Swagger automático
Autenticação: JWT + OAuth2/OIDC
Rate Limiting: slowapi
Validação: Pydantic v2
```
### 3.3 Banco de Dados
```yaml
Principal: PostgreSQL 15+
Cache: Redis 7+
Vector DB: Qdrant (embeddings)
Migrations: Alembic
```
### 3.4 Autenticação
```yaml
Opções suportadas:
- Azure AD (SAML/OIDC)
- Okta
- Google Workspace
- Email/Senha com MFA (TOTP)
Permissões (RBAC):
- Admin: Acesso total
- Editor: Configura regras, visualiza tudo
- Viewer: Apenas visualização
- API: Apenas acesso programático
```
---
## 4. Facilidade de Configuração
| Ação | Método | Tempo |
|------|--------|-------|
| Conectar JIRA | Colar URL + Token | 2 minutos |
| Conectar Bitbucket | Colar URL + Token | 2 minutos |
| Trocar provedor LLM | Selecionar no dropdown | 30 segundos |
| Adicionar repositório | Colar URL + Configurar fork AI | 5 minutos |
| Criar regra de negócio | Editor visual | 5-10 minutos |
| Adicionar restrição | Digitar path | 30 segundos |
| Ver logs | Clicar na aba | Imediato |
| Exportar relatório | Botão "Exportar" | Imediato |
**Princípio: Zero código para qualquer configuração.**
---
## 5. Multi-Tenant (Múltiplas Empresas)
O portal suporta múltiplos tenants isolados:
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ ARQUITETURA MULTI-TENANT │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ Tenant: ACI Safra Tenant: ACI Itaú │
│ ┌─────────────────────────┐ ┌─────────────────────────┐ │
│ │ - Repos Safra │ │ - Repos Itaú │ │
│ │ - Regras Safra │ │ - Regras Itaú │ │
│ │ - Usuários Safra │ │ - Usuários Itaú │ │
│ │ - Logs isolados │ │ - Logs isolados │ │
│ └─────────────────────────┘ └─────────────────────────┘ │
│ │ │ │
│ └────────────────┬───────────────────┘ │
│ │ │
│ ┌──────────▼──────────┐ │
│ │ Infraestrutura │ │
│ │ Compartilhada │ │
│ │ (LLM, Embeddings) │ │
│ └─────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
**Isolamento garantido:**
- Dados de um tenant nunca visíveis para outro
- Configurações independentes
- Billing separado (se aplicável)
- Audit logs por tenant
---
## 6. Responsividade
O portal é responsivo e funciona em:
| Dispositivo | Suporte |
|-------------|---------|
| Desktop (1920px+) | ✅ Otimizado |
| Laptop (1366px) | ✅ Otimizado |
| Tablet (768px) | ✅ Adaptado |
| Mobile (375px) | ⚠️ Visualização apenas |
---
## 7. Acessibilidade
- Navegação por teclado completa
- Compatível com leitores de tela (ARIA)
- Contraste adequado (WCAG 2.1 AA)
- Textos redimensionáveis
---
## 8. Próximos Passos
1. **Fase 1:** Portal básico com Dashboard e Configurações
2. **Fase 2:** Editor de regras de negócio
3. **Fase 3:** Multi-tenant e SSO
4. **Fase 4:** Relatórios avançados e exportação
5. **Fase 5:** API pública para integrações
---
**Documento preparado para apresentação de produto.**