IOSOR База знань
Гейт підпису й вікна replay
Prod-гейт: перевірити підпис і обмежити вікно replay до того, як webhook стане money чи status truth — unsigned/stale лишаються fail-closed.
Непідписаний або протухлий webhook — не status truth і не повинен рухати prepaid money. Покупцю потрібен жорсткий гейт: verify підпису плюс обмежене вікно replay до будь-якого оновлення ledger чи product status. Ця сторінка — саме гейт, не есе про ротацію підпису і не playbook inbound SMS retry.
Пов’язані: підпис webhook і вікно replay, повторні спроби вхідного вебхука, Спільна мова статусів для product і finance, debit і delivery status в одному ledger.
IOSOR — white-label prepaid. USD 20 фінансує пілот гейта на одному consumer; soft review близько USD 1 000/міс робить пропуск verify ризиком forged-status. Клієнт бачить лише white-label reject macros.
Verify підпису — money gate
Money і status truth починаються лише після проходження перевірки підпису. Missing, mismatched або skipped підписи fails closed — немає рядка ledger, немає «delivered все одно для пілота». Catalog Live не скасовує гейт. Глибина звичок: підпис webhook і вікно replay. Soft USD 1 000/міс вважає «приймати unsigned у staging вічно» боргом production; USD 20 доводить: підроблене тіло ніколи не пише debit.
Вікно replay до status truth
| Перевірка гейта | Pass означає | Fail означає |
|---|---|---|
| Підпис є + валідний | Authenticated event | Reject; немає money/status write |
| Timestamp усередині вікна | Достатньо свіжий | Reject як replay/stale |
| Event ID ще не бачили | Перший accept | ACK без другого debit |
| Подія в контракті | У меню buyer | Drop unknown type |
At-least-once доставка буде ретраїти. Пізній retry поза вікном — не «maybe delivered». Логуйте відмови вікна окремо від fails підпису. Глибина inbound retry: повторні спроби вхідного вебхука.
Fail closed, коли гейт відхиляє
Відхилені події ніколи не вигадують success. Product і finance ділять одні слова reject — не hero upstream codes: Спільна мова статусів для product і finance. Рядки debit лишаються лише на accepted events: debit і delivery status в одному ledger. Side effects лише після ACK; CRM до гейта — шлях до double truth.
Product, finance і ops ділять одне proof
Product: легітимна signed, in-window подія оновлює status рівно раз? Finance: кожна money-affecting event показує gate pass у тому ж UTC-вікні? Ops: вивантаження signature fails vs window rejects без Slack-археології? Soft volume language blocked, доки duplicate-in-window smoke не покаже один рядок ledger.
Чекліст покупця щодо гейта підпису й replay
- Signature middleware на кожному production consumer до платного трафіку?
- Вікно replay назване, логується й обмежене — не «тижні»?
- Gate reject ніколи не пише money чи success status?
- Дублікат in-window event ID → один кінцевий стан, без другого debit?
- Signature fail і window reject рахуються окремо для ops?
- Розмова soft USD 1 000/міс blocked, поки гейт вимкнено?
Будь-яке «ні» тримає гейт — і довірену webhook truth — у draft.
Почніть з IOSOR
Налаштуйте шлюз перевірки підпису та обмежте вікно повтору (replay window) у консолі IOSOR перед запуском робочого трафіку. Перевірте, що будь-яка подія з недійсним підписом або застарілим часовим штампом закривається помилкою без зміни стану чи списання коштів. Переконайтеся, що обробник вебхуків повертає єдиний зрозумілий код відхилення для продуктів і фінансів.
Підсумок IOSOR
Ця стаття доводить, що перевірка підпису та жорстке вікно повтору є основними рубежами безпеки для фінансового та статусного обліку.
Чи був матеріал корисним?
Пов’язані гіди
- Моніторинг стану кінцевих точок вебхуків
Дізнайтеся, як відстежувати затримки відповідей та коди стану в IOSOR для запобігання збоям при доставці сповіщень та забезпечення стабільності системи.
- Налаштування вебхуків для контролю порогів балансу
Дізнайтеся, як налаштувати автоматичні сповіщення про баланс в IOSOR для запобігання перервам у сервісі та ефективного керування JIT-виділенням номерів.
- Обробка подій вебхуків для оперативного виділення номерів
Опануйте автоматизацію життєвого циклу каналів через JIT-вебхуки в IOSOR. Налаштовуйте миттєве призначення номерів та керування балансом у вашій CPaaS-платформі.