MowoGram is a fork of Telegram Desktop built around one rule: your data stays on your computer. Nothing about you is sent anywhere the stock client would not send it, and everything the fork adds is stored locally, in plain files you can read, move or delete yourself.
Built from clean Telegram Desktop 7.0.8. Source is published under GPLv3 with the OpenSSL exception, the same as upstream — see LICENSE.
Deleted messages stay where they were. When someone deletes a message it keeps its place in the chat with a bin icon next to the time, and it is written to disk so a restart does not lose it — text, photos, videos, voice messages and round videos all come back into the bubble, played straight from your own copy.
Edited messages keep their previous versions. Right-click any edited message and pick Message history to see every version with its timestamp.
Deleted messages in the main menu opens a screen of everything saved: search across text, author and chat at once, tabs for deleted / edited / one-time, and cards with the author's avatar, a link to their profile and a link that jumps to the original message.
Saving is configurable. Pick which sources it applies to — private chats, groups, channels, bots, your own messages — and exclude individual chats from the chat menu. An excluded chat behaves exactly like stock Telegram: nothing is kept, nothing is written.
View-once photos, videos, voice messages and round videos can be opened as many times as you like, and are copied to disk when you first view them. Viewed one-time messages get a flame badge next to the timestamp.
One switch in the main menu, next to Night Mode, or fine-grained control in settings: stop sending read receipts, stop broadcasting online status, stop sending typing and recording indicators. Individually or all at once.
Two context-menu actions go with it: Read Message marks a single message read when you actually want the sender to know, and Burn destroys a one-time message for real.
Developers, the team and supporters get a badge next to their name — in the chat list, in group member lists, in the chat header and on profile pages. Clicking it explains what the badge means.
Badges come from a list the client reads locally. You can also tag anyone with a private badge of your own from their chat menu, visible only to you.
Profiles show the data centre a peer's files live on and their numeric ID, in either bare or Bot API form. Click to copy. The message context menu copies the message ID and the chat ID. All of it is read from data the client already has — no extra requests.
Sponsored messages can be hidden. Local Premium unlocks the client-side parts of Premium: animated statuses and interface limits. Anything the server checks — uploads, reactions, boosts — stays unavailable, because that is not something a client can decide.
Crash reporting and auto-update are compiled out. The client talks to Telegram and to nothing else.
Next to the application data:
| File | What it holds |
|---|---|
mowogram.json |
Settings, including the excluded-chat list |
mowogram_saved.jsonl |
Saved messages, one JSON object per line |
mowogram_media/ |
Copies of saved photos, videos and voice messages |
mowogram_badges.json |
Your private per-peer badges |
mowogram_roles.json |
Cached badge list |
Plain text and plain files. Delete any of them and the feature simply starts over; there is no hidden database.
Windows 10 and above, 64-bit. macOS and Linux builds are not published yet — the code is upstream's and should build, but nobody has verified it.
The upstream instructions apply unchanged:
Pass your own TDESKTOP_API_ID and TDESKTOP_API_HASH to CMake, and add
-D DESKTOP_APP_DISABLE_CRASH_REPORTS=ON -D DESKTOP_APP_DISABLE_AUTOUPDATE=ON
to build the client the way it ships.
- Client channel — @Mowogram
- Studio channel — @mowogroup
MowoGram inherits every dependency of Telegram Desktop — Qt, OpenSSL, WebRTC, FFmpeg, Opus and the rest. The full list with licences is in the upstream README.