ARCHIFY 2.17 · WORKFLOW Barrio.uy GovTech

Pipeline de Notificaciones Web Push (VAPID & Service Worker)

Arquitectura de opt-in voluntario, suscripción P-256 ECDSA, almacenamiento en Supabase PostgreSQL y despacho remoto en background.

Dispositivo Ciudadano (PWA Móvil) Navegador & Service Worker (/sw.js) Next.js 15 Serverless Edge & Actions Supabase PostgreSQL 16 (Prisma Pooler) 1. Activar Avisos Opt-in Voluntario 2. PushManager VAPID ECDSA P-256 3. API Subscribe POST /api/notifications 4. PushSubscription endpoint & keys (p256dh) 5. Status Update Cuadrilla / Backoffice 6. web-push Core FCM / APNs Dispatch 7. SW push Event Vibración [200, 100, 200] 8. Aviso en Celular Foco directo en /#CAN

1. Opt-In Voluntario (Ley N° 18.331)

  • El ciudadano activa las alertas explícitamente desde la tarjeta de seguimiento.
  • Sin popups agresivos: cero prompts en carga inicial.
  • Cero datos personales requeridos: solo vincula el token criptográfico al expediente (#CAN).

2. Negociación VAPID & Supabase

  • Clave pública VAPID oficial servida en /api/notifications/vapid-public-key.
  • El PushManager del navegador genera las credenciales seguras p256dh y auth.
  • Persistencia en PostgreSQL con poda automática de suscripciones caducadas (HTTP 410/404).

3. Despacho & Foco Móvil

  • Al mutar a SCHEDULED, IN_PROGRESS o RESOLVED, se despacha la señal Web Push.
  • El Service Worker despierta el teléfono incluso con el navegador cerrado.
  • Ejecuta vibración háptica y abre directamente el expediente con foto de resolución.