Contexto do sistema (C4 nível 1)¶
flowchart TB
subgraph Pessoas
U1["Usuário da garantidora\n(ADMIN_TENANT, ANALYST,\nOPERATOR, VIEWER)"]
U2["Usuário de imobiliária\n(AGENCY_USER, AGENCY_MANAGER)"]
U3["Admin da plataforma\n(ADMIN_GLOBAL)"]
end
G["Garantora\n(SaaS de gestão de\ngarantias imobiliárias)"]
U1 -->|"opera análises, garantias,\ncobranças, acertos, cadastros"| G
U2 -->|"origina inquilino/imóvel, acompanha\nanálise, declara pagamentos do acerto,\no responsável administra a equipe da imobiliária"| G
U3 -->|"administra garantidoras, convites,\ncatálogo de consultas, plataforma"| G
G -->|"e-mail transacional\n(convite, recuperação de senha,\nverificação)"| MAIL["Servidor de e-mail\n(Mailpit em dev, AWS SES em produção)"]
G -->|"consultas de crédito\n(bureaus via API Full),\nextrato de créditos"| APIFULL["API Full\n(api.apifull.com.br)"]
G -->|"endereço por CEP"| VIACEP["ViaCEP"]
G -.->|"assinatura digital + biometria\n(planejado — não integrado)"| AUT["Autentique"]
G -.->|"emissão de boleto\n(planejado — não integrado)"| BOL["Emissor de boleto"] Integrações que existem hoje:
- API Full (specs 0050 e 0052) — a garantidora cadastra o próprio token da API Full (guardado cifrado, por tenant), e as consultas de crédito do inquilino (Boa Vista, Quod, Cadin, Protesto Nacional, SCR, dados financeiros) são feitas por ela, fora da requisição, pelo worker da fila. O mesmo worker sincroniza diariamente o extrato de créditos de cada garantidora. Há um modo sandbox que devolve respostas fixas, sem gastar crédito.
- E-mail — envio SMTP. Em local e no dev-remote vai para um Mailpit; em produção, para o AWS SES (configuração em
infra/prd/.env.example). - ViaCEP — preenchimento de endereço a partir do CEP (
/api/v1/cep).
Linhas tracejadas marcam integrações previstas pelo contrato de negócio mas ainda não implementadas — ver o roadmap, seção "❌ Ausente" (emissão de boleto e assinatura eletrônica). Hoje "boleto" existe só como rótulo de canal da cobrança, e o pagamento é registrado à mão (com o comprovante anexável à cobrança); a assinatura da garantia é registrada no sistema com o documento assinado fora dele. Não inventar detalhe de protocolo para elas até existirem de fato.
O sistema é multi-tenant: cada garantidora é um tenant lógico isolado dentro da mesma instalação — não há um deploy por cliente. Dentro de cada garantidora, a imobiliária parceira é um segundo eixo de escopo: o usuário de imobiliária só enxerga o que é da própria imobiliária (ver data-model.md).