Подключить клуб →
security.deep / банковский стандарт

Данные вашего клуба под защитой

Excel под паролем на ноутбуке кассира - не защита. Вот как защищены деньги клуба, данные клиентов и бизнес-партнёрства в CompClub. Без воды и обтекаемых формулировок - только конкретные механизмы.

AES-128 шифрование секретов HMAC-подпись Telegram Полный audit trail

Когда вы доверяете данные клиентов и финансы клуба сторонней системе, есть один разумный вопрос: «А если оно утечёт?» Ниже - что мы делаем чтобы такого не случилось, и что вы можете контролировать сами.

🔒

Шифрование секретов

Все API-ключи (LanGame, AI-генератор, токены ботов) шифруются алгоритмом Fernet (AES-128) прямо в момент сохранения. Master-ключ хранится в переменных окружения сервера - отдельно от базы данных. Если когда-нибудь утечёт дамп БД - все ваши ключи останутся набором нечитаемых байт.

// что вы получаете
  • Никто (даже мы) не видит ваш LanGame-ключ в открытом виде в БД
  • Утечка дампа БД ≠ утечка ключей - расшифровать без master-ключа невозможно
  • Master-ключ ротируется по запросу - старые шифровки перешифровываются
🔐

Telegram-вход не подделать

Каждый запрос из Mini App подписан Telegram-ом по протоколу HMAC-SHA256. Подпись проверяется на сервере при каждом действии. Подделать вход с чужого tg_id невозможно - нужно иметь приватный ключ Telegram, которого нет даже у нас. Сравнение хэшей идёт через hmac.compare_digest() - без timing-атак.

Дополнительно: двухконтурная авторизация. Кабинет владельца (@CompclubSpace_bot) и Mini App клиента (@CompclubApp_bot) используют разные токены. Скомпрометировать один - не значит получить доступ ко второму. Совсем разные миры.

// что вы получаете
  • Невозможно зайти за чужого пользователя без его Telegram-сессии
  • Никаких паролей, форм логина, фишинга - авторизация делегирована Telegram
  • Утечка одного бот-токена не открывает доступ к другому
🛑

Stop-кран на выплаты

У владельца клуба есть «тревожная кнопка» в кабинете - одним тапом замораживаются выводы бонусов. Клиенты видят ваше пользовательское сообщение («технические работы», «проверка системы»), новые заявки на вывод не создаются, уже созданные ждут вашего решения.

// когда пригодится
  • Подозрение на фарм / координированные злоупотребления - выключить за секунду
  • Аудиторская проверка - заморозить движение бонусов на время проверки
  • Форс-мажор (отключение света, сбой кассы) - прозрачное сообщение клиентам

48 часов на оспаривание удаления совладельца

В клубе может быть несколько владельцев (партнёры, семейный бизнес). Если один захочет «снять» другого - это не сработает в один клик. Запускается 48-часовое окно, удаляемый совладелец немедленно получает Telegram-уведомление с кнопкой «Я не согласен». Один клик - и удаление отменяется.

За 48 часов вы можете спокойно созвониться, обсудить, найти компромисс. Если возражений нет - удаление идёт автоматом по cron'у. Никаких внезапных корпоративных переворотов.

// что вы получаете
  • Защита партнёрских отношений от импульсивных решений
  • Прозрачность: каждое действие со staff-ролями видно всем владельцам
  • Роли разделены - admin не может удалить owner, manager не может снять других owner
📋

Audit trail + Cash handoff с двойным контролем

Каждое действие админа или рецепшена фиксируется в БД: кто, когда, что сделал, кому, сколько. Выдал кейс - лог. Активировал промокод - лог. Начислил бонус - лог. Списать или подделать запись задним числом нельзя (audit-таблица только write-append).

При сдаче смены - Cash handoff с двойным контролем. Сдающий админ вводит сумму налички в кассе, инкас за смену, расходы. Принимающий - сумму налички которую он реально видит. Обе цифры фиксируются. При расхождении > 500 ₽ владелец получает алерт. Если кто-то попытался force-close чужую смену - отстранённый админ немедленно получит push в Telegram с деталями.

// что вы получаете
  • Полный журнал действий персонала - никто не «забыл» что сделал
  • Касса передаётся под две подписи цифрово, расхождения подсвечиваются
  • Невозможно тихо закрыть чужую смену - отстранённый узнаёт мгновенно
💳

Платежи как у банка

Подписки клуба и продажа AI-pack идут через ЮKassa. Webhook-уведомления о платежах валидируются по IP-диапазонам ЮKassa - webhook с не-их сервера отбрасывается до того как попадёт в логику. Идемпотентность через UNIQUE-индекс на yookassa_payment_id - повторный webhook не создаёт двойного начисления, даже если ЮKassa решит retry.

Соответствие 54-ФЗ: после оплаты клиенту автоматически уходит фискальный чек на email/SMS. Все чеки доступны в личном кабинете ЮKassa, выгрузка для бухгалтерии - одной кнопкой.

// что вы получаете
  • Невозможно подделать «успешный платёж» - IP-валидация на стороне сервера
  • Дубль-платежи невозможны - БД отвергает на уровне UNIQUE-constraint
  • Бухгалтерия чистая: чеки 54-ФЗ автоматом, ИП/ООО на ЮKassa без боли
🛡

Защита от спама и перебора

Все «дорогие» эндпоинты (платежи, broadcast, регистрация клуба, инвайты) защищены rate-limit'ом на уровне приложения. По умолчанию: 5 платежей/час с одного аккаунта, 10 broadcast/мин, 5 регистраций клубов/день. Привязка к Telegram-ID, иначе к IP. При превышении - автоматическая блокировка с понятным сообщением.

Дополнительно - fail2ban на уровне сервера. Кто-то стучит подбором паролей в SSH или другие порты - IP блокируется на час.

// что вы получаете
  • DDoS / abuse не положат сервис - критичные эндпоинты защищены
  • Скрипты-боты не могут штамповать клубы или промокоды
  • Никакого «друга друга подключаем по одной ссылке 100 раз» - лимиты разумные

Готовы подключить клуб?

15 минут на регистрацию, 0 ₽ до 100 участников. Все защитные механизмы - уже включены, ничего настраивать не надо.

Подключить клуб →