Безопасность API-ключей и Webhooks
Секретные ключи остаются на серверах, события Webhooks проверяются по подписи, а перевыпуск ключа — обычная рутина.
Секретные ключи (sk_…) должны храниться на вашем сервере, в хранилище секретов, и никогда — в репозитории, мобильном приложении или во фронтенд-коде на JavaScript. Публикуемые ключи (pk_…) — это те, которые безопасно передавать в браузер.
Перевыпускайте ключ всякий раз, когда кто-то уходит из команды, теряется ноутбук или ключ мог попасть в логи. Перевыпуск задуман как рутинная операция.
Проверяйте подпись каждого события Webhooks, прежде чем доверять его содержимому, и обрабатывайте события идемпотентно — доставка гарантируется «хотя бы один раз», а порядок не гарантируется.
Давайте разработчикам роль «Разработчик». Она позволяет управлять ключами и Webhooks, но не двигать деньги, что ограничивает масштаб ущерба при любой компрометации.