Держите 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.