Configuración del Tenant
El comportamiento de la verificación se configura por tenant por parte de Inyo. Esta página es la referencia de lo que puede solicitar — durante el onboarding, o como un cambio posterior. No existe una API de configuración de autoservicio; envíe a su contacto de Inyo los ajustes que desea.
Las actualizaciones de configuración se fusionan con lo que ya está almacenado, por lo que solicitar el cambio de un ajuste deja el resto intacto. Devolver un ajuste a su valor predeterminado de la plataforma es una solicitud explícita, no una omisión.
Cada ajuste se nombra con la clave exacta que configuramos en su tenant. Citar la clave en una solicitud elimina cualquier ambigüedad sobre a qué comportamiento se refiere — varias tienen nombres parecidos, y en particular review_threshold y review_verification_declines hacen cosas muy distintas.
La mayoría de las claves viven dentro del objeto config de su tenant, pero webhook_url y branding están fuera de él, como hermanos de config — marcados abajo, y visibles en el payload de ejemplo.
Documentos y Jurisdicciones
| Ajuste | Valores aceptados | Predeterminado | Efecto |
|---|---|---|---|
allowed_document_types | Una lista no vacía de passport, drivers_license, identity_card | Los tres | Qué tipos de documento puede presentar un cliente. El widget ofrece solo estos, y solicitar una sesión con un prefill.document_type excluido devuelve 422 |
accepted_jurisdictions | Objeto indexado por tipo de documento; cada valor es una lista de códigos de continente (AF, AN, AS, EU, NA, OC, SA) y/o códigos ISO 3166-1 alfa-3 | Todas aceptadas | Por tipo de documento, qué países emisores acepta. Un documento de fuera de ellos falla la comprobación dura jurisdiction_accepted |
Por ejemplo:
{
"passport": ["SA", "USA"],
"drivers_license": ["NA"]
}
Ese ejemplo acepta pasaportes de cualquier país de Sudamérica más EE. UU., y licencias de conducir de Norteamérica. Omitir un tipo de documento acepta todas las jurisdicciones para él.
Restrinja esto deliberadamente. Limitar los tipos de documento simplifica su manejo de datos posterior, pero cada restricción es un cliente que no puede completar el onboarding con la identificación que tiene.
Umbrales de Decisión
| Ajuste | Valores aceptados | Predeterminado | Efecto |
|---|---|---|---|
face_match_threshold | Número 0-100 | 90 | Similitud mínima entre el retrato del documento y la selfie para que la comprobación dura face_match pase |
liveness_threshold | Número 0-100 | 80 | Confianza mínima de prueba de vida para que la comprobación dura liveness pase |
liveness_mode | selfie o rekognition_streaming | selfie | selfie deriva la prueba de vida de las señales de calidad y pose de una única selfie; el modo streaming ejecuta un desafío activo de prueba de vida |
name_match_threshold | Número 0-1 | 0.85 | Similitud a partir de la cual un nombre precargado se acepta como coincidente con el documento. Un apellido compuesto que contiene el suyo obtiene 0.95 |
Elevar el umbral de coincidencia facial reduce los falsos positivos y aumenta los falsos rechazos — clientes reales rechazados. Ambos umbrales se citan en el detail de la comprobación correspondiente en cada resultado, de modo que su integración puede leer el valor efectivo en lugar de codificarlo de forma fija.
Enrutamiento de Revisión
| Ajuste | Valores aceptados | Predeterminado | Efecto |
|---|---|---|---|
review_threshold | Número 0-100, y por encima de su umbral de coincidencia facial (vea abajo). 0 lo desactiva | 0 (desactivado) | Envía una aprobación límite a revisión. Una auto-aprobación cuya confianza queda por debajo de este valor se convierte en in_review en su lugar |
review_verification_declines | true o false | false | Retiene un rechazo para un humano. Una verificación que las comprobaciones rechazaron se enruta a in_review en lugar de declined, para que un analista la confirme |
Ambos se explican en detalle — incluyendo qué comprobaciones cuentan para la confianza, y por qué un umbral igual o inferior a su umbral de coincidencia facial nunca puede activarse — en Revisión Manual. Un umbral en ese rango inerte se rechaza en el momento de la configuración en lugar de aceptarse silenciosamente.
Habilitar rechazos retenidos genera trabajo de analistas sin límite en la cola. Habilítelo cuando un falso rechazo sea más costoso que una decisión demorada.
Comportamiento de Captura
| Ajuste | Valores aceptados | Predeterminado | Efecto |
|---|---|---|---|
allow_file_upload | true o false | false | Cuando está activado, el widget ofrece un selector de archivos junto a la cámara. Desactivado significa que un cliente no puede enviar una foto almacenada de un documento — un control de fraude significativo |
auto_capture | true o false | false | Cuando está activado, el widget dispara automáticamente una vez que el documento está bien encuadrado y estable, en lugar de requerir un toque en el obturador |
auto_capture_fallback_seconds | Entero 0-300 | 30 | En modo de captura automática, cuánto espera una captura estancada antes de que reaparezca el obturador manual. 0 lo muestra de inmediato |
max_capture_attempts | Entero 1-10 | 3 | Capturas fallidas antes de que la sesión sea rechazada. Una sesión puede sobrescribirlo con su propio max_capture_attempts |
record_selfie_video | true o false | true | Graba un clip corto mientras se toma la selfie, retenido como prueba probatoria |
Opciones de Enriquecimiento
Cada una de estas añade señal con un costo por verificación. Dos están desactivadas por defecto por esa razón, y una conlleva una obligación de cumplimiento.
| Ajuste | Valores aceptados | Predeterminado | Efecto |
|---|---|---|---|
enable_ai_authenticity | true o false | true | Revisión de autenticidad de documentos con IA. Añade la comprobación dura ai_authenticity — la defensa autoritativa contra recapturas de pantalla con recorte ajustado, copias impresas, fotocopias y falsificaciones |
enable_dldv | true o false | false | Verificación de registros del DMV. Añade la comprobación blanda dmv_record_match, que verifica los datos extraídos de licencias de EE. UU. contra el DMV emisor. Se omite automáticamente para estados no participantes y proveedores no disponibles |
enable_selfie_description | true o false | false | Descripción de apariencia de la selfie. Añade selfie_description al resultado — atributos observables estructurados para comparación en una re-verificación posterior |
Las descripciones de apariencia son datos personales sensibles. Conllevan exposición bajo el RGPD y leyes de privacidad biométrica (por ejemplo BIPA), y la selfie es procesada por un servicio de visión externo. Confirme que tiene una base legal, un acuerdo de procesamiento de datos vigente y una justificación de retención documentada antes de pedirnos habilitar esto.
Entrega y Presentación
| Ajuste | Valores aceptados | Predeterminado | Efecto |
|---|---|---|---|
webhook_url (fuera de config) | Una URL. http valida, pero use https — los resultados contienen datos personales | — | Dónde se envían los resultados vía POST. Requerido para delivery.mode: "webhook" y para las notificaciones de resultado |
enable_result_notifications | true o false | true | También entrega los resultados de sesiones en modo redirección y verificaciones servidor a servidor, y cada cambio posterior de cualquier desenlace. Requiere una URL de webhook — habilitarlo sin una es rechazado |
default_language | Un código de idioma con formato xx o xx-XX (p. ej. en, pt, es, pt-BR) | en | El idioma del widget cuando una sesión no especifica uno |
branding (fuera de config) | Objeto — vea abajo | Predeterminado de Inyo | Su logo, nombre de empresa y colores del widget |
branding es un objeto propio:
| Ajuste | Valores aceptados | Efecto |
|---|---|---|
logo_url | Una URL a una imagen; use https para que el widget no cargue contenido mixto | Se muestra en el marco del widget |
company_name | Cadena, hasta 80 caracteres | Mostrado al cliente |
color_primary | Hexadecimal de 6 dígitos con # (p. ej. #0F766E) | Botones y acentos |
color_background | Hexadecimal de 6 dígitos con # | Fondo de la página |
color_text | Hexadecimal de 6 dígitos con # | Texto del cuerpo |
Los colores deben ser hexadecimales completos de 6 dígitos — la forma corta de 3 dígitos (#0F7) y el alfa de 8 dígitos (#0F766E80) son rechazados.
El pie de página "Powered by Inyo 360" siempre se muestra y de manera intencional no es configurable.
Los textos del widget — etiquetas, botones, pantallas de resultado, mensajes de reintento — se sirven desde el almacén de textos de Inyo en lugar de estar integrados en el frontend, de modo que los cambios de redacción por tenant y los idiomas adicionales no requieren un despliegue de su parte. Inglés, portugués y español vienen completos; cualquier otro código xx o xx-XX es aceptado, y las cadenas sin traducción recurren al inglés de forma individual.
Una Configuración Inicial
Si está haciendo el onboarding ahora y no está seguro de qué pedir, esta es una línea base sensata para onboarding de consumidores:
| Ajuste | Valor | Por qué |
|---|---|---|
allowed_document_types | Los tres | No rechace clientes por la identificación que casualmente poseen |
allow_file_upload | false | La captura solo con cámara es un control de fraude sustancial |
face_match_threshold / liveness_threshold | Dejar sin configurar | Ajuste solo cuando tenga volumen contra el cual medir |
enable_ai_authenticity | true (predeterminado) | Su defensa más fuerte contra recapturas |
review_verification_declines | false inicialmente | Actívelo cuando pueda absorber la latencia de revisión y haya medido su tasa de falsos rechazos |
enable_result_notifications | true (predeterminado) | Garantiza que las decisiones y reversiones posteriores le lleguen |
max_capture_attempts | 3 (predeterminado) | Indulgente sin ser un bucle de reintentos gratuito para un atacante |
Luego revise los umbrales y el enrutamiento de revisión con datos reales, en lugar de en el momento de la integración.
Enviarnos una Configuración
Citar las claves directamente es la forma menos ambigua de hacer una solicitud. Esta es la forma que aplicamos a su tenant, y muestra el anidamiento: webhook_url y branding son hermanos de config, no miembros de él.
{
"webhook_url": "https://acme.example.com/kyc-result",
"branding": {
"company_name": "Acme Bank",
"logo_url": "https://acme.example.com/logo.png",
"color_primary": "#0F766E",
"color_background": "#FFFFFF",
"color_text": "#111827"
},
"config": {
"default_language": "pt-BR",
"allowed_document_types": ["passport", "drivers_license"],
"accepted_jurisdictions": {
"passport": ["SA", "USA"],
"drivers_license": ["NA"]
},
"allow_file_upload": false,
"max_capture_attempts": 3,
"review_verification_declines": true
}
}
Incluya solo las claves que desea configurar — cualquier cosa omitida conserva su valor actual, ya que las actualizaciones se fusionan en lugar de reemplazar.
Próximos Pasos
- Revisión Manual — umbral de revisión y rechazos retenidos en profundidad
- Comprobaciones y Decisiones — qué comprobaciones afecta cada ajuste
- Entrega del Widget — cómo la marca y el idioma se presentan al cliente
