Портал

Безопасность и секреты

Эти правила обязательны и не обсуждаются. Их нарушение может привести к краже партнёрского токена и финансовым потерям.

Главные правила#

  1. Секреты никогда не попадают в git. Ни в код, ни в README, ни в примеры, ни в JSON-шаблоны, ни в комментарии. В репозитории допустим только файл .env.example с пустыми значениями.

  2. Токен живёт только в .env.local (файл в списке .gitignore и в git не попадает):

    cp .env.example .env.local
    # затем откройте .env.local и вставьте токен после «=»
    
  3. Браузер никогда не видит токен. Все запросы к 1Click идут через серверный прокси (/api/proxy/1click/...). Прокси сам читает ONECLICK_JWT из окружения сервера и добавляет заголовок X-API-Key. В клиентском коде, в шаблонах и в сохранённых запросах токена нет и быть не может.

  4. В шаблонах — только плейсхолдеры: YOUR_JWT, YOUR_NEAR_ACCOUNT.near, DEPOSIT_ADDRESS_FROM_QUOTE. Реальные значения не сохраняются.

  5. Логи без секретов. Прокси не пишет в логи ни заголовки, ни тела запросов; строки, похожие на JWT, автоматически заменяются на [REDACTED_JWT].

Если токен утёк#

  1. Немедленно зайдите в Partner Dashboard и перевыпустите (отзовите) токен.
  2. Обновите ONECLICK_JWT в .env.local на всех машинах, где запускается портал.
  3. Если токен попал в git — перевыпуска недостаточно, историю коммитов тоже нужно вычистить (обратитесь к разработчику).

Почему это важно#

Партнёрский JWT снимает платформенную комиссию 0.2% и привязан к вашему аккаунту дистрибьютора. Злоумышленник с вашим токеном может выполнять запросы от вашего имени. Кроме того, у 1Click нет тестовой сети — любые реальные свопы происходят с настоящими деньгами, поэтому проверяйте сценарии на маленьких суммах.

Проверка перед каждым коммитом#

  • git diff — просмотрите изменения глазами: нет ли строк, похожих на токены (eyJ...), приватных ключей, seed-фраз, реальных адресов с балансом.
  • Убедитесь, что .env.local не отображается в git status.