# S18: Web Push и gateway Реализовать bounded minimal backend и browser service worker с честными closed-tab ограничениями. Входной gate: S17-014. Выходной gate: S18-015. ## Задачи - [S18-001](../tasks/S18-001.md): Создать gateway service shell — backend; todo. - [S18-002](../tasks/S18-002.md): Реализовать subscription storage — backend; todo. - [S18-003](../tasks/S18-003.md): Реализовать ownership proof — backend; todo. - [S18-004](../tasks/S18-004.md): Реализовать API limits/origin policy — backend; todo. - [S18-005](../tasks/S18-005.md): Реализовать Web Push provider adapter — backend; todo. - [S18-006](../tasks/S18-006.md): Реализовать XMPP enable/disable — protocol; todo. - [S18-007](../tasks/S18-007.md): Создать notification preferences — front; todo. - [S18-008](../tasks/S18-008.md): Реализовать event notification policy — protocol; todo. - [S18-009](../tasks/S18-009.md): Реализовать service worker push — front; todo. - [S18-010](../tasks/S18-010.md): Реализовать safe notification routing — front; todo. - [S18-011](../tasks/S18-011.md): Реализовать multi-tab leader — protocol; todo. - [S18-012](../tasks/S18-012.md): Реализовать revoke/expiry/rotation — backend; todo. - [S18-013](../tasks/S18-013.md): Проверить gateway secrets/ownership — security; todo. - [S18-014](../tasks/S18-014.md): Проверить push/closed-tab matrix — qa; todo. - [S18-015](../tasks/S18-015.md): Gate: Web Push и gateway — qa; todo. ## Граница этапа Выходной gate проверяет evidence/готовые проверки, не реализует функции за остальные задачи. Если отдельная карточка требует слишком большой контекст — split с сохранением requirements coverage.