Наша модель безопасности
J Tools выполняет операции с вашими токенами, никогда не забирая ваш кошелёк на хранение. Транзакции с ваших кошельков подписываются на вашей стороне, платформа собирает и отправляет их, а за всем этим стоят защитные проверки на сервере.
Коротко
#короткоНекастодиальность по устройству
#некастодиальность-по-устройствуJ Tools никогда не просит seed-фразу и никогда не хранит ваши средства. Когда вы работаете через подключённый кошелёк, каждая подпись происходит внутри этого кошелька через адаптер кошелька, и в сеть уходит только подписанная транзакция. Приватный ключ кошелька никогда его не покидает.
Страница J Tools
1Вы настраиваете действие в J Tools
Транзакция приходит в ваш кошелёк
Ваш кошелёк
2Ваш кошелёк показывает транзакцию
3Вы подтверждаете и подписываете в своём кошельке
Ключи подключённого кошелька никогда его не покидают
Наружу уходит только подпись, но никогда не ключ
Solana
4Подписанная транзакция отправляется в Solana
Некоторые инструменты могут подписывать и приватными ключами, которые вы вставляете, потому что работают с множеством кошельков, которые не подключить через адаптер: среди них «Массовая сделка», «Мульти Swap», «Массовая отправка», «Сбор с кошельков», релейные инструменты, «Pump.fun: запуск и bundle-выкуп» и инструменты для вывода комиссий. Эти ключи остаются во вкладке браузера, подписывают там и нам не отправляются. Ключ, вставленный как источник приватного ключа для инструмента, стирается через 15 минут. Считайте такие кошельки одноразовыми горячими кошельками. «Увеличить холдеров» единственный инструмент, который передаёт ключ нашим серверам: для каждого запуска он создаёт новый кошелёк-распределитель, ключи кошельков-холдеров сохраняет в резервный файл, который вы скачиваете, и отправляет в зашифрованном виде только ключ распределителя, чтобы наш воркер мог закончить запуск после того, как вы закроете вкладку. Если страница просит seed-фразу, это не мы.
Журнал аудита, в котором видно подделку
#журнал-аудита-в-котором-видно-подделкуДействия администраторов записываются в журнал аудита, куда можно только добавлять записи. В каждой строке есть prev_hash, SHA-256 хеш предыдущей строки, поэтому записи связаны в цепочку. Если изменить или удалить одну строку, все хеши после неё перестанут совпадать, и правка станет очевидной. Пароли и токены сессий в записи журнала не попадают.
Белый список RPC и лимиты запросов
#белый-список-rpc-и-лимиты-запросовБраузер не обращается к ноде Solana напрямую. Он идёт через шлюз, который пропускает только фиксированный список методов чтения, а также отправку и симуляцию транзакций, и ограничивает число запросов с одного IP. Адреса и ключи RPC хранятся на сервере, поэтому браузеру нечего слить. Лимиты действуют для каждого эндпоинта отдельно, а реальный IP клиента берётся из крайнего правого значения x-forwarded-for, чтобы лимит нельзя было обойти поддельным заголовком.
Защита от кражи комиссий
#защита-от-кражи-комиссийКогда инструмент берёт комиссию платформы, сумма, записанная для партнёрской комиссии, берётся из наших собственных настроек комиссий или из SOL, которые реально пришли на кошелёк платформы в блокчейне, и никогда не из числа, присланного браузером. Ни один путь не доверяет комиссии, переданной клиентом. Полную разбивку (итог, комиссия платформы и оценка сетевой комиссии) вы видите в карточке комиссии инструмента до подтверждения. Справочные значения смотрите в сводке комиссий в приложении или в таблице комиссий.
Доступ к админке закрыт
#доступ-к-админке-закрытЧтобы попасть в панель администратора, нужны пароль и код TOTP, и проверяет их сервер. Процесс входа устроен так, чтобы ничего не выдавать.
TOTP обязателен. Коды проверяются на сервере, а серия неудачных попыток блокирует вход на время. Причина блокировки клиенту никогда не сообщается.
Пароли администраторов хранятся только в виде односторонних хешей и задаются через переменные окружения. Экрана сброса пароля нет ни в панели, ни в API; чтобы сменить пароль, нужно новое значение переменной и деплой.
Неудачный вход возвращает одно и то же общее сообщение, что бы ни оказалось неверным: имя пользователя, пароль или код, а проверка несуществующего имени занимает столько же времени, сколько настоящего. Заблокированный вход сообщает только, что попыток было слишком много, и никогда не говорит, какой лимит сработал. Попытки входа ограничены и по IP, и по имени пользователя.
Сессии хранятся на сервере, используют cookie с флагами httpOnly, Secure, SameSite=Strict и случайные идентификаторы. При входе они обновляются для защиты от фиксации сессии, истекают при бездействии, а их число для каждого администратора ограничено.
OPSEC везде
#opsec-вездеОперационная безопасность это постоянное правило для каждого эндпоинта и каждой страницы. Секреты, приватные ключи и полные токены не попадают в логи. Ответ клиенту при ошибке содержит короткое сообщение, часто с кодом, но без трассировки стека, внутренних путей и деталей базы данных; полная картина остаётся в логах сервера. Статьи блога, подготовленные автоматикой, остаются черновиками, пока их не опубликует администратор, поэтому ничего не доходит до читателей без решения человека.
© 2026 J Tools