PROVA COM MONITORAMENTO E ANTI-FRAUDE Sistema de Monitoramento e Reconhecimento Facial O que é? O sistema de Monitoramento e Reconhecimento Facial é um módulo de fiscalização de provas online (também conhecido no mercado como proctoring ). Ele foi construído do zero e integrado diretamente à plataforma, com o objetivo de garantir a integridade das provas realizadas remotamente , assegurando que o aluno que está fazendo a prova é realmente quem diz ser, e que não está cometendo irregularidades durante a realização. O sistema opera em duas frentes complementares: Verificação de identidade — antes da prova começar, o aluno precisa tirar uma selfie que é comparada automaticamente com a foto do documento cadastrado no sistema (RG, CNH, selfie cadastrada, passaporte). Essa comparação usa reconhecimento facial rodando diretamente no navegador do aluno via face-api.js , sem precisar enviar a imagem para um serviço externo de IA. Para contextos mais rápidos e menos burocráticos, temos a validação rápida, onde não há a necessidade de ter documentos do usuario na base. Nesta modalidade, é tirada uma foto do usuário no início da prova e os snapshots ao decorrer da avaliaçao. Monitoramento durante a prova — ao longo de toda a realização, o sistema fica em segundo plano capturando fotos periódicas (snapshots) em momentos aleatórios e registrando comportamentos suspeitos como troca de aba, janela minimizada, cópia e cola, múltiplos rostos na câmera, ausência de rosto e iluminação baixa. Por que foi criado? Em contextos de ensino a distância, a maior vulnerabilidade de uma avaliação é a impossibilidade de verificar fisicamente quem está do outro lado. Sem algum mecanismo de fiscalização, qualquer pessoa poderia fazer a prova no lugar do aluno, usar materiais não permitidos livremente ou ter ajuda de terceiros. O sistema resolve esse problema de forma automatizada e não intrusiva — o aluno não precisa instalar nada, tudo funciona no próprio navegador, e a experiência de prova não é interrompida mesmo quando há alertas ou quando a verificação de identidade vai para revisão manual. Como funciona — passo a passo Etapa 1 — Configuração pelo administrador Antes de qualquer coisa, o monitoramento precisa ser habilitado no simulado pelo administrador ou professor. As configurações disponíveis são: Ativar/desativar o monitoramento para aquele simulado específico Modo de operação: simplificado (só captura a selfie, sem comparação) ou completo (com reconhecimento facial e comparação com documento) Quantidade de snapshots durante a prova (de 1 a 10, padrão 5) Rigor de confiança — o nível mínimo de similaridade facial para aprovar automaticamente (valor entre 0 e 1, onde menor = mais rígido) Exigir revisão manual — se ativo, mesmo que a comparação passe no rigor, a sessão ainda vai para fila de revisão humana Observacoes importantes: Para a verificação completa funcione, precisa ter grupo de documentos vinculados ao curso onde será realizado a prova e o usuário precisa ao menos ter feito um upload desses documentos : Foto Selfie (mais recomendada, nível de verificação mais acertivo e margem de erro menor), CNH, RG ou Passaporte. Na criação dos Simulados, precisa haver a configuracão de Tempo em minutos, pois o sistema de fotos se baseia nele para organizar de forma aleatória as fotos durante a execução da prova. O arquivo do documento enviado pelo usuário tem que ser formato foto(JPEG ou PNG), pois o FaceApi (biblioteca que usamos para reconhecimento facial), não consegue acessar arquivos pdf. Etapa 2 — Consentimento LGPD Antes de qualquer captura de dado biométrico, o aluno precisa aceitar explicitamente o Termo de Consentimento LGPD . Esse aceite é registrado no banco com: IP do aluno no momento do aceite User-Agent do navegador (dispositivo e versão) Timestamp exato Esse registro existe para garantir conformidade legal — o sistema coleta dados biométricos (imagem do rosto), que são considerados dados sensíveis pela LGPD, e exige que haja evidência documental do consentimento informado do titular. Etapa 3 — Verificação de identidade (selfie inicial) Com o consentimento registrado, o sistema ativa a câmera do aluno e solicita que ele tire uma selfie. O que acontece nesse momento: O face-api.js (rodando no navegador, via WebGL/GPU) detecta se há exatamente um rosto enquadrado Quando o rosto é detectado com qualidade suficiente, a foto pode ser registrada. A selfie é enviada ao sistema junto com os dados da comparação facial: face_match_distance (distância euclidiana entre dois rostos) e  face_match_confidence (percentual de confiança) O sistema cria a seção de procuradoria e determina o status inicial: auto_approved — passou no rigor, sem revisão manual exigida pending_review — não passou no rigor ou o simulado exige revisão manual Importante: independente do resultado , o aluno pode prosseguir com a prova. O sistema nunca bloqueia o acesso — ele apenas registra e sinaliza para revisão posterior. O documento usado para comparação é selecionado de forma inteligente com base em uma hierarquia de prioridade: Prioridade Tipo Rigor 1º Selfie cadastrada Menos permissivo e mais confiável para o algoritimo, pois compara face x face diretamente (Recomendado) 2º RG Mais permissivo, pois considera que a foto pode ter caracteristicas que hoje a pessoa nao tem mais 3º CNH Mais permissivo, pois considera que a foto pode ter caracteristicas que hoje a pessoa nao tem mais 4º Passaporte Mais permissivo, pois considera que a foto pode ter caracteristicas que hoje a pessoa nao tem mais 5º Outro documento com foto Mais permissivo, pois considera que a foto pode ter caracteristicas que hoje a pessoa nao tem mais Etapa 4 — Monitoramento durante a prova Assim que o aluno começa a prova, dois mecanismos entram em operação simultaneamente e silenciosamente: Snapshots periódicos: O sistema gera uma lista de momentos aleatórios dentro da duração total da prova (ex: em uma prova de 60 minutos com 5 snapshots configurados, os momentos podem ser 8min, 19min, 31min, 44min e 56min — nunca no início nem no fim do bloco para não ser previsível). Em cada momento programado, o sistema captura uma foto via câmera e analisa: Quantos rostos estão visíveis Nível de iluminação Se o browser está ativo Eventos comportamentais: O sistema monitora em tempo real e registra imediatamente quando: O aluno troca de aba ou minimiza o navegador ( tab_switch ) A janela perde foco ( window_blur ) O aluno sai do modo tela cheia ( fullscreen_exit ) Há tentativa de copiar ou colar conteúdo ( copy_paste ) Cada evento e snapshot incrementa contadores na sessão ( alerts_tab_switch , alerts_no_face , alerts_multiple_faces , alerts_low_light , alerts_window_blur , total_snapshots ). Etapa 5 — Encerramento da sessão Quando o aluno finaliza a prova, a sessão de monitoramento é encerrada. Nesse momento o sistema executa a auto-validação inteligente : se o total de alertas for menor ou igual 5 (margem de erro segura do algoritimo), a prova é validada automaticamente pelo sistema ( auto_validated ) sem precisar de intervenção humana. Se ultrapassar essa margem, fica com status  pending aguardando revisão. Etapa 6 — Painel de auditoria (visão do professor/admin) Como acessar?  O professor ou procurador tem acesso a um painel completo com: Dashboard geral com totais de sessões, pendências, alertas e alertas críticos, além da taxa de aprovação automática Lista de simulados com monitoramento ativo, mostrando quantas sessões cada um tem e o volume de alertas Sessões pendentes de revisão com foto do aluno, percentual de confiança e tempo desde a realização Ao abrir uma sessão específica, o revisor vê: A selfie da prova lado a lado com a foto do documento cadastrado O percentual de confiança e a distância facial calculados O resumo completo de todos os alertas em cards visuais A linha do tempo dos snapshots capturados com as fotos A linha do tempo dos eventos comportamentais As ações de Validar ou Invalidar a prova, com histórico completo de todas as decisões tomadas Etapa 7 — Validação e invalidação O revisor pode tomar duas decisões sobre a prova: Validar — confirma que a sessão é legítima. A performance do aluno é mantida normalmente. Pode ser feito manualmente pelo revisor ou automaticamente pelo sistema no encerramento. Invalidar — registra que houve irregularidade. O revisor é obrigado a informar um motivo detalhado (mínimo 10 caracteres, max 1000 caracteres). O aluno recebe uma notificação com o motivo e é informado de que pode entrar com recurso. Ambas as ações geram entradas no histórico de decisões da sessão, que funciona como um log auditável de todas as decisões (incluindo reversões — um revisor pode validar uma prova que foi invalidada anteriormente, aceitando assim o recurso do aluno). O que o sistema detecta Tipo Como detecta Identidade divergente Comparação facial via face-api.js (distância euclidiana) Troca de aba Evento visibilitychange do browser Janela inativa Evento blur na window Saída do fullscreen Evento fullscreenchange Cópia e cola Eventos copia e cola Ausência de rosto faces_detected === 0 no snapshot Múltiplas pessoas faces_detected > 1 no snapshot Iluminação baixa Análise de luminância média dos pixels do canvas O que o sistema não detecta É importante documentar também as limitações conhecidas: Em dispositivos mobile: troca de app não é detectável com a mesma confiabilidade, pois o sistema de eventos do browser em mobile tem comportamento diferente PDFs como documento: o reconhecimento facial exige uma imagem (jpg/png) — documentos enviados como PDF não podem ser usados para comparação VPN ou IP falso: o IP registrado no consentimento LGPD pode ser de um proxy Câmera bloqueada: se o aluno negar permissão de câmera, o sistema não consegue operar — isso deve ser tratado com orientação prévia ao aluno