---
title: "Account safety states"
locale: en
url: https://tlg.builera.app/en/docs/concepts/safety-states
verified: 2026-10-24
app_version: "2.0"
---

# Account safety states

Distinguish safety states, sign-in sessions, and the reasons the safety gate holds work.


An on-screen status label may reflect Telegram safety, a sign-in session, or connectivity. Distinguish them so you can address the right cause. Changing limits does not fix a revoked session. Signing in again does not automatically remove Telegram restrictions either.

## The actual safety states

| Value | Label | Safety gate behavior |
|---|---|---|
| `healthy` | Normal | Still checks all other conditions |
| `throttled` | Slowed down | Allows only actions declared to run in this state; applies slowdown |
| `limited` | Limited | Allows only permitted actions; blocks messages to strangers |
| `frozen` | Frozen | Holds actions not declared for this state |
| `banned` | Banned | Holds actions not declared for this state; no normal recovery |

Each action declares the states in which it can run (`allowedWhen`). Do not interpret “Limited” as meaning every operation stops, or “Slowed down” as meaning every operation can run.

A restricted account may still reply to someone who messaged first if the action meets the remaining conditions. Messages to strangers remain blocked.

## FLOOD_WAIT and PEER_FLOOD are different

**FLOOD_WAIT** both delays that action group and may move the account to Slowed down. The delay is at least **2 times** the duration Telegram requires. Slowed down lasts at least **24 hours**, or longer if Telegram requires a longer wait.

While Slowed down, limits are multiplied by **0.5** and spacing by **2**. Free is still subject to this mechanism.

**PEER_FLOOD** and restriction signals from @SpamBot move the account to Limited, with a wait of at least **72 hours** and a rollback in warm-up progress.

Repeated errors may push the recovery review time further back. The wait timer ending does not mean the system automatically restores the account.

## Sessions and connections are separate layers

**Needs to sign in again** is a session state, not one of the five safety states above. When Telegram revokes a session, the account moves to this state.

Likewise:

- **Waiting for terms** — Telegram requires acceptance of new terms.
- **Signing in** — sign-in is in progress.
- **Proxy error** and **Machine disconnected** — operational conditions.
- **Paused** — a switch you enable.

When investigating, check the actual signals and stored state instead of inferring the cause from one word in an error message.

## When can you resume?

The system automatically moves toward worse states when it receives signals. Moving back to a better state requires human confirmation.

| State | Recovery conditions checked |
|---|---|
| Slowed down | The wait period has ended |
| Limited | The wait period has ended and there is a clean @SpamBot result after the waiting deadline |
| Frozen | There is appeal confirmation and a clean @SpamBot result |
| Banned | Cannot recover through the normal mechanism |

> [!IMPORTANT]
> A job held because of a safety state is not released simply because it has spent a long time in the queue. The state or required evidence must change.

Check the hold reason, waiting period, session, and connection before attempting recovery. Do not switch to Free to address these conditions.

## Related

- [Handle FLOOD_WAIT](https://tlg.builera.app/en/docs/troubleshooting/flood-wait)
- [Telegram limits](https://tlg.builera.app/en/docs/safety/telegram-limits)
- [Telegram sign-in](https://tlg.builera.app/en/docs/troubleshooting/telegram-login)
- [Limits and warm-up](https://tlg.builera.app/en/docs/concepts/limits-and-warmup)
- [States reference](https://tlg.builera.app/en/docs/reference/states)

