IOSOR База знаний
Sandbox-учётные данные, которые не жгут Live debit
Выпускайте sandbox API-ключи без hold и debit предоплатного кошелька. Держите Live-ключи вне CI и доказывайте cutover в Developers.
Sandbox-учётные данные нужны, чтобы инженерия слала тестовый трафик без касания предоплатного ledger. Live debit с sandbox-ключа должен быть невозможен — не мягкое предупреждение в README, которое никто не читает во время инцидента.
IOSOR держит sandbox на отдельной credit posture: тестовые OTP и алерты могут проходить в sandbox-полосе, пока кошелёк остаётся плоским. Если hold или debit появился от ключа с меткой sandbox, учётка скоуплена неверно и её отзывают до следующего прогона CI.
Отделите sandbox-ключи от Live hold
Создайте в Developers sandbox-ключ, который не открывает prepaid hold. Докажите: тестовый OTP в sandbox-полосе успешен при нулевом debit и нулевом MRC в ту же минуту. Выгрузите ledger за окно и положите доказательство рядом с id ключа.
Если появилась строка hold — немедленно отзовите ключ как дефект учётных данных, а не «флаки-тест». Выпустите правильно скоупленный sandbox-ключ и повторите доказательство, пока ledger не останется плоским.
Привяжите CI и staging только к sandbox
Переменные CI и staging указывают только на sandbox-учётки. Никогда не вставляйте Live-ключ в секрет GitHub, docker-compose, .env ноутбука для демо или общую папку password manager с ярлыком «test».
Ротируйте любой Live-ключ, который светился в тестовом стенде. Зафиксируйте время ротации, чтобы финансы могли сверить случайный debit с окном утечки. Staging-хост, который после ротации всё ещё держит Live-секрет, валит следующий deploy-гейт.
Докажите изоляцию debit до первого пилота
Выгрузите ledger за окно sandbox-отправки до приглашения пилотного хоста. Подтвердите: нет hold, нет debit, нет Live-пути тихих часов с sandbox-ключа. Положите доказательство рядом с id ключа для аудита финансов.
Повторите выгрузку после первой недели CI, чтобы дрейф не вернул Live-ключ через забытую переменную workflow.
Cutover остаётся в Developers
При выводе сборки следуйте чеклисту Live-cutover в Developers — новый Live-ключ, отзыв sandbox с прод-хостов, smoke свежести vault до зелёного runway. Не используйте sandbox-секрет как временный Live-ключ «только для пилота».
Cutover — смена учётных данных плюс проверка ledger, а не flip флага в конфиге. Держите webhook target и id ключей в одном окружении с тем, что написано на runway board.
Связанные пути
Держите cutover и честность coverage рядом, чтобы команды не выдумали третью историю ключей:
- Sandbox vs production keys cutover
- Coverage sandbox versus production reach checks
- Wallet pilot week: hold and debit truth
Начните с IOSOR
В Developers выпустите sandbox-ключ, отправьте один OTP на тестовый согласованный E.164 и выгрузите ledger за эту минуту. Подтвердите ноль hold и ноль debit. Закрепите CI на этот id ключа. Только потом запрашивайте Live-ключ для пилотного хоста и отзывайте sandbox с любого хоста, который понесёт Live-трафик.
Итог IOSOR
Sandbox-учётки — это credit posture, а не «мягкий» Live-ключ. Докажите один OTP при нулевом hold и debit, закрепите CI на этот id ключа и только потом выпускайте Live для пилотного хоста — отзовите sandbox с каждого хоста, который понесёт Live-трафик.
Был ли материал полезен?
Связанные гайды
- Sandbox-трафик не должен бить по кошельку
Live-ключ в тестовом стенде — инцидент. Найдите утечку, заморозьте hold и ротируйте до пилотного объёма.
- Sandbox reach — это не production coverage
Sandbox-направления только для тестов. Не котируйте их как Live-зоны в финансах или на runway.