Подключить клуб →
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 участников. Все защитные механизмы — уже включены, ничего настраивать не надо.

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