Держите X-API-Key за своим backend

Ключ ChainsFlow API авторизует все портфели своего API-аккаунта. Никогда не встраивайте его в Angular, React, мобильный binary или скачиваемые примеры. Браузер обращается к узкому same-origin BFF, который проверяет локальную связь user-to-portfolio перед передачей portfolioId.

Используйте secret manager и разные окружения

Храните raw key в deployment secret manager или защищённой environment variable, а не в Git, обычном поле БД или CI-логах. Создавайте разные ключи для local, staging и production. ChainsFlow API сохраняет только SHA-256 hash и короткий suffix, поэтому исходное значение нельзя восстановить после одноразовой выдачи.

Ротируйте ключ без лишнего downtime

Создайте новый ключ, разверните его на всех instances, проверьте трафик и только затем отзовите старый. При rolling deployment оба ключа могут кратко оставаться валидными. Сохраняйте в безопасных метриках ID или suffix, чтобы найти instance со старым credential, не логируя секрет.

Редактируйте headers, payload secrets и credentials бирж

Access logs, reverse proxy, APM и exception reporters могут сохранять headers автоматически. Явно скрывайте X-API-Key, exchange apiKey, apiSecret и passphrase. Для большинства расследований достаточно correlation ID, имени операции, статуса, кредитной стоимости и latency.

При инциденте сначала отзывайте ключ

Если ключ мог утечь, отзовите его в developer dashboard, выпустите замену и проверьте usage на неожиданные portfolio operations. Ротация ChainsFlow API key не отзывает exchange credentials отдельных подключений. Храните только минимальные audit evidence.