Skip to content

Privacy Controls

TelegramOS privacy controls: the analytics opt-out, session vault, what is encrypted at rest, who can read what, and where data is processed.

The platform gives you a small number of privacy controls. This page lists the ones that exist, what they actually do, and what is stored in plain form.

Privacy toggles

Message analytics

Settings > Privacy > Message analytics. Stored per user as analytics_enabled (default on).

  • On (default): Message events from your accounts are processed into workspace analytics and AI insights. See Analytics.
  • Off: The analytics API and AI insights refuse to compute or return message-derived analytics for your workspace. The check fails closed: if the preference cannot be read, nothing is shown. Event collection itself is not switched off; already-collected events are not deleted.

Session vault

Accounts > (owned account) > Vault. Re-encrypts the account's Telegram session under a passphrase you hold, so the platform cannot read it while the vault is locked. Automation runs only during an unlock window (default 1 hour, maximum 24 hours). Losing the passphrase means logging the account in again from Telegram. Not available for rented accounts. Details in Security › Vault mode.

Telegram privacy settings per account

Accounts > Edit profile shows the account's real Telegram privacy settings (who can see phone, last seen, profile photo, and so on) read live from Telegram, and lets you change them. These are Telegram's own settings applied through the account's session, not platform settings.

What is not configurable

  • Login-code hiding is not a toggle. Conversations with Telegram's system account (peer 777000) are always hidden for rented accounts and always visible for owned accounts.
  • Runtime isolation is not a toggle. Every active account always runs in its own worker process.

What is encrypted at rest

DataEncryption
Telegram session stringsFernet under the platform session key; optional per-account envelope or passphrase vault
Proxy credentialsFernet, same key
Bot API tokensAES-256-GCM, key derived from the platform master secret
Webhook signing secretsFernet
TOTP secretsFernet, when a TOTP encryption key is configured
Passwordsbcrypt hash only
2FA backup codes, refresh tokens, API keysSHA-256 hash only
Message content and conversation metadataNot encrypted at the application layer
Attachments (MinIO)Not encrypted server-side
Analytics events (ClickHouse)Not encrypted at the application layer
Database backupsNot encrypted; local volumes on the database host, with no off-site copy

There is no KMS-managed key hierarchy and no scheduled key rotation. See Security › Encryption.

Secrets handling and what gets logged

The following never exist in plain form in the database:

  • Plaintext passwords (bcrypt only).
  • 2FA backup codes, refresh tokens and API keys (hashes only; the API key is shown once at creation).
  • Payment card data. The platform does not accept cards. Crypto top-ups are processed by NowPayments and Telegram Stars by Telegram; only the resulting payment status and amount reach the platform.

The following is recorded, so you should know about it:

  • Webhook deliveries: the full event payload sent to your endpoint, the HTTP status and the first 400 bytes of your endpoint's response, kept 7 days (delivered) or 30 days (failed).
  • Connection audit: per Telegram connection, the proxy host and port, device model, outcome, error text and duration.
  • Audit logs: team-management actions with actor, IP address and user agent; session exports; proxy lifecycle actions.
  • HTTP access logs: client IP, method, path, status and user agent at the edge and in each service. Request bodies are not written to access logs.
  • Message bodies: stored as ordinary rows so the inbox, search and analytics can read them. Operational log lines reference message IDs and counts rather than bodies, but this is convention, not a redaction layer.

Data access controls

Roles come from the team RBAC engine. Owners can override individual permissions per member.

RoleDefault permissions
OwnerEverything, including billing management and team settings
AdminRead, write and delete accounts; read, run, write and delete tasks; read and reply in the inbox; analytics; read and write bots; invite, update and remove members; read audit logs; read billing. Cannot manage billing or team settings.
OperatorRead accounts; read and run tasks; read and reply in the inbox; analytics; read bots; read members. Cannot create or edit accounts, bots or tasks.
ViewerRead accounts, tasks, inbox, analytics, bots and members. Read-only, but this includes message content.

A viewer can read conversations. If a member should not see message bodies, remove inbox:read for that member in Settings > Team.

Session export (the raw Telegram session string) is available only to the owning tenant for owned accounts, is refused in vault mode, and every export is written to the audit log.

Data processing location

The platform runs on a single host in Helsinki, Finland (EU). Postgres, Redis, ClickHouse, MinIO and all backups live on that host. Proxy traffic egresses from the proxy's assigned region, which may differ.

Third parties that process data on the platform's behalf:

ProcessorPurposeData
CloudflareEdge proxy and TLSAll web traffic
NodeMavenResidential proxiesTelegram traffic of the accounts using rented proxies
NowPaymentsCrypto top-upsOrder amount, order ID, payment status
TelegramStars payments, bot login, support botTelegram user ID, payment status, support messages
GoogleOptional Google sign-inEmail and profile from the OAuth consent
AI providers (OpenAI, Anthropic, DeepSeek, OpenRouter)AI reply, insights and persona features, only when you use themThe conversation text sent for that request

Data retention

DataRetention
Messages, conversations, contactsUntil you delete the account (owned) or the rental is returned. Deleting an owned account removes its message, task, rule and flow rows by database cascade; the inbox conversation index rows are not removed automatically
Rented accountsOn return, chats are deleted on the Telegram side for both parties before the account goes back to the pool
Account health log90 days
Webhook deliveries7 days delivered, 30 days failed
Login sessionsPruned 7 days after expiry
Audit and connection logsNo automatic expiry
Postgres logical dumpDaily, 7 days
Postgres point-in-time backupsDaily base backup plus WAL, 3 days

For deletion requests and what a deletion actually removes, see Policies & Rights.

Report an issue with this page