Source-available e versionado com o Midaz
O plugin CRM é Código Aberto, não requer licença e é mantido no mesmo repositório que o Midaz. Sua versão sempre corresponde à versão do Midaz Core (por exemplo, Midaz
v3.5.0 → CRM v3.5.0).
Embora versionados juntos, o CRM é implantado de forma independente e pode ser habilitado ou omitido dependendo do seu caso de uso.
Por que usar o CRM?
As contas do ledger do Midaz são genéricas por design, construídas para serem orientadas a transações e agnósticas em relação ao domínio. O plugin CRM entra em cena para adicionar significado a essas contas, vinculando cada uma a perfis detalhados de usuários e contextos de negócio. Por ser opcional e implantável de forma independente, o CRM pode ser adotado incrementalmente — apenas quando seu caso de uso requer metadados de clientes ou negócios além do ledger.
Exemplos de casos de uso
- Banking (pessoas físicas e jurídicas): O CRM armazena identificadores como CPF ou CNPJ, endereço, dados de contato ou números de conta, enquanto o Midaz lida com a mesma lógica transacional exata para ambos os tipos de cliente.
- Cadeias de suprimento (fornecedor, fábrica, varejista): O CRM rastreia metadados como IDs de fornecedores, localizações de armazéns ou informações contratuais. Esses dados não pertencem à transação em si, mas são essenciais para decisões de negócio.
Entidades
O CRM gira em torno de duas entidades principais:
- Holder – A entidade principal no CRM, representando a persona associada a uma conta do ledger no Midaz. Ela armazena atributos relacionados à identidade e características individuais.
- Alias Account – Define o contexto de negócio associado a uma Conta do Ledger no Midaz Ledger, incluindo detalhes financeiros como informações de conta bancária.

Princípios de design
O plugin CRM foi construído para:
- Separação de responsabilidades: Mantém dados de perfil de usuário fora da lógica transacional.
- Desempenho do sistema: Nenhuma orquestração a nível de usuário dentro dos serviços core do Midaz.
- Flexibilidade de implantação: Pode ser habilitado, escalado ou omitido independentemente do ledger.
- Limites claros de domínio: Evolui junto com o Midaz sem acoplamento com os internos do ledger.
O CRM não valida regras a nível de ledger ou processos de conformidade como KYC. É uma camada de dados neutra e persistente projetada para máxima interoperabilidade.
Comportamento da API
O CRM é implementado como uma API de registro independente. Ele fornece persistência e acesso estruturado a dados não-transacionais vinculados a contas no Midaz.
- Ele não aplica validações como status do usuário, perfil de risco ou verificação de documentos.
- É agnóstico em relação ao ativo, ledger ou lógica de agrupamento usada nas contas do Midaz.
- Garante acesso consistente aos metadados do titular sem poluir a camada transacional.
Segurança e conformidade
A Lerian fornece o Midaz e seus plugins como componentes on-premise — o que significa que você mantém o controle da sua infraestrutura, políticas de conformidade e ciclo de vida dos dados dos usuários. Mesmo sendo Código Aberto e livre de licença, o CRM segue os mesmos padrões de segurança do restante da plataforma Midaz:
- Dados em trânsito são criptografados usando protocolos padrão da indústria.
- Dados em repouso são protegidos por criptografia e controles de acesso granulares.
O gerenciamento de chaves de criptografia é responsabilidade do cliente. Recomendamos fortemente o uso de serviços de gerenciamento de secrets para armazenar, rotacionar e controlar o acesso às chaves.
Estratégias de exclusão de dados
Na Lerian, levamos a propriedade de dados a sério. Por isso, o plugin CRM oferece controle total sobre como as informações são removidas, com duas opções integradas:
- Soft delete (padrão): O registro permanece no banco de dados, mas é marcado como excluído. Isso é útil se você precisar manter uma trilha de auditoria ou recuperar informações posteriormente.
- Hard delete: Se sua política interna exigir remoção completa, você pode usar um comando específico para excluir os dados permanentemente — sem recuperação.
Controle de acesso
Precisa restringir quem pode acessar seus dados do CRM? Você pode habilitar nosso plugin Access Manager para ajudar a restringir quem tem acesso aos dados.
Habilitando o Access Manager
Para habilitar o controle de acesso, primeiro certifique-se de que o Access Manager está instalado. Em seguida, abra o arquivo.env localizado na raiz da pasta do CRM usando qualquer editor de texto e defina as seguintes variáveis de ambiente:

