Добавить в корзинуПозвонить
Найти в Дзене
Signal Flow

Защита конфиденциальных данных в Telegram-чатах

🔒 Telegram — удобный мессенджер, но даже он не гарантирует полной безопасности переписки. Пользователи часто делятся в чатах личными данными, финансовой информацией и корпоративными секретами, что может привести к утечкам. Как защитить данные автоматически?
Решение — SensitiveDataMiddleware — специальный модуль для Telegram-ботов, который:
✔ Находит конфиденциальные данные (номера карт, телефоны, криптокошельки)
✔ Удаляет опасные сообщения
✔ Маскирует чувствительную информацию
✔ Оповещает участников о нарушении Middleware проверяет все сообщения в чатах с помощью регулярных выражений и ищет: def _find_sensitive_data(self, text: str) -> list:
"""Находит конфиденциальные данные в тексте"""
phones = re.findall(r'(?:\+|\b)[\d\(\)\- ]{7,}\d', text) # Телефоны
cards = re.findall(r'\b(?:\d[ \-]?){15,18}\d\b', text) # Банковские карты
wallets = re.findall(r'\b(?:\d{11,16}|[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})\b', text) # Электронные кошельки
crypto = re.findal
Оглавление
Защита конфиденциальных данных в Telegram-чатах
Защита конфиденциальных данных в Telegram-чатах

🔒 Telegram — удобный мессенджер, но даже он не гарантирует полной безопасности переписки. Пользователи часто делятся в чатах личными данными, финансовой информацией и корпоративными секретами, что может привести к утечкам.

Как защитить данные автоматически?
Решение —
SensitiveDataMiddleware — специальный модуль для Telegram-ботов, который:
Находит конфиденциальные данные (номера карт, телефоны, криптокошельки)
Удаляет опасные сообщения
Маскирует чувствительную информацию
Оповещает участников о нарушении

Как это работает?

1. Обнаружение конфиденциальных данных

Middleware проверяет все сообщения в чатах с помощью регулярных выражений и ищет:

  • 📱 Телефоны (+7 (XXX) XXX-XX-XX)
  • 💳 Банковские карты (XXXX XXXX XXXX XXXX)
  • Криптокошельки (0x..., bc1q...)
  • 📧 Электронные кошельки (Qiwi, WebMoney)
def _find_sensitive_data(self, text: str) -> list:
"""Находит конфиденциальные данные в тексте"""
phones = re.findall(r'(?:\+|\b)[\d\(\)\- ]{7,}\d', text) # Телефоны
cards = re.findall(r'\b(?:\d[ \-]?){15,18}\d\b', text) # Банковские карты
wallets = re.findall(r'\b(?:\d{11,16}|[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})\b', text) # Электронные кошельки
crypto = re.findall(r'\b(?:0x[a-fA-F0-9]{40}|[13][a-km-zA-HJ-NP-Z1-9]{25,34})\b', text) # Криптоадреса
return phones + cards + wallets + crypto

2. Автоматическая маскировка и удаление

Если бот находит опасные данные:

  1. Удаляет исходное сообщение
  2. Заменяет часть символов на ***
  3. Отправляет уведомление с безопасной версией текста
await message.delete() # Удаление оригинала
filtered_text = self._mask_sensitive_data(text) # Маскировка
await self.bot.send_message(
chat_id=message.chat.id,
text=f"🔒 {user_mention}, ваше сообщение содержало конфиденциальные данные:\n{filtered_text}",
reply_to_message_id=reply_to_message_id
)

3. Гибкая настройка под ваши нужды

Можно добавить:

  • 📄 Паспортные данные
  • 📝 Номера договоров
  • 🛡 Белые списки для доверенных пользователей
# Пример: полное скрытие email
text = re.sub(r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}', '[email скрыт]', text)

Где это пригодится?

Корпоративные чаты — защита внутренней переписки
Публичные группы — автоматическая модерация
Финансовые боты — безопасность платежных данных
Чаты поддержки — предотвращение утечек клиентской информации

🔗 Полный исходный код доступен на GitHub

Вывод

SensitiveDataMiddleware — это автоматический защитник вашего Telegram-чата. Он быстро находит и скрывает конфиденциальные данные, снижая риски утечек.

🚀 Нужен такой бот?
Команда
ELSE (https://else.com.ru/) разрабатывает кастомизированные решения для безопасного общения в Telegram.

📌 Теги:
#Telegram #Безопасность #Конфиденциальность #Боты #Кибербезопасность #Финансы #Данные #Модерация

💡 Хотите защитить свой чат?
👉
Закажите бота на else.com.ru