O modelo
O acesso é baseado em capabilities (permissões granulares, ex.: finance.view, clinical.approve). Um papel é um conjunto de capabilities. Cada usuário recebe um papel e, se preciso, exceções.
Permissões efetivas = (capabilities do papel) + concessões − revogações.
Papéis padrão
- Administrador / Dono(a): acesso total; enxergam todas as unidades (visão consolidada).
- Veterinário(a)/Médico(a): clínico + operacional, sem gestão de negócio.
- Equipe: operacional e leitura clínica.
- Cliente: portal próprio, sem acesso ao painel.
Você pode criar papéis e ajustá-los sem deploy — o mapa papel→permissões é dinâmico.