- Читает из Telegram: только названия, типы и статусы чатов, описания каналов (about), количество непрочитанных и mute-статусы. Переписка не читается. Фото и файлы не скачиваются.
- Сессия Telegram (после QR-логина) хранится зашифрованной AES-256-GCM локально в
data/organizer.db; ключ шифрования — переменная окруженияSESSION_KEY, которая нигде не публикуется. TTL сессии — 24 часа, после применения папок — 1 час. - Ничего не отправляется наружу: нет сторонних аналитик, трекеров, телеметрии. Все вычисления (классификация, эмбеддинги) идут локально.
- Снапшот чатов (список названий) и результат классификации хранятся локально в SQLite и удаляются вместе с БД (
rm -rf data/). - Кнопка «Забыть сессию» в мини-аппе и команда
/forgetв боте удаляют сессию немедленно.
Весь бэкенд — ~2000 строк TypeScript в apps/server и packages/. Ключевые места:
packages/mtproto/src/chats.ts— что именно читается из Telegram (толькоmessages.getDialogsиchannels.getChannels).packages/mtproto/src/client.ts+packages/db/src/index.ts— шифрование сессии.apps/server/src/jobs.ts— весь конвейер анализа и применения.
См. README → «Быстрый старт». Нужен свой BOT_TOKEN, TELEGRAM_API_ID/HASH, SESSION_KEY и JWT_SECRET — тогда все данные живут только на твоей машине.
Пишите на GitHub Issues: https://github.com/yava-code/Telegram-Cleaner/issues