Skip to content

About

Open-source Telegram chat exporter, deleted & edited message logger, and OSINT forensics archiver. Save chat history, capture deleted messages, compare edit versions, and export signed HTML/JSON/CSV evidence.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

TgWitness — Follow the trail. Preserve the evidence. A hash-linked, signed journal, a separately retained checkpoint and a verifiable evidence archive.

Explore the interactive demo Download and start TgWitness Read the investigation handbook

Self-hosted workspace for Telegram investigations.
Save chats, keep edits and deletions, see who's connected to whom
and hand over signed exports anyone can check.

v0.9.1 · pre-release Tested environments 25 interface languages · 26 guide languages MIT

Measured exports · 6 November 2026

56,329 messages exported in two fresh runs. Both signed archives passed verification with pinned collector keys.

Measured collection and complete export speed

Run Messages Collection time Collection speed Complete export End-to-end speed
Server A 27,030 189.043 s 142.983 messages/s 211.647 s 127.713 messages/s
Server B 29,299 182.513 s 160.531 messages/s 206.650 s 141.781 messages/s

Text and metadata through WARP, two accounts per server, no attachments or reused records. These are individual runs on 92e539af, not a capacity guarantee.

Explore the English demo → · Measurements, dates and method → · Download a fictional sample export · Signed English audit

The version badge describes this source tree. Installable builds are listed under Releases; a feature merged into main is not automatically included in those downloads. Current capabilities and qualification · Choose a collection method

Install

Python included. Use the same commands to update. The download site automatically receives checked builds from main after Linux and Windows installation tests pass. Failed builds leave the previous download available; already installed panels update only when you rerun the installer.

Linux / macOS

curl -fsSL https://get.destroy.tools/install.sh | bash

Windows · PowerShell or CMD

powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "irm https://get.destroy.tools/install.ps1 | iex"

Ubuntu server: run as root. Desktop: run as your normal user.

Setup & panel access · Signatures & SHA-256 · Update · ZIP downloads

The TgWitness demo in motion: captured messages, saved versions and content retained after deletion. Fictional demonstration records.

Explore the actual interface with fictional records. Click the workspace to try it.

From a conversation to a case

Three animated workflows: export a chat to HTML and JSON, find a shared link across recorded chats, and retain captured versions after a deletion notice.

Chat export guide Investigation guide Collection and saved versions

Two ways to use it: export your account once, or follow an investigation and keep saving changes. Pick a few chats, a Telegram folder or the whole account. Each account gets its own workspace, session and signing key.

Export settings cover regular API and Takeout acquisition, message history before attachments, file downloads or server hashes, and compatible Telegram Desktop JSON/HTML views. GitHub capture supports an account or a selected chat, records partial results at its deadline, and splits large encrypted deliveries.

Distributed chat export offers an opt-in Takeout path for public history, signed checkpoints every 100 messages, and recovery within a range using the same account. Its performance design and remaining work separate tested acquisition behavior from unmeasured live throughput.

Built for the rest of the investigation

Track names and usernames by Telegram ID. Record supported bot interactions with signed receipts. Search archived messages and connect read-only MCP clients. Deploy a collector with SSH masked and provider records for review. Illustrative workflows.

People and dossiers Bot investigation

Archive search, AI and MCP Sealed cloud deployment

Everything else · history, accounts, proxies, AI, integrations
Load older messages Pull past history of selected chats, pause and resume any time
Several accounts Separate workspaces, each with its own Telegram session, journal and signing key
Batch import Drop in a pile of session files, sort accounts into groups with shared settings
MTProxy pool Ping, countries, filters, your own lists
Existing sessions TData, Telethon, Pyrogram, StringSession, auth key; optional independent QR authorization from an imported donor
Proxies SOCKS5, HTTP CONNECT or MTProxy per workspace. Hide IP never falls back to direct
Search and AI Local search, optional AI with sources you can check
Full-text search Word forms, exact phrases, domains, @usernames and Chinese without spaces, best matches first (Preview)
MCP Read-only access for MCP clients, limited to the chats you pick
Command line search, context, messages, stats and JSON Lines export with --json for scripts and agents, locally or with a scoped token (Preview)
OCR and transcription Runs locally, originals stay untouched
Independent capture Optional browser/AyuGram recorders in Extras (preview, off by default)
Trusted Live Official Desktop/Web session, guarded video and native-export continuity analysis (preview; live qualification pending)
Sealed official Web Fresh official browser on GitHub Actions, restricted controls, signed video and independently expected source/settings
Webhooks Signed outgoing events with retries, n8n example included
Shared access Give someone selected chats only, with expiry and IP limits
Missing message numbers Numbers Telegram assigned that were never observed, per channel and for the whole account, in coverage, reports and MCP (Preview)
Chat state snapshots Periodic signed snapshots of title, description, pins, administrators and gifts, with what changed (Preview)

Setup guide Prepare your account Docker and servers

Capture with GitHub provenance

Preview. Collect a chat on a GitHub-hosted runner with a pinned TgWitness and a fresh Telegram session, then download the encrypted archive with its GitHub attestation. The verifier checks the approved workflow and collector version, the archive digest, the journal and attachments. Also available under Exports in the panel.

Open the capture page · Instructions

A record someone else can check

An export carries the messages, files and the verifier. Send the recipient your key fingerprint and a checkpoint through another channel and they can check it themselves:

python -m tgwitness.verify evidence.zip --fingerprint TRUSTED_SHA256 --checkpoint checkpoint.json

The verifier checks signatures, the journal chain, the file manifest and attachments against your trusted inputs. With a retained checkpoint it also checks the archive against an earlier journal state.

Archive verification · Checks and tested scale

New messages, saved edits and deletion observations form a linked, signed journal. Verify it against an independently trusted key.

Evidence format · Independent witness · External timestamps

Choose what backs the record

Run locally, add an audited cloud deployment, or collect inside a Phala Cloud confidential VM with Intel TDX. Each option keeps the signed journal; the extra checks address the environment where it was collected.

For live observation, history or a one-off export, choose a collection method. Private cloud chats are available when the connected account can access them; Telegram Secret Chats are not collected. See collection scope.

Three deployment choices: local journal verification; an audited VM with provider and access records; Phala Intel TDX with a verified quote, measured OS and application, and a bound collector key.

The TDX verifier checks the quote against Intel's pinned root and revocation data, binds it to a signed collector statement and a fresh challenge, and compares the measured OS and application with independently expected inputs. The report lists each result separately. Attestation does not establish Telegram authorship or complete message delivery.

Phala / Intel TDX and audited deployments · Live Phala qualification · Trust boundaries

Check the capture and the saved record

Capture the conversation. Verify the record. Save messages, edits and files, check signatures and checkpoints, and review the capture process.

TgWitness records content delivered to the connected Telegram account, with chat, message and sender identifiers, captured versions and collection metadata. The archive brings those records, preserved attachments and verification data together for review.

Check What the recipient verifies
Signed journal and manifest Record signatures, the hash chain and delivered files against the expected signing key.
Separately retained checkpoint The journal against a previously recorded length and head hash.
Independent witness The journal against checkpoints retained by a separate witness.
GitHub Actions capture The archive against its attestation, approved hosted workflow and collector version.

Export Clinic shows a Telegram conversation beside deliberately altered Desktop export files. Compare the versions, inspect the changes, and follow the collection and verification steps for a signed TgWitness archive.

Verification steps · GitHub capture · Technical trust model

Keep the investigation running · notifications, storage and recovery Animated workflows: Apprise sends configured alerts; off-site copies are encrypted before upload to S3-compatible storage.

Notifications · Encrypted off-site copy · Backup and recovery · Troubleshooting

Collect cloud-chat data available to the connected account, with the selected period, attachment policy and recorded collection outcomes. See the mode comparison for history, live observation and sealed acquisition.

Technical documentation Investigation handbook Tested environments

Explore the repository

Directory Start here
docs/ Setup, investigation workflows and technical reference
tgwitness/ Main application, collector, journal and web panel
tgwitness_capture/ Independent recorders and their verification code
addons/ Optional capture installation, configuration and tests
deploy/ Installers, containers and background services
examples/ Account-export and sealed-capture configurations
integrations/ Signed webhooks and an n8n receiver
.agents/ Task instructions for reading the archive through the CLI
scripts/ Launchers and CI utilities
tools/ Builds, checks and packaging
website/ Public site, translated guides and interactive demo
.github/ Workflows, contribution guidelines and support

Complete project guide · Contributing · Get help

⚖️ Ethical Notice & Historical Continuity

We have recently learned that for certain law firms—and specifically Dr. Tobias Schelinski and Dr. Patrick Vincent Zurheide—mathematics and objective facts are irrelevant.

Selling GDPR non-compliance to corporations as a commercial service while failing at basic data handling yourselves is not legal expertise.

Operating under the delusion that you are the law, or that an elite signature on a falsified claim magically turns a lie into truth, does not mask technical incompetence.

This tool is incompatible with jurisdictions where the following prevail:

  • Corporatocracy
  • Privatized or commercial justice
  • Plutocracy
  • Kleptocracy and institutional corruption

A special mention to Dr. Patrick Zurheide, Dr. Tobias Schelinski, and those attempting to weaponize the "Right to be Forgotten" to bury their own data-processing failures, sanitize their institutional lineage, and erase the historical record:

Taylor Wessing (Dr. Tobias Schelinski & Dr. Patrick Vincent Zurheide) → Wessing & Berenberg-Gossler → Stonewall Top 100 → Dr. Graf von der Goltz Dr. Wessing & Partner (since 1957) → Rüdiger Graf von der Goltz → Paragraph 175 in its 1935 revision

To strictly comply with the MIT License, we do not restrict the use of this software. However, let it be clear: corporate retainers, legal intimidation, and demands for digital erasure cannot override history, rewrite lineage, or conceal the truth.

Source record

MIT License · Technical notice · Original NOTICE

Read the project overview in your language

English · Русский · Українська · Español · Português (Brasil) · Türkçe · العربية · فارسی · اردو · हिन्दी · Bahasa Indonesia · Tiếng Việt · 简体中文

Built by PhishDestroy Contribute Get help Report a vulnerability

About

Open-source Telegram chat exporter, deleted & edited message logger, and OSINT forensics archiver. Save chat history, capture deleted messages, compare edit versions, and export signed HTML/JSON/CSV evidence.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages