> For the complete documentation index, see [llms.txt](https://docs.griaule.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.griaule.com/gbspsbio/como-funciona/excecoes.md).

# Exceções e duplicidades

#### Sobre esta página

Descreve os casos de duplicidade no PSBio, os tratamentos possíveis na aplicação GBS Apps e os status notificados ao Módulo AC depois de cada tratamento.

#### Sumário

1. [Como uma exceção acontece](#como-uma-excecao-acontece)
2. [Duplicidade em cadastro na base local](#duplicidade-em-cadastro-na-base-local)
3. [Falha em atualização na base local](#falha-em-atualizacao-na-base-local)
4. [Duplicidade em cadastro encontrada no cache](#duplicidade-em-cadastro-encontrada-no-cache)
5. [Duplicidade em atualização encontrada em outro PSBio](#duplicidade-em-atualizacao-encontrada-em-outro-psbio)

## Como uma exceção acontece

Quando o PSBio encontra uma duplicidade biométrica, a transação gera uma exceção e fica aguardando tratamento na aplicação GBS Apps. A utilização do GBS Apps está descrita no [manual do GBS ETR](https://docs.griaule.com/aplicacoes/etrweb).

{% hint style="warning" %}
**Alguns tratamentos enviam biometrias para a blacklist (lista negra).** Os casos estão indicados em cada tabela abaixo.
{% endhint %}

Nos casos abaixo, **TCN 1** é a transação do primeiro cadastro e **TCN 2** é a transação que gerou a exceção.

***

## Duplicidade em cadastro na base local

**Cenário:** o IDN 1 foi cadastrado com as biometrias 1 na base local. Chega um cadastro do IDN 2 com as biometrias 1.

**Status notificado ao Módulo AC:** `ENROLL_ANOMALY`, com a mensagem `Enroll resulted in exception | tcn: <tcn> | idn: <idn> | Same biometrics found in local PSBio | elapsed time: <elapsed_time> s`.

| Tratamento            | Descrição                                                                         | Resultado                                                                                                                                                                                                                          |
| --------------------- | --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Mesmas biometrias     | As biometrias dos dois cadastros são as mesmas, indicando uma suspeita de fraude. | TCN 1 recebe `PERSON_FRAUD`, com a mensagem `Enroll transaction marked as fraud \| tcn: <tcn> \| idn: <idn> \| elapsed time: <elapsed_time> s`. TCN 2 recebe `FRAUD`. As biometrias dos dois perfis são enviadas para a blacklist. |
| Biometrias diferentes | O sistema informou similaridade, mas as biometrias não são da mesma pessoa.       | —                                                                                                                                                                                                                                  |
| Recoleta              | Recusa as biometrias do segundo cadastro.                                         | O segundo perfil é ignorado e não continua com o cadastro.                                                                                                                                                                         |
| Enroll incorreto      | Ignora as biometrias do primeiro cadastro.                                        | As biometrias do primeiro perfil são excluídas e o segundo perfil é cadastrado.                                                                                                                                                    |

***

## Falha em atualização na base local

**Cenário:** o IDN 1 foi cadastrado com as biometrias 1 na base local. Chega uma atualização do IDN 1 com as biometrias 2.

**Status notificado ao Módulo AC:** `UPDATE_ANOMALY`.

| Tratamento                                       | Descrição                                                                      | Resultado                                                                                                                                                                                     |
| ------------------------------------------------ | ------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Mesmas biometrias                                | As biometrias do cadastro e da atualização pertencem à mesma pessoa.           | A atualização é processada. TCN 2 recebe `UPDATE_OK`.                                                                                                                                         |
| Biometrias diferentes, considera original válido | As biometrias não são as mesmas, e o perfil original é o válido.               | TCN 2 recebe `FRAUD`. As biometrias rejeitadas são enviadas para a blacklist.                                                                                                                 |
| Biometrias diferentes, considera exceção válida  | As biometrias não são as mesmas, e a transação que gerou a exceção é a válida. | TCN 1 recebe `FRAUD`. Uma transação de IDE é montada e pesquisada pelos demais PSBios. Ao concluir a busca, TCN 2 recebe `UPDATE_OK`. As biometrias rejeitadas são enviadas para a blacklist. |
| Recoleta                                         | Recusa as biometrias da atualização.                                           | O segundo perfil é ignorado e não continua com o cadastro.                                                                                                                                    |
| Enroll incorreto                                 | Ignora as biometrias do cadastro.                                              | As biometrias do primeiro perfil são excluídas e as da atualização são cadastradas.                                                                                                           |

***

## Duplicidade em cadastro encontrada no cache

**Cenário:** outro PSBio cadastrou o IDN 1 com as biometrias 1 em sua base local. O PSBio de origem recebe um cadastro do IDN 2 com as biometrias 1, que são encontradas no seu cache.

**Status notificado ao Módulo AC:** `ENROLL_ANOMALY`, com a mensagem `ENROLL resulted in exception | tcn: <tcn> | idn: <idn> | Same biometrics found in PSBio <PSBio> | elapsed time: <elapsed_time> s`. Em seguida, o PSBio de origem encaminha o pacote IDE aos demais PSBios da rede.

| Tratamento            | Resultado                                                                                                                                                                                                                                                                                               |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Mesmas biometrias     | Não disponível, porque a transação deve ser tratada por outro PSBio. O GBS Apps mostra `Unable to treat exception. idn is registered in biometric cache`.                                                                                                                                               |
| Biometrias diferentes | A exceção é tratada localmente e o PSBio aguarda a resposta dos demais PSBios. Se receber todos os pacotes VRE com `SRF: "X"`, notifica `ENROLL_OK`. Se receber pelo menos um VRE com `SRF: "M"`, notifica `ENROLL_ANOMALY` com a mensagem `Mesma(s) biometria(s) encontrada(s) no PSBio <NOME_PSBIO>.` |
| Recoleta              | A exceção é descartada para que uma nova coleta possa ser feita. A transação de cadastro não é afetada.                                                                                                                                                                                                 |
| Enroll incorreto      | Não disponível, porque a transação pertence a outro PSBio. O GBS Apps mostra `Unable to treat exception. idn is registered in biometric cache`.                                                                                                                                                         |

***

## Duplicidade em atualização encontrada em outro PSBio

**Cenário:** outro PSBio cadastrou o IDN 1 com as biometrias 1 em sua base local. O PSBio de origem recebe uma atualização do IDN 1 com as biometrias 2.

O PSBio de origem encaminha o arquivo de UPR ao PSBio que possui o IDN 1 em sua base local e aguarda o resultado. Se não for possível realizar o match biométrico no outro PSBio, notifica ao Módulo AC o status `UPDATE_ANOMALY`, com a mensagem `Update resulted in exception | tcn: <tcn> | idn: <idn> | Different biometrics from registration | elapsed time: <elapsed_time> s`.


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.griaule.com/gbspsbio/como-funciona/excecoes.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
