# Simulados

# Cadastro de Simulado

### **1 - Criação do Simulado**

Acesse através do menu lateral do seu painel: **Acadêmico** / **Conteúdos** / **Simulados** / **Simulados**

[![Untitled.png](https://wiki.edustore.online/uploads/images/gallery/2024-07/scaled-1680-/3dguntitled.png)](https://wiki.edustore.online/uploads/images/gallery/2024-07/3dguntitled.png)

Na tela de listagem de simulados clique no botão 🟢<span style="color: rgb(45, 194, 107);">**Criar**</span>

Todos os campos com título em **<span style="color: rgb(224, 62, 45);">vermelho </span>**são **<span style="color: rgb(224, 62, 45);">obrigatórios</span>**, os demais são opcionais.

Neste cenário, vamos mostrar como cadastrar um <span style="color: rgb(241, 196, 15);">**simulado público**</span>, neste caso ele é um simulado aberto para qualquer usuário fazer, normalmente é utilizado para fazer captação de leads e criar um base de emails.

Preencha os campos: título, instruções, tentativas, classe corretora deixe a padrão e escolha se exibirá a resposta para o aluno, se terá ranking e se exibirá a performance.

<span style="color: rgb(241, 196, 15);">**OBS: Não esqueça de preencher a data de publicação, se ficar vazia o simulado não aparecerá**</span>

[![Untitled (1).png](https://wiki.edustore.online/uploads/images/gallery/2024-07/scaled-1680-/Bb6untitled-1.png)](https://wiki.edustore.online/uploads/images/gallery/2024-07/Bb6untitled-1.png)

<span style="color: rgb(224, 62, 45);">**<span class="notion-enable-hover" data-token-index="0">Caso esse simulado público seja referente a algum curso, é importante escolher o campo curso.</span>**</span>

**Exibição resposta:**<span style="color: rgb(241, 196, 15);"> **Ao escolher exibir resposta na hora, você irá mostrar para o aluno no momento da prova a resposta correta, caso você ocultar as respostas para divulgar um ranking ou uma listagem de acerto de forma manual, basta escolher a opção de ocultar.**</span>

**Situação:**<span style="color: rgb(241, 196, 15);">**<span style="color: rgb(255, 255, 255);"> </span>Ao escolher público, o simulado aparecerá na página de simulados públicos e qualquer usuário poderá fazer, ao escolher privado ele só aparece se você atrelar este simulado a um item de módulo do curso (como se fosse uma prova da disciplina), neste artigo vamos escolher o público.**</span>

**Exibirá performance:**<span style="color: rgb(241, 196, 15);"> **Você pode exibir a performance mostrando quantidade de questões acertadas, em branco e erradas.**</span>

<span style="color: rgb(241, 196, 15);">**Você também tem a opção de exibir e performance anterior + indicar conteúdo de reforço (o sistema irá indicar questões e aulas de acordo com os assuntos vinculados entre ambos).**</span>

<span style="color: rgb(241, 196, 15);">**Ou se preferir, oculte a performance e ele só exibir a mensagem de parabéns por efetuar o simulado.**</span>

## **2 - Vincular questões ao simulado**

Após salvar os dados gerais, poderá escolher entre 2 forma de vincular questões.

<span style="color: rgb(241, 196, 15);"></span>

<span style="color: rgb(241, 196, 15);">**<span class="notion-enable-hover" data-token-index="0"><span style="color: rgb(224, 62, 45);">Se você ainda não cadastrou as questões na plataforma acesse 🔗 [Cadastro de Questões](https://wiki.edustore.online/books/questoes/page/cadastro-de-questoes "Cadastro de Questões") e veja como cadastrar questões.</span></span>**</span>

## **Questões Selecionadas:**

Você buscará as questões e incluirá questão por questão ou poderá dizer a disciplina e a quantidade e ele incluirá a quantidade automaticamente.

[![Untitled (2).png](https://wiki.edustore.online/uploads/images/gallery/2024-07/scaled-1680-/G5juntitled-2.png)](https://wiki.edustore.online/uploads/images/gallery/2024-07/G5juntitled-2.png)

Dentro da opção Questões Selecionadas, você pode utilizar 2 métodos:

**<span class="notion-enable-hover" data-token-index="1">1 - Buscar questão por questão:</span>**

[![Untitled (3).png](https://wiki.edustore.online/uploads/images/gallery/2024-07/scaled-1680-/X1runtitled-3.png)](https://wiki.edustore.online/uploads/images/gallery/2024-07/X1runtitled-3.png)

**<span class="notion-enable-hover" data-token-index="0">2 - Incluir questões através de Disciplina/Assunto e Qtd.</span>**

[![Untitled (4).png](https://wiki.edustore.online/uploads/images/gallery/2024-07/scaled-1680-/fHFuntitled-4.png)](https://wiki.edustore.online/uploads/images/gallery/2024-07/fHFuntitled-4.png)

Após incluir as questões você poderá visualizar a questão clicando no + do box cinza, efetuar exclusões em massa selecionado os checkboxes e também reordená-las, clicando no box cinza e arrastando.

[![Untitled (5).png](https://wiki.edustore.online/uploads/images/gallery/2024-07/scaled-1680-/untitled-5.png)](https://wiki.edustore.online/uploads/images/gallery/2024-07/untitled-5.png)

## **Questões Randômicas por Disciplinas/Assuntos:**

Você buscará dirá ao sistema qual o curso ou disciplina e também poderá dizer o assunto, após isso dirá a quantidade de questões que deseja e na hora do aluno fazer o simulado será sorteada as questões.

[![Untitled.png](https://wiki.edustore.online/uploads/images/gallery/2024-07/scaled-1680-/0gluntitled.png)](https://wiki.edustore.online/uploads/images/gallery/2024-07/0gluntitled.png)

Você também consegue escolher a ordem, basta clicar no box cinza e arrastar para ordenar na forma que quiser.

## **Vincular o Simulado ao Curso**

Encontre seu curso em **Acadêmicos / Cursos**, clique módulos e após isso clique em <span style="text-decoration: underline;">**Conteúdos do Módulo.**</span>

Agora basta você incluir um conteúdo com mídia, selecionado o Simulado que deseja vincular, lembre-se que você pode colocar mais de um simulado dentro de um módulo caso queira.

[![Untitled (1).png](https://wiki.edustore.online/uploads/images/gallery/2024-07/scaled-1680-/qdpuntitled-1.png)](https://wiki.edustore.online/uploads/images/gallery/2024-07/qdpuntitled-1.png)

<span style="color: rgb(241, 196, 15);">**<span class="notion-enable-hover" data-token-index="0"><span style="color: rgb(224, 62, 45);"></span></span>**</span>

<span style="color: rgb(224, 62, 45);">**<span class="notion-enable-hover" data-token-index="0"></span>**</span>

# Cadastro de prova para um módulo

### **1 - Criação do Simulado Privado**

Acesse através do menu lateral do seu painel: **Acadêmico** / **Conteúdos** / **Simulados** / **Simulados**

[![Untitled.png](https://wiki.edustore.online/uploads/images/gallery/2024-07/scaled-1680-/JzQuntitled.png)](https://wiki.edustore.online/uploads/images/gallery/2024-07/JzQuntitled.png)

Na tela de listagem de simulados clique no botão 🟢<span style="color: rgb(45, 194, 107);">**Criar**</span>

Todos os campos com título em **<span style="color: rgb(224, 62, 45);">vermelho </span>**são <span style="color: rgb(224, 62, 45);">**obrigatórios**</span>, os demais são opcionais.

Neste cenário, vamos mostrar como cadastrar um <span style="color: rgb(241, 196, 15);">**simulado privado**</span>, neste caso ele é um simulado (prova) que estará como item em um módulo do curso e **não aparecerá na página de simulados**.

[![Untitled (1).png](https://wiki.edustore.online/uploads/images/gallery/2024-07/scaled-1680-/zLGuntitled-1.png)](https://wiki.edustore.online/uploads/images/gallery/2024-07/zLGuntitled-1.png)

Preencha os campos:

- Título
- Data de publicação
- Instruções
- Tentativas (que o aluno poderá fazer o exame)
- Tempo em minutos (para terminar o exame)
- Se exibirá a performance ou não (para exame, é melhor deixar sem exibir a performance).
- Exibição da resposta = Exibir resposta na hora.
- Situação = Privado
- Exibirá ranking = Não
- Score min em porcentagem de acertos (Ex: 70 - 70% é mínimo de acerto para passar)
- Curso = Curso ao qual esse exame pertencerá

## **2 - Vincular Questões ao Simulado**

Após salvar o simulado, aparecerá 2 abas referente ao vinculo de questões.

<span class="notion-enable-hover" data-token-index="0">**<span style="color: rgb(224, 62, 45);">Se você ainda não cadastrou as questões na plataforma acesse 🔗 [Cadastro de Questões](https://wiki.edustore.online/books/questoes/page/cadastro-de-questoes "Cadastro de Questões") e veja como cadastrar questões.</span>**</span>

[![Untitled (2).png](https://wiki.edustore.online/uploads/images/gallery/2024-07/scaled-1680-/EM0untitled-2.png)](https://wiki.edustore.online/uploads/images/gallery/2024-07/EM0untitled-2.png)

<span class="notion-enable-hover" data-token-index="0">**Aba Questões**:</span> Você buscará as questões e incluirá questão por questão ou poderá dizer a disciplina e a quantidade e ele incluirá a quantidade automaticamente.

[![Untitled (3).png](https://wiki.edustore.online/uploads/images/gallery/2024-07/scaled-1680-/OKwuntitled-3.png)](https://wiki.edustore.online/uploads/images/gallery/2024-07/OKwuntitled-3.png)

<span class="notion-enable-hover" data-token-index="0">**Aba Disciplinas / Assuntos**:</span> Você buscará dirá ao sistema qual o curso ou disciplina e também poderá dizer o assunto, após isso dirá a quantidade de questões que deseja e na hora do aluno fazer o simulado será sorteada as questões.

[![Untitled (4).png](https://wiki.edustore.online/uploads/images/gallery/2024-07/scaled-1680-/mr0untitled-4.png)](https://wiki.edustore.online/uploads/images/gallery/2024-07/mr0untitled-4.png)

## **3 - Vincular Simulado ao Módulo como Item**

Nesta etapa vamos vincular o simulado criado em um curso, especificamente em um módulo.

# 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:

1. **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.
2. 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

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2026-02/scaled-1680-/image.png)](https://wiki.edustore.online/uploads/images/gallery/2026-02/image.png)

### 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:

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2026-02/scaled-1680-/p6limage.png)](https://wiki.edustore.online/uploads/images/gallery/2026-02/p6limage.png)

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2026-02/scaled-1680-/XfDimage.png)](https://wiki.edustore.online/uploads/images/gallery/2026-02/XfDimage.png)

- **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

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2026-02/scaled-1680-/nuximage.png)](https://wiki.edustore.online/uploads/images/gallery/2026-02/nuximage.png)

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2026-02/scaled-1680-/e9Uimage.png)](https://wiki.edustore.online/uploads/images/gallery/2026-02/e9Uimage.png)

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:

1. O **face-api.js** (rodando no navegador, via WebGL/GPU) detecta se há exatamente um rosto enquadrado
2. Quando o rosto é detectado com qualidade suficiente, a foto pode ser registrada.
3. 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)
4. 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:

<div class="overflow-x-auto w-full px-2 mb-6" id="bkmrk-prioridade-tipo-rigo"><table class="min-w-full border-collapse text-sm leading-[1.7] whitespace-normal" style="width: 100%; height: 296.36px;"><thead class="text-left"><tr style="height: 46.5938px;"><th class="text-text-100 border-b-0.5 border-border-300/60 py-2 pr-4 align-top font-bold" style="width: 9.46057%; height: 46.5938px;">Prioridade</th><th class="text-text-100 border-b-0.5 border-border-300/60 py-2 pr-4 align-top font-bold" style="width: 14.414%; height: 46.5938px;">Tipo</th><th class="text-text-100 border-b-0.5 border-border-300/60 py-2 pr-4 align-top font-bold" style="width: 76.0063%; height: 46.5938px;">Rigor</th></tr></thead><tbody><tr style="height: 46.5938px;"><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 9.46057%; height: 46.5938px;">1º</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 14.414%; height: 46.5938px;">Selfie cadastrada</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 76.0063%; height: 46.5938px;">Menos permissivo e mais confiável para o algoritimo, pois compara face x face diretamente (Recomendado)</td></tr><tr style="height: 46.5938px;"><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 9.46057%; height: 46.5938px;">2º</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 14.414%; height: 46.5938px;">RG</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 76.0063%; height: 46.5938px;">Mais permissivo, pois considera que a foto pode ter caracteristicas que hoje a pessoa nao tem mais</td></tr><tr style="height: 46.5938px;"><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 9.46057%; height: 46.5938px;">3º</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 14.414%; height: 46.5938px;">CNH</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 76.0063%; height: 46.5938px;">Mais permissivo, pois considera que a foto pode ter caracteristicas que hoje a pessoa nao tem mais</td></tr><tr style="height: 46.5938px;"><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 9.46057%; height: 46.5938px;">4º</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 14.414%; height: 46.5938px;">Passaporte</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 76.0063%; height: 46.5938px;">Mais permissivo, pois considera que a foto pode ter caracteristicas que hoje a pessoa nao tem mais</td></tr><tr style="height: 63.3906px;"><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 9.46057%; height: 63.3906px;">5º</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 14.414%; height: 63.3906px;">Outro documento com foto</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 76.0063%; height: 63.3906px;">Mais permissivo, pois considera que a foto pode ter caracteristicas que hoje a pessoa nao tem mais</td></tr></tbody></table>

</div>---

### 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?   
  


[![image.png](https://wiki.edustore.online/uploads/images/gallery/2026-02/scaled-1680-/qe9image.png)](https://wiki.edustore.online/uploads/images/gallery/2026-02/qe9image.png)

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2026-02/scaled-1680-/xGHimage.png)](https://wiki.edustore.online/uploads/images/gallery/2026-02/xGHimage.png)

  
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
- [![image.png](https://wiki.edustore.online/uploads/images/gallery/2026-02/scaled-1680-/Nedimage.png)](https://wiki.edustore.online/uploads/images/gallery/2026-02/Nedimage.png)
- **Lista de simulados** com monitoramento ativo, mostrando quantas sessões cada um tem e o volume de alertas
- [![image.png](https://wiki.edustore.online/uploads/images/gallery/2026-02/scaled-1680-/6DJimage.png)](https://wiki.edustore.online/uploads/images/gallery/2026-02/6DJimage.png)
- **Sessões pendentes de revisão** com foto do aluno, percentual de confiança e tempo desde a realização
- [![image.png](https://wiki.edustore.online/uploads/images/gallery/2026-02/scaled-1680-/KnVimage.png)](https://wiki.edustore.online/uploads/images/gallery/2026-02/KnVimage.png)

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2026-02/scaled-1680-/8w7image.png)](https://wiki.edustore.online/uploads/images/gallery/2026-02/8w7image.png)

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2026-02/scaled-1680-/RuSimage.png)](https://wiki.edustore.online/uploads/images/gallery/2026-02/RuSimage.png)

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).

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2026-02/scaled-1680-/NKqimage.png)](https://wiki.edustore.online/uploads/images/gallery/2026-02/NKqimage.png)

[![image.png](https://wiki.edustore.online/uploads/images/gallery/2026-02/scaled-1680-/eWQimage.png)](https://wiki.edustore.online/uploads/images/gallery/2026-02/eWQimage.png)

## O que o sistema detecta

<div class="overflow-x-auto w-full px-2 mb-6" id="bkmrk-tipo-como-detecta-id"><table class="min-w-full border-collapse text-sm leading-[1.7] whitespace-normal" style="width: 63.2143%; height: 268.172px;"><thead class="text-left"><tr style="height: 29.7969px;"><th class="text-text-100 border-b-0.5 border-border-300/60 py-2 pr-4 align-top font-bold" style="width: 29.7435%; height: 29.7969px;">Tipo</th><th class="text-text-100 border-b-0.5 border-border-300/60 py-2 pr-4 align-top font-bold" style="width: 70.0653%; height: 29.7969px;">Como detecta</th></tr></thead><tbody><tr style="height: 29.7969px;"><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 29.7435%; height: 29.7969px;">Identidade divergente</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 70.0653%; height: 29.7969px;">Comparação facial via face-api.js (distância euclidiana)</td></tr><tr style="height: 29.7969px;"><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 29.7435%; height: 29.7969px;">Troca de aba</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 70.0653%; height: 29.7969px;">Evento `visibilitychange` do browser</td></tr><tr style="height: 29.7969px;"><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 29.7435%; height: 29.7969px;">Janela inativa</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 70.0653%; height: 29.7969px;">Evento `blur` na window</td></tr><tr style="height: 29.7969px;"><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 29.7435%; height: 29.7969px;">Saída do fullscreen</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 70.0653%; height: 29.7969px;">Evento `fullscreenchange`</td></tr><tr style="height: 29.7969px;"><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 29.7435%; height: 29.7969px;">Cópia e cola</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 70.0653%; height: 29.7969px;">Eventos `copia` e `cola`</td></tr><tr style="height: 29.7969px;"><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 29.7435%; height: 29.7969px;">Ausência de rosto</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 70.0653%; height: 29.7969px;">`faces_detected === 0` no snapshot</td></tr><tr style="height: 29.7969px;"><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 29.7435%; height: 29.7969px;">Múltiplas pessoas</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 70.0653%; height: 29.7969px;">`faces_detected > 1` no snapshot</td></tr><tr style="height: 29.7969px;"><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 29.7435%; height: 29.7969px;">Iluminação baixa</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top" style="width: 70.0653%; height: 29.7969px;">Análise de luminância média dos pixels do canvas</td></tr></tbody></table>

</div>---

## 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