> For the complete documentation index, see [llms.txt](https://docs.caf.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.caf.io/caf-api/caf-api-pt-br/connect/transactions/background-check/kyc/documents.md).

# Documentos

## VerifAI Docs - Detecção de manipulação de arquivos - NOVO (PF99)

Retorna informações sobre manipulações digitais em arquivos, como contratos sociais, notas fiscais e recibos, analisando seus metadados. Para maior precisão, recomendamos que você envie arquivos em formato PDF. Atualmente, essa funcionalidade está disponível em inglês e português, com o espanhol como o próximo idioma a ser adicionado.

**Seção**: `pfVerifaiDocs`

**Arquivos obrigatórios:** `Qualquer arquivo nos formatos .pdf, .jpg ou .jpeg`

**Parâmetro opcional:** `CPF`

{% tabs %}
{% tab title="Esquema" %}

| Atributo                             | Tipo             | Descrição                                                                                                                                                 |
| ------------------------------------ | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| código de status                     | String           | Status da consulta ([detalhes](/caf-api/caf-api-pt-br/connect/transactions/background-check/data-structure.md#status-code))                               |
| mensagem                             | String           | Mensagem descritiva do resultado da consulta                                                                                                              |
| dados                                | Array            | Uma lista com os resultados da análise de cada documento enviado                                                                                          |
| data\[x].status                      | String           | Status da análise                                                                                                                                         |
| data\[x].analysisTime                | String           | Carimbo de data/hora da análise                                                                                                                           |
| data\[x].queryId                     | String           | ID interno da análise                                                                                                                                     |
| data\[x].sha256                      | String           | SHA-256 do arquivo de entrada                                                                                                                             |
| data\[x].fileType                    | String           | Tipo do documento analisado                                                                                                                               |
| data\[x].mimeType                    | String           | Tipo MIME do documento de entrada: `application/pdf`, `image/jpeg`                                                                                        |
| data\[x].score                       | String           | Pontuação de fraude produzida pela análise do documento: `NORMAL`, `TRUSTED`, `WARNING`, `HIGH_RISK`                                                      |
| data\[x].decision                    | String           | Nível de risco associado ao documento analisado: `LOW_RISK`, `MEDIUM_RISK`, `HIGH_RISK`                                                                   |
| data\[x].numPages                    | String           | Número de páginas no documento enviado                                                                                                                    |
| data\[x].fileName                    | String           | Nome do arquivo                                                                                                                                           |
| data\[x].submissionId                | String           | Identificador único do documento                                                                                                                          |
| data\[x].reason                      | Objeto           | Objeto de detalhes que descreve o motivo da decisão                                                                                                       |
| data\[x].reason.value                | String           | Rótulo do motivo                                                                                                                                          |
| data\[x].reason.label                | String           | Descrição do motivo                                                                                                                                       |
| data\[x].sampleMetadata              | Objeto           | Metadados de um documento analisado                                                                                                                       |
| data\[x].sampleMetadata.producer     | String           | Produtor do documento                                                                                                                                     |
| data\[x].sampleMetadata.creator      | String           | Criador do documento                                                                                                                                      |
| data\[x].sampleMetadata.creationDate | String           | Data de criação do documento                                                                                                                              |
| data\[x].sampleMetadata.modDate      | String           | Data de modificação do documento                                                                                                                          |
| data\[x].sampleMetadata.author       | String           | Autor do documento                                                                                                                                        |
| data\[x].sampleMetadata.title        | String           | Título do documento                                                                                                                                       |
| data\[x].sampleMetadata.keywords     | String           | Palavras-chave do documento                                                                                                                               |
| data\[x].sampleMetadata.subject      | String           | Assunto do documento                                                                                                                                      |
| data\[x].indicators                  | Lista de objetos | Informações detalhadas sobre os resultados específicos da análise. Este campo contém observações detalhadas que o sistema conseguiu fazer sobre o arquivo |
| data\[x].indicators\[x].type         | String           | Tipo de um indicador de qualidade: `RISK`, `TRUST`, `INFO`                                                                                                |
| data\[x].indicators\[x].category     | String           | Categoria do indicador                                                                                                                                    |
| data\[x].indicators\[x].title        | String           | Título do indicador                                                                                                                                       |
| data\[x].indicators\[x].description  | String           | Descrição do indicador                                                                                                                                    |
| data\[x].indicators\[x].origin       | String           | Origem do indicador: `fraude`, `qualidade`                                                                                                                |
| data\[x].documentClass               | Objeto           | O tipo de arquivo enviado para análise                                                                                                                    |
| data\[x].documentClass.id            | String           | ID do tipo de documento                                                                                                                                   |
| data\[x].documentClass.type          | String           | Tipo de documento                                                                                                                                         |
| data\[x].documentClass.detailedType  | String           | Tipo de documento detalhado                                                                                                                               |
| {% endtab %}                         |                  |                                                                                                                                                           |

{% tab title="Exemplo" %}

```json
{
  "pfVerifaiDocs": {
    "statusCode": "01",
    "data": [
      {
        "status": "SUCCESS",
        "analysisTime": "2025-07-01T19:39:20.605088Z",
        "deploymentVersion": "4f59fea5",
        "queryId": "3512299f-8385-4152-93c2-eaa2dea85983-6864382d16941a000265d233-conta-internet-20-05",
        "fileType": "pdf",
        "mimeType": "application/pdf",
        "sha256": "63d5d349a6610d048c05a620aa3f7afbda3be2686c6791418ac8c7d2b099db71",
        "score": "HIGH_RISK",
        "sampleMetadata": {
          "producer": "Producer 1.91a ",
          "creator": "Dox PDF",
          "creationDate": "2024-12-20T09:41:35+01:00",
          "modDate": "2025-01-09T17:48:56+01:00",
          "author": "Document Designer Development Group",
          "title": "Vivo conta 20/05/2025",
          "keywords": "Ver 6.0",
          "subject": "Internet"
        },
        "indicators": [
          {
            "type": "RISK",
            "category": "document_structure",
            "title": "Documento conhecido com padrões inesperados",
            "description": "Já vimos muitos documentos assim da Telefonica Brasil S.A., e este se destaca - pelo motivo errado. Sua estrutura, layout e outros elementos não seguem o padrão esperado. Essas pistas sugerem fortemente que o documento foi modificado, recriado ou produzido usando um software diferente.",
            "origin": "fraude"
          },
          {
            "type": "RISK",
            "category": "modifications",
            "title": "O conteúdo foi modificado",
            "description": "Este documento foi produzido em várias versões. Esta versão do documento difere da original.",
            "origin": "fraude"
          },
          {
            "type": "RISK",
            "category": "modifications",
            "title": "Editado usando editor",
            "description": "Este documento contém tags usadas por editores de PDF, que indicam modificações no documento.",
            "origin": "fraude"
          },
          {
            "type": "TRUST",
            "category": "visual_appearance",
            "title": "Logotipo da Telefonica Brasil S.A.",
            "description": "Este documento contém um logotipo comumente associado à Telefonica Brasil S.A., sugerindo que foi emitido por essa concessionária.",
            "origin": "fraude"
          },
          {
            "type": "RISK",
            "category": "metadata_modifications",
            "title": "Evidência de modificação com base nos metadados do documento",
            "description": "O tempo de criação é 2024-12-20T08:41:35+00:00, mas o tempo de modificação é 2025-01-09T16:48:56+00:00. Isso pode indicar que o documento foi atualizado ou modificado. O intervalo entre a criação e a modificação é de 20 dias, 8:07:21.",
            "origin": "fraude"
          },
          {
            "type": "RISK",
            "category": "modifications",
            "title": "Fontes anômalas",
            "description": "Algumas das fontes usadas aqui normalmente não são utilizadas pelo emissor nesse tipo de documento.",
            "origin": "fraude"
          },
          {
            "type": "RISK",
            "category": "anomalous_metadata",
            "title": "O documento tem metadados anômalos",
            "description": "Os metadados (criador, produtor etc.) diferem dos de um documento típico do mesmo emissor. ",
            "origin": "fraude"
          }
        ],
        "documentClass": {
          "id": "utility_bill_vivo",
          "type": "utility_bill",
          "documentClassType": "UtilityBillDocumentClass",
          "detailedType": "internet_mobile_television"
        },
        "numPages": 3,
        "fileName": "conta-internet-20-05.pdf",
        "submissionId": "bdd50bc4-fa5c-46ba-a9d6-5c715af98daa",
        "decision": "HIGH_RISK",
        "reason": {
            "value": "DIGITAL_MODIFICATION_HIGH_CONFIDENCE",
            "label": "O documento contém vestígios de modificação digital, provavelmente com intenção fraudulenta"
        }
      },
      {
          "status": "SUCCESS",
          "analysisTime": "2025-07-02T13:11:30.099104Z",
          "deploymentVersion": "4f59fea5",
          "queryId": "49dc9bda-fa86-41c0-9c9c-8a8cff5e6ecd-68652fdfdf165d00021c9f44-comprovante-pix",
          "fileType": "pdf",
          "mimeType": "application/pdf",
          "sha256": "55662b513518cf0bedf695febedbfd489924b1ec92de3aabfdc6dcf97e2822dc",
          "score": "NORMAL",
          "sampleMetadata": {
            "producer": "mPDF 7.1.9",
            "creator": null,
            "creationDate": "2019-11-29T06:33:40+03:00",
            "modDate": "2019-11-29T06:33:40+03:00",
            "author": null,
            "title": "Tiny",
            "keywords": null,
            "subject": null
          },
          "indicators": [
            {
              "indicatorId": "is_pdf_unmodified_per_metadata",
              "type": "TRUST",
              "category": "authenticity",
              "title": "Sem modificação nos metadados do documento",
              "description": "Os carimbos de data/hora nos metadados deste documento não indicam que o arquivo foi atualizado ou modificado incrementalmente.",
              "origin": "fraude"
            },
            {
              "indicatorId": "has_mpdf_metadata",
              "type": "INFO",
              "category": "known_creator",
              "title": "Salvo no mPDF",
              "description": "O documento foi processado e salvo no mPDF - biblioteca de software (linguagem PHP) para gerar arquivos PDF a partir de documentos HTML.",
              "origin": "fraude"
            }
          ],
          "documentClass": {
            "id": "unknown",
            "type": "unknown",
            "documentClassType": "DocumentClass"
          },
          "numPages": 1,
          "fileName": "comprovante-pix.pdf",
          "submissionId": "a441c5d6-b2d2-4fef-8aaa-799ae7308f4b",
          "decision": "LOW_RISK",
          "reason": {
              "value": "NO_DIGITAL_MODIFICATION",
              "label": "O documento não apresenta sinais de modificação digital"
          }
        }
    ]
  }
}
```

{% endtab %}

{% tab title="Regras de validação" %}

| Regra                                 | Descrição                                                                            |
| ------------------------------------- | ------------------------------------------------------------------------------------ |
| verifai\_docs\_available\_analysis    | Verifica se há resultados de análise disponíveis para os documentos enviados.        |
| verifai\_docs\_analysis\_medium\_risk | Verifica se o resultado da análise de qualquer documento enviado indica risco médio. |
| verifai\_docs\_analysis\_high\_risk   | Verifica se o resultado da análise de qualquer documento enviado indica alto risco.  |
| {% endtab %}                          |                                                                                      |
| {% endtabs %}                         |                                                                                      |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.caf.io/caf-api/caf-api-pt-br/connect/transactions/background-check/kyc/documents.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
