> ## Documentation index
> Fetch the complete documentation index at: https://tgcloud.docs7.io/llms.txt
> Ask it with GET https://tgcloud.docs7.io/ask?q=<keywords or question>. Short keywords rank best.
> Use these to discover all available pages before exploring further.

# Security

> Guardrails, tokens and confirmations

# Security

`tgcloud-mcp` is an unofficial community server. It is not affiliated with
Telegram. The official platform tool is `@tgcloud/cli`. This server only
launches that CLI and returns its output. Supply-chain notes are in
[SECURITY.md](https://github.com/sdamarketing/tgcloud_mcp/blob/main/SECURITY.md).

## Destructive operations require `confirm: true`

- `reset` — discard working module files back to the cloud snapshot
- `push` with `force: true` — overwrite cloud state
- `upgrade` with `dry_run: false` — move a pre-0.2.0 project into `tgcloud/`
- `migrate` with `dry_run: false` — apply migrations, including `.deprecated` drops when `apply` is `"yes"`
- `webhook_sync` with `drop_pending: true` — drop the pending update queue

Without `confirm: true` the tool refuses and tells the agent to show the user
exactly what will change and get an explicit yes.

`deploy` builds and pushes without `--force`. It does not ask for `confirm`.
It still does not migrate.

## Tokens

- The CLI access token (`app<id>:<secret>`) goes to the CLI via stdin or
  `TGCLOUD_TOKEN` and is **masked** in every tool result, as are Bot API tokens.
- Do not store tokens in project files. `.tgcloud/`, where the CLI saves
  credentials, is gitignored by the scaffold.

## Network access

The server needs access to `cloud.telegram.org`. If Telegram is unreachable
from the machine, point the CLI wrapper through a proxy
(`TGCLOUD_CLI` → a script with `HTTPS_PROXY` and `NODE_USE_ENV_PROXY=1`).

The server does not send tokens anywhere except through the CLI, which talks
to the platform. It does not run arbitrary code beyond the CLI command you asked for.
