Cómo funciona
El núcleo de notific.me tiene cinco piezas. Todo lo demás se construye encima.
| Pieza | Qué es | Ejemplo |
|---|---|---|
| Event | Algo pasó | deploy.ok, lead.new, container.die |
| Policy | Quién debe saberlo, cuándo, con qué urgencia y con qué nivel | “Todo lo que viene de agentes de IA exige nivel 2” |
| Card | Cómo se ve la notificación | Resumen, tarjeta declarativa |
| Action | Qué se puede hacer desde ella | Aprobar, elegir una opción, abrir un panel |
| Reply | La respuesta firmada que vuelve | { question_set_id, version, answers, signature } |
El ciclo completo
Sección titulada «El ciclo completo»- Tu sistema envía un evento (
POST /v0/events) o un grupo de preguntas (POST /v0/asks) con un token de servicio. También puede enviar cualquier webhook a un hook de entrada, o un agente de IA puede usar el servidor MCP. - La API de ingesta valida el contenido según el protocolo abierto, une duplicados por
dedup_keyy hace seguros los reintentos con claves de idempotencia. - Las reglas de política del workspace deciden qué pasa:
notify,digest,suppressoescalate. - Se crea una notificación para cada destinatario, con un resumen, una tarjeta y, en las preguntas, el grupo de preguntas.
- La persona la recibe en la app, en la app web o por push.
- La persona decide. El nivel define lo que hace falta: un toque, el dispositivo desbloqueado, biometría o un código 2FA, y quizá un quórum.
- El servidor acepta la respuesta de forma atómica: gana una respuesta, y la respuesta más el webhook a tu sistema se guardan en la misma transacción (outbox transaccional), así la decisión nunca se pierde.
- La respuesta firmada vuelve a tu sistema: como webhook a
callback_url, firmado con Ed25519, o como resultado de la llamadaask()que hace long-poll.
Reglas de política
Sección titulada «Reglas de política»Las reglas se evalúan en orden, y la primera que coincide decide. Si ninguna coincide, vale la acción por defecto del workspace. El horario de silencio puede convertir notify en resumen (o suprimirlo) por debajo de una severidad mínima. Más en Reglas y políticas.
El ciclo de vida de una pregunta
Sección titulada «El ciclo de vida de una pregunta»El ask() del SDK hace los dos pasos por ti: crea el grupo de preguntas y hace long-poll hasta la respuesta o el plazo. Mira Preguntas y respuestas.
Niveles de decisión
Sección titulada «Niveles de decisión»El servicio define el nivel mínimo en ask(). El workspace puede subirlo, nunca bajarlo. Vale el nivel más alto entre las preguntas, y una firma cubre todas las respuestas.
Firmar con el código 2FA
Sección titulada «Firmar con el código 2FA»No todo dispositivo tiene lector de huellas, y el navegador no tiene biometría. Quien activa la verificación en dos pasos (una app autenticadora con códigos TOTP) firma decisiones de nivel 2 y 3 con el código de 6 dígitos.
- El nivel 3 siempre pide un código nuevo, en cada acción.
- El nivel 2 puede usar una ventana 2FA que la persona elige en su cuenta (desactivada, 5, 15, 30, 60, 120 o 240 minutos). Tras un código válido, esa sesión firma decisiones de nivel 2 sin volver a escribir el código. Con 50 aprobaciones pendientes, nadie quiere escribir 50 códigos.
- La biometría siempre es una solicitud por decisión.
- El nivel 4 (quórum) sigue exigiendo la app con biometría.
Entrega
Sección titulada «Entrega»- App abierta: el gateway WebSocket entrega en decenas de milisegundos.
- App cerrada: el relay de push envía por APNs (iOS), FCM (Android) o Web Push para la PWA instalada. Web Push está cifrado de punta a punta, así que puede mostrar el título y el resumen.
- Cuando la app se abre de nuevo, sincroniza de forma incremental desde un cursor, sin perder nada.
Mira App, PWA y push.