SKILL.md
hardruleengine
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):
- livenessscore < 0.3 → LIVENESSFAILED - virtualcameradetected = true → VIRTUALCAMERA - documentexpired = true → DOCUMENTEXPIRED - facematchscore < 0.2 → IDENTITYMISMATCH - ratelimitexceeded = true → TOOMANYATTEMPTS - mrzchecksumfailures > 2 → DOCUMENT_TAMPERED
- Definir reglas de aprobación inmediata (solo si confianza muy alta en todos los módulos):
- livenessscore > 0.95 AND facematchscore > 0.95 AND docintegrity > 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.