Skip to content

Security: yava-code/Telegram-Cleaner

Security

SECURITY.md

Безопасность

Что сервер делает с данными

  • Читает из 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

There aren't any published security advisories