Ponto Eletrônico
Três formas de bater ponto convivem no Nodus: REP-A mobile com reconhecimento facial, agente Python pra relógios Control iD na rede da empresa, e batida manual via Portal. Tudo entra na mesma timeline e gera os mesmos relatórios.
REP-A Mobile (Portaria 671/2024)
O REP-A é o ponto eletrônico legal homologado, executado direto no celular do colaborador. Não precisa de relógio físico. Cada batida combina:
Face matching local (face-api.js) — score ≥0.7 contra o descriptor cadastrado.
GPS validado contra lat/lng + raio da filial onde a pessoa trabalha.
Pareamento do celular gera token HMAC; sem ele, batida é rejeitada.
Face descriptor (128-d vector) armazenado em AES-256-CBC.
Como o colaborador cadastra o rosto
- Recebe link de pareamento via email/WhatsApp.
- Abre no celular → autoriza câmera e localização.
- Tira 3 selfies em ângulos diferentes (frontal, leve esquerda, leve direita).
- Sistema gera o face descriptor e armazena criptografado.
- Próxima batida: 1 selfie + match local → registro em
ponto_batidas.
Como o admin habilita
Menu Jornada Facial → painel "Quem tem acesso à Jornada Facial". Toggle por colaborador, ou botão Habilitar todos visíveis em batch. Filtros: todos / habilitados / aguardando cadastro / rosto cadastrado.
Geofencing por filial
Cada unidade tem coordenadas e raio configuráveis (default 50m). Se o colab tenta bater ponto fora do raio, o sistema:
- Rejeita a batida
- Pede justificativa (atraso por trânsito, atendimento externo, etc)
- Registra como "batida fora de área" pendente de aprovação do gestor
Pra configurar: ⚙️ Sistema → Unidades → editar filial → seção Geofencing. Coloque lat/lng do estabelecimento e raio. Teste no mapa antes de salvar.
Agente Python (Control iD)
Se a empresa já tem relógio Control iD instalado, o Nodus oferece um agente Python que roda na rede local da empresa. O agente:
- Conecta no relógio Control iD via API local.
- Lê batidas novas a cada N minutos (configurável).
- Empurra pra
?action=ponto_agent_pushusando headerX-Agent-Token. - Bate heartbeat em
?action=ponto_agent_heartbeatpra mostrar online.
Configurar o agente: download em ⚙️ Sistema → Auditoria → painel "Agente Ponto". O token é gerado lá. Coloca em variável de ambiente do agente, roda como serviço Windows/Linux.
Anomalias detectadas automaticamente IA
Diariamente o sistema cruza batidas com escala esperada e marca como anomalia:
- Falta sem atestado nem férias
- Atraso recorrente (3+ vezes no mês)
- Hora extra não autorizada
- Batida fora de área sem justificativa
- Esquecimento de batida (entrada sem saída)
O gestor recebe a lista no card de anomalias. Cada item tem botão 🤖 1:1 que gera um roteiro de conversa via IA pra abordar o assunto com o colaborador — perguntas sugeridas, tom, ações esperadas.
Gestor de setor só vê anomalias dos subordinados diretos dele. Validado em cada chamada — admin/gestor_rh têm visão global.
Relatórios e exportações
Menu 📊 Análises → Relatórios → Folha de Ponto:
- Espelho de ponto individual (PDF) com todas batidas do período
- Resumo do mês (banco de horas, faltas, atrasos, HE)
- Export AFD (Arquivo Fonte de Dados) — formato legal pra fiscalização
- Relatório de geofencing (batidas dentro/fora de área)
Retenção LGPD: selfies brutas são deletadas após 90 dias (cron biometria_retencao_cron). Face descriptors são desativados 30 dias após desligamento.