Private Telegram client · open source

Same Telegram.Zero knowledge.

zkgram is a private Telegram client: it wraps your existing Telegram account in an independent, open‑source end‑to‑end encryption layer. Telegram still carries every message - it just never gets to read one.

What Telegram sees
What your contact sees
Not staged

Two screenshots, not a mockup

The panels above are a simulation for this page. These two are not - one real Telegram client with zkgram's disguise turned on, one zkgram session log completing a real key exchange.

Real Telegram app · disguised ciphertext Real Telegram chat screenshot showing zkgram's disguised ciphertext rendered as ordinary-looking word-salad text instead of visible encrypted data
zkgram's own console · encryption handshake zkgram console log showing the ECDH key exchange and signature verification steps completing, ending in Encrypted session ready followed by a Hello world exchange
1

Three parties who never fully trust each other

TELEGRAM SERVERS TRANSPORT TelegramClient talks to TDLib only has no idea it carries ciphertext SESSION core::Session the only layer allowed to know about both sides wires one chat's transport events to one encrypted session CRYPTOGRAPHY CryptoLayer embedded Python bridge has no idea Telegram exists INTERFACE · SWAPPABLE UiProvider Qt today, replaceable TDLib bytes encrypt decrypt no direct call, ever Transport and Cryptography only reach each other by going through Session
The missing line is the point. TelegramClient and CryptoLayer are never wired to each other - only Session knows about both, which is what keeps swapping the UI, the transport, or the crypto backend a one-layer change, not a rewrite.
2

Spec sheet, not a marketing claim

Key exchange
ECDH · SECP256R1 - fresh every session
Cipher
AES‑256‑GCM - per message
Handshake signing
ECDSA - blocks man‑in‑the‑middle
Forward secrecy
Session keys never written to disk
Local cache
PBKDF2‑HMAC‑SHA256 AES‑256‑CTR
Disguise
Ciphertext encoded as ordinary words
Dictionary
Bring your own word list - not locked to the default set
Rust
Not a single line - and it still compiles
Electron
0 windows, 0 renderer processes - your battery says thanks

Designed and built by Gerätetechnik, an embedded and security engineering studio.

3

The fine print Telegram would rather you skim

"If Telegram receives a valid order from the relevant judicial authorities that confirms you're a suspect in a case involving criminal activities that violate the Telegram Terms of Service, we will perform a legal analysis of the request and may disclose your IP address and phone number to the relevant authorities."
Source Telegram's own Privacy Policy, section 8.3 · telegram.org/privacy →
900
US · 2024requests fulfilled, 2,253 users affected
14,641
India · 2024requests fulfilled, 23,535 users affected
142
UK · 2024requests fulfilled, 293 users affected

Regular Telegram chats were never end-to-end encrypted, so Telegram already holds the technical ability to read their content - that's the whole reason this project exists. What the numbers above add is that, on a valid court order, it will also hand over your phone number and IP address. zkgram does not change either of those facts about how Telegram itself is built. It changes what is actually inside the message by the time it gets anywhere near Telegram at all.

Numbers sourced from Telegram's own transparency reports, via TechCrunch, Jan 2025 and BleepingComputer

4

Meanwhile: Telegram's new AI reads your draft before you even hit send

"The text editor utilizes the Cocoon Network to give users complete privacy. Requests are processed in a confidential environment with zero access to user data."
Source Telegram's own blog, announcing the AI Editor · telegram.org/blog/ai-editor-mighty-polls-and-more →
0
Independent auditsof the Cocoon Network, published by anyone but Telegram
1
Company decidingwhat "zero access" means - the one that built it
Telegram's own official AI Editor screenshot: a drafted message is rewritten by AI before sending, with Translate, Style, and Fix options above it
Image credit: Telegram, from its own AI Editor announcement - used here for commentary.

Type more than three lines in the stock Telegram app and an AI icon offers to translate it, fix your grammar, or rewrite it in a different tone. Tap it, and your drafted text - the message you haven't sent yet - leaves your device and goes to Telegram's own "Cocoon Network" for processing. The promise that nobody looks at it is made entirely by the same company that built and runs that network. Nobody outside Telegram has audited it.

This has nothing to do with zkgram sessions themselves - zkgram's own composer never goes near Telegram's AI Editor. It is what is now built into the stock app everyone else is using, for every other chat they have, encrypted or not, and it processes drafted text before a single character of any encryption gets a chance to run on it.