Saltar al contenido principal
La función Estimación de edad emite advertencias cada vez que se activa una señal de riesgo en la comprobación combinada de edad y prueba de vida pasiva: la edad estimada está por debajo de el mínimo configurado, no se pudo calcular la edad, la persona no superó la prueba de vida, no se encontró ningún rostro o se detectó un ataque de presentación. En esta página se enumeran todos los códigos, qué los activa y cómo configurar la respuesta del workflow.

Descripción general

La Estimación de edad siempre ejecuta dos comprobaciones en una sola llamada (una prueba de vida pasiva y un modelo de regresión de edad), por lo que sus advertencias pasan por el pipeline compartido de prueba de vida y se etiquetan con la función LIVENESS. Aparecen en el informe en age_estimation.warnings[] (API independiente) o en liveness_checks[].warnings[] (integrada en un flujo). El esquema del objeto de advertencia está documentado en Modelos de datos: objeto Warning. Generadores:
  • API independiente: el endpoint genera las cinco advertencias que se indican en Disparadores de rechazo.
  • Flujos de trabajo: los generadores compartidos de prueba de vida más las comprobaciones específicas de edad. Las advertencias de edad solo se activan en flujos de estimación de edad (flujos de verificación de edad adaptativa o nodos AGE_ESTIMATION del flujo); un paso de prueba de vida simple informa una edad estimada, pero nunca genera advertencias de edad.
Niveles de gravedad: los cinco riesgos de rechazo automático (NO_FACE_DETECTED, LIVENESS_FACE_ATTACK, FACE_IN_BLOCKLIST, AGE_BELOW_MINIMUM, AGE_NOT_DETECTED) siempre son log_type: "error" y fuerzan Declined; el resto de riesgos se clasifican como error / warning / information según los umbrales o la acción configurada.

Disparadores de rechazo

En la API independiente, la decisión es Declined cada vez que se activa cualquier advertencia:
  • Edad por debajo del umbral: la edad estimada es estrictamente inferior a age_estimation_decline_threshold (valor predeterminado 18; 0 desactiva la comprobación de edad). Genera AGE_BELOW_MINIMUM.
  • Edad no calculada: no se pudo estimar la edad de ningún rostro (no hay un rostro detectable o no hay un rostro utilizable para el modelo de edad). Genera AGE_NOT_DETECTED.
  • Puntuación de prueba de vida igual o inferior al umbral: score <= face_liveness_score_decline_threshold (valor predeterminado 30); una puntuación null cuenta como 0. Genera LOW_LIVENESS_SCORE. Se suprime cuando se activa NO_FACE_DETECTED: ambas son mutuamente excluyentes.
  • No se detectó ningún rostro: el modelo de prueba de vida no encontró ningún rostro. Genera NO_FACE_DETECTED.
  • Ataque de presentación: el modelo de prueba de vida detectó una pantalla, una foto impresa, una máscara u otro intento de suplantación. Genera LIVENESS_FACE_ATTACK.
En los flujos, las comprobaciones de edad comparan la edad estimada truncada (en años completos) con los umbrales configurados:
  • Con la alternativa de verificación de identidad activada (enable_id_verification_fallback, activada de forma predeterminada): una edad inferior a borderline_minimum_age_threshold (valor predeterminado 18) genera AGE_BELOW_MINIMUM; las edades dentro de la rango limítrofe (hasta borderline_maximum_age_threshold) pasan a la verificación de documentos en lugar de generar una advertencia, y AGE_NOT_DETECTED nunca se genera: si no se detecta la edad, también se procede a la verificación de documentos.
  • Con la alternativa desactivada: si no hay edad estimada se genera AGE_NOT_DETECTED, y una edad inferior a minimum_age_threshold (valor predeterminado 18) genera AGE_BELOW_MINIMUM.

Riesgos configurables

Los siguientes riesgos te permiten ajustar los umbrales o la acción mediante la configuración de cada flujo: Las sesiones de flujo también contrastan el rostro con tus listas: FACE_IN_BLOCKLIST siempre rechaza automáticamente (error), mientras que POSSIBLE_FACE_IN_BLOCKLIST pasa la sesión a In Review.

Advertencias generadas

Ejemplo

En los payloads de decisión de los flujos (liveness_checks[].warnings[]), cada advertencia incluye además un node_id que identifica el nodo del flujo que la generó.

Tipos de advertencia

A cada riesgo se le asigna una gravedad según la configuración de tu aplicación. Las gravedades se dividen en tres categorías:

Relacionado

Última modificación el 1 de noviembre de 2026