Runtime Configuration (конфигурация Runtime)
Как продукт получает scoped configuration documents с плоскости Runtime — версии, scope product/environment и fail-closed crypto. Это не Host platform.json и не SPA boot-файл /runtime-config.json.
Что вы получаете
| Часть | Роль |
|---|---|
| Public config | Несекретные настройки как подписанный Compact JWS (typ=MH-RUNTIME-CONFIG-V1, ES256) |
| Secret bundle (опционально) | Device-eligible классы секретов как Compact JWE (typ=MH-RUNTIME-CONFIG-SECRET-V1) — plaintext не отдаётся в Management read API |
| Effective snapshot | Слитый результат для аутентифицированного device / delivery context (defaults продукта → environment → document) |
Клиент обязан проверить public JWS (и развернуть JWE только ожидаемыми recipient keys) до применения настроек. Неизвестный formatVersion, чужой typ, плохая подпись или несовпадение tenant/audience → reject (fail-closed).
Материал доверия (JWKS / offline trust): Проверка доверия (JWKS).
Human license keys: Secrets · Ключи лицензий.
Границы
| Делайте | Не делайте |
|---|---|
| Запрашивайте config через Runtime (и SDK, когда есть) после AuthN | Считайте неподписанный JSON с диска SoR |
| Кэшируйте проверенные snapshot со своей TTL-политикой | Логируйте secret-bearing payload или private keys |
| Смотрите OpenAPI на актуальные маршруты и схемы | Тащите Host/Management internal knobs в клиент |
Server-only секреты никогда не попадают в device-bound ответы Runtime. Обычные lease / offline / relay manifests остаются только JWS — доставка config-секретов — отдельное семейство конвертов.
Точные HTTP-пути и claims: API Reference (Runtime OpenAPI). Опциональный кэш Relay — product-specific; внутренности Relay engine не публичны.