Tutorial – Como usar os indicadores antifraude do QI Sign

O QI Sign entrega uma série de indicadores de fraude tanto pelo webhook de conclusão do envelope quanto pelo motor de regras embutido na plataforma. Com esses sinais, você consegue montar políticas para reprovar ou direcionar para análise manual.


| Regras de Assinatura |

 

A seguir, você encontra:

  1. Descrição completa dos campos retornados no webhook

  2. Explicação de todos os tipos de regras disponíveis no QI Sign

  3. O que considerar para definir uma política antifraude

  4. JSON de exemplo


1. 🔎 Indicadores enviados no Webhook

Abaixo estão os novos campos enviados pela OCR, Liveness e Validação Facial, com explicação de como interpretá-los.

🔤 Indicadores de OCR – integridade e autenticidade do documento


Campo Significado true false
found_state_text Texto do estado no topo do RG Detectado Ausente/ilegível
found_side_text Texto lateral (varia por documento) Detectado Ausente
found_header_text Cabeçalho padrão do documento OK Ausente
found_footer_text Rodapé do documento OK Ausente
found_illeterate_person_text Indicação de “não alfabetizado” Encontrado Não encontrado
screen_display_detected Documento exibido em tela (foto de monitor, celular, PDF etc.) Evidência de tela Captura direta
text_tampering_detected Adulteração textual Sinais detectados Sem adulteração
face_tampering_detected Adulteração na foto Sinais detectados Foto íntegra
all_edges_detected Borda completa do documento 4 bordas visíveis Bordas faltando
has_physical_damage Rasgos, danos físicos Danos detectados Sem danos
has_textual_legibility_issues Texto ilegível Problemas de leitura Texto legível
found_anomalous_pdf_creator_or_producer Indica se o software usado para criar ou editar o PDF é suspeito ou incomum O PDF foi gerado por um software incomum ou associado a manipulações/manufatura de documentos falsos O PDF foi criado/alterado por um software considerado legítimo (ex.: Adobe, Scanner normal etc.)
creation_and_modification_date_mismatch Indica se existe uma diferença suspeita entre a data de criação do PDF e a data de modificação O documento foi criado em um momento e modificado muito tempo depois, ou com padrões incompatíveis com um documento legítimo (ex.: RG escaneado de 2019 mas “modificado” digitalmente em 2024) As datas de criação e modificação são coerentes (ex.: criado e nunca alterado, ou alterado logo depois de criado)

📄 Quais campos aparecem em qual tipo de documento?

Depende do tipo e da face capturada.

Documentos com assinatura

  • found_illeterate_person_text

Documentos fotografados (todos os tipos)

  • screen_display_detected

  • text_tampering_detected

  • all_edges_detected

  • has_physical_damage

  • has_textual_legibility_issues

Documentos com foto (RG frente, CNH frente)

  • face_tampering_detected

CNH frente

  • found_header_text

  • found_side_text

CNH verso

  • found_footer_text

  • found_side_text

RG frente

  • found_state_text

  • found_header_text

  • found_footer_text

RG verso

  • found_header_text

  • found_footer_text

CIN verso (subtipo do RG)

  • found_footer_text

  • found_side_text

Documentos digitais

  • found_anomalous_pdf_creator_or_producer

  • creation_and_modification_date_mismatch

🤳 Indicadores de Selfie / Liveness

Hoje o indicador adicional é:

Campo Significado true false
multiple_people Detecta mais de uma pessoa na selfie Suspeito (selfie com duas pessoas, foto de foto, etc.) Captura individual normal

👤 Indicadores de Biometria Facial

Validação de Face (face_validation_score)

  • Score de 0 a 100

  • Mede se a selfie combina com o CPF (biometria de base)

  • Pode ser usado com limiar personalizado (ex.: reprovar < 40)

Face Match com OCR (face_match_score)

  • Score de 0 a 100

  • Mede semelhança entre selfie e foto do documento


2. ⚙️ Regras disponíveis no motor do QI Sign

A plataforma permite automatizar decisões usando várias fontes de detecção.
A seguir, uma explicação clara sobre cada uma:

✔️ Consulta de Fraudes em Bureau

  • Reprova caso o CPF apareça em bases externas de fraude.

✔️ Banco de Fraudes

  • Reprova quando a face do usuário aparece no banco interno de fraudes (base histórica do próprio QI Tech).

✔️ Liveness

  • Reprova se a captura for considerada não viva.

✔️ Assinatura fora do Brasil

  • Detecta assinatura realizada fora do território nacional.

✔️ Lista de Bloqueio por Geolocalização

  • Se a assinatura ocorrer a menos de 100m de uma localização suspeita previamente cadastrada.

✔️ Lista de Dispositivos Bloqueados

  • Reprova logs vindos de dispositivos marcados como fraudadores reincidentes.

✔️ Mesmo IP, diferentes CPFs

  • Observa os últimos 30 dias.

  • Indica uso de IP em diversos CPFs → típico de fraude massiva automatizada.

✔️ Face Match de Documento

  • Pontuação 0 a 100.

  • Avalia similaridade selfie vs documento.

✔️ Validação de Faces

  • Pontuação 0 a 100.

  • Avalia selfie vs CPF (base biométrica).

✔️ Liveness – Indicadores

Atualmente disponível:

  • multiple_people

✔️ OCR – Indicadores

Possíveis seleções:

  • Pessoa analfabeta detectada

  • Documento com partes ocultas

  • Documento com danos físicos

  • Documento ilegível

  • Adulteração de documento ou foto

  • Documento exibido em tela

  • Criador do PDF incomum

  • Data de criação ≠ data de modificação do PDF

O cliente pode escolher um ou vários indicadores para compor uma decisão.


3. 🛡️ Recomendações para Política Antifraude

A seguir, sugestões de políticas equilibrando segurança e atrito.

🔥 Recomendar reprovação direta

  • Documento exibido em tela (screen_display_detected = true)

  • Adulteração textual ou facial (*_tampering_detected = true)

  • Liveness com múltiplas pessoas (multiple_people = true)

  • Face Match com documento muito baixo (<70)

  • Face Validation muito baixo (<61)

  • Dispositivo bloqueado

  • Assinatura em geolocalização marcada como suspeita

  • Mesmo IP usado para vários CPFs (últimos 30 dias)

⚠️ Recomendar análise manual

  • Bordas incompletas (all_edges_detected = false)

  • Legibilidade ruim (has_textual_legibility_issues = true)

  • Danos físicos aparentes 

  • Divergências simples nos textos do documento

✅ Aprovação automática

  • Todos indicadores consistentes

  • Pontuações faciais acima do threshold definido

  • OCR estável e sem sinais de adulteração


4. 📦 Exemplo de Webhook

Abaixo, o exemplo do JSON recebido após a conclusão das assinaturas.

{
  "id": "c2369dc9-7880-47ba-b5a2-02f96fe69e0e",
  "status": "completed",
  "webhook_type": "envelope_completed",
  "signers": [
    {
      "id": "2d3d5dd2-c387-43e4-93a6-07b96edffd1c",
      "biometry": {
        "face_validation": {
          "available": true,
          "score": 74,
          "provider": "qitech",
          "recommendation": "approve"
        },
        "face_validation_available": true,
        "fraud_base_flag": false,
        "face_validation_score": 74
      },
      "liveness": {
        "result": "live",
        "flags": {
          "multiple_people": false,
          "total_execution_time": 29.576
        }
      },
      "document": {
        "face_match_score": 100,
        "template": "rg_front",
        "ocr": [
          {
            "template_type": "rg_front",
            "document_data": {
              "cpf_number": "000.000.000-00",
              "name": "FULANO DE TAL",
              "birthdate": "1990-01-01",
              "expiration_date": "2033-06-21",
              "place_of_birth": "SAO PAULO-SP",
              "found_illeterate_person_text": false,
              "all_edges_detected": false,
              "found_state_text": true,
              "found_footer_text": true,
              "found_header_text": true,
              "screen_display_detected": false,
              "text_tampering_detected": false,
              "face_tampering_detected": false,
              "has_physical_damage": false,
              "has_textual_legibility_issues": false
            }
          },
          {
            "template_type": "rg_back",
            "document_data": {
              "father_name": "CICLANO DE TAL",
              "mother_name": "BELTRANA DE TAL",
              "issuance_date": "2023-06-21",
              "all_edges_detected": true,
              "found_side_text": true,
              "found_footer_text": true,
              "screen_display_detected": false,
              "text_tampering_detected": false,
              "has_physical_damage": false,
              "has_textual_legibility_issues": false
            }
          }
        ]
      },
      "signer_data": {
        "id": "2d3d5dd2-c387-43e4-93a6-07b96edffd1c",
        "name": "FULANO DE TAL",
        "email": "fulano@example.com",
        "phone": {
          "number": "999999999",
          "area_code": "11",
          "international_dial_code": "55"
        },
        "birthdate": "1990-01-01",
        "callback_url": "https://exemplo.com/status",
        "document_number": "000.000.000-00",
        "document_submission_method": "email",
        "authentication_submission_method": "whatsapp"
      },
      "locations": []
    }
  ],
  "rule_analysis_status": "approved",
  "decision_metadata": [],
  "documents_reports": [
    {
      "id": "c2369dc9-7880-47ba-b5a2-02f96fe69e0e",
      "url": "https://exemplo.com/documento.pdf"
    }
  ]
}

Ficou com dúvidas? É só enviar um e-mail para suporte.caas@qitech.com.br que te ajudamos!

O que achou do artigo? Deixe seu feedback abaixo 👇