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) eface_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 exigidapending_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














Nenhum comentário