> 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-docs/user-guide/resolution-6/facial-biometrics/core-procedure/biometric-validation.md).

# Biometric validation

## Biometric validation

Page actionsA biometric validation procedure receives an identifier and a biometric asset, which are then compared to existing profiles with the same identifiers in your peer's and other peer's databases. Every validation has three outcomes:MATCH: when the biometric data matches the identifier that's been sent.NON\_MATCH: when the biometric data does not match the identifier that's been sent.NOT\_FOUND: when the peer can't find a profile with a matching identifier.In this section, we will explain how this procedure works internally.Internal biometric validationThis subsection explains the flow of a biometric validation internally.

1. The peer receives a biometric validation procedure, where it receives a single identifier and a byte array containing biometric data.Comment
2. The peer queries its database for a profile with a matching identifier. If a matching identifier is not found, the operation ends here, with a `NOT_FOUND` result.Comment
3. If a matching identifier is found, the peer anonymizes the biometric data that's been received and compares the biometric asset of the matching identifier with the anonymization result.Comment
4. If the distance of these biometric assets is greater than a pre-defined threshold, the operation will result in a `MATCH`. If not, the operation will result in a `NON_MATCH`.

### External biometric validation <a href="#external-biometric-validation" id="external-biometric-validation"></a>

CommentThis subsection explains the flow of a biometric validation inside All.id's network.

![](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FflZuWSAqvJAIojq0imx0%2Fuploads%2Fgit-blob-060d448c7533a7510cc5bc85e03d6807838a9f28%2Fexternal-biometric-validation.svg?alt=media)

1. The peer receives a biometric validation procedure, where it receives a single identifier and a byte array containing biometric data. The peer will process this request internally, as shown in the previous topic.Comment
2. After processing the biometric validation internally, the peer will send the requested identifier and the biometric data to All.id's router, which will start a new biometric validation process in it.Comment
3. The router forwards the biometric validation procedure to all peers connected to it, which will then compare the requested identifier and biometric data to their databases.Comment
4. After processing the request, all the peers involved will register their result as a transaction in the discovery server.Comment
5. The peers return the result they achieved while processing the requested biometric validation to All.id's router.Comment
6. The router generates a consensus over the biometric validation results it received. If most results achieved are `MATCH`, then the consensus will be `MATCH`, and vice-versa. All `NOT_FOUND` results are not considered while computing this operation's consensus, unless all results are `NOT_FOUND`.Comment
7. At the end of the biometric validation procedure, the peer who originally requested this validation will register the operation result in the discovery server.Comment
8. The peer will return the consensus of the biometric validation operation.


---

# 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-docs/user-guide/resolution-6/facial-biometrics/core-procedure/biometric-validation.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.
