hard_rule_engine
El motor de reglas duras implementa condiciones binarias que producen rechazo o aprobación inmediata, independientemente del score compuesto. Garantizan que ciertos casos nunca pasen sin importar los scores individuales.
When to use
Evaluar antes y después del weighted score aggregator. Las reglas duras tienen prioridad absoluta sobre cualquier score.
Instructions
- Definir reglas de rechazo inmediato (ANY condición = rechazado):
liveness_score < 0.3→LIVENESS_FAILEDvirtual_camera_detected = true→VIRTUAL_CAMERAdocument_expired = true→DOCUMENT_EXPIREDface_match_score < 0.2→IDENTITY_MISMATCHrate_limit_exceeded = true→TOO_MANY_ATTEMPTSmrz_checksum_failures > 2→DOCUMENT_TAMPERED
- Definir reglas de aprobación inmediata (solo si confianza muy alta en todos los módulos):
liveness_score > 0.95 AND face_match_score > 0.95 AND doc_integrity > 0.9→ fast-track approval.
- Servir las reglas desde Redis para actualizarlas sin redeploy.
- Registrar qué regla disparó la decisión en el evento de auditoría.
- Incluir el código de regla en el response al cliente:
{ status: 'REJECTED', reason: 'LIVENESS_FAILED' }.
Notes
- Las reglas duras deben ser revisadas por el equipo de fraude periódicamente.
- Documentar cada regla con su justificación en el ADR correspondiente.