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.