# How It Works

## General Idea

We are using autonomous CVMs to store users' biometrics and ensure each person can prove the uniqueness of only one account in every generation. This prevents people from using more than one account at a time and ensures that all proven accounts have a unique biometric footprint, and thus - a unique person, behind them.

## Generations

We have a single CVM at a time, and we recreate them roughly every half a year, completely dropping the old instance with all the data contained in it (including the biometric information) and creating a new, empty one.

When this happens all uniqueness proofs are reset and users must prove their uniqueness again. While they do not have their uniqueness proven after the reset, they will not be permitted to participate in BotBasher-protected groups and channels.

Every generation switch allows one to change the account with which to link their biometrics (which to prove uniqueness for).

## Formal Definition for Telegram Integration

We aim to maintain an invariant that no two separate Telegram accounts that have a proven uniqueness have the same person's biometric data linked to them within a single generation. This invariant does not hold across multiple generations, only within any single generation.

On top of that, we aim to maintain a soft (due to Telegram API limitations) invariant that in a BotBahser-protected group or channel, the only non-admin (and non-creator) participants allowed are with proven uniqueness.

## Learn More

See our website to learn more about Humanode technologies.

{% embed url="<https://humanode.io>" %}


---

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

```
GET https://gitbook.humanode.io/botbasher/telegram/all/how-it-works.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
