Seria por diseño, auditable por defecto
Verificar identidades es manejar datos sensibles de terceros. Lo tratamos con la seriedad que la Ley 25.326 —y tu regulador— esperan, con controles concretos y auditables.
Consentimiento expreso
El flujo arranca con consentimiento informado, como exige la Ley 25.326. Es el default de todo proyecto y su evidencia queda en la sesión.
El consentimiento es el primer paso y viene activado: se congela en el plan de pasos al crear la sesión y no se puede saltear desde la API. Un proyecto puede desactivarlo desde el panel, y ahí la base legal del tratamiento pasa a ser responsabilidad de quien lo desactivó.
La pantalla dice quién pide la verificación, para qué se usan los datos y por cuánto tiempo se conservan, en castellano y antes de pedir la primera foto.
Queda registrado con fecha y hora como parte de la evidencia de la sesión: es lo que probás cuando alguien pregunta con qué base legal trataste esos datos.
Biométricos como datos sensibles
La selfie y la prueba de vida se tratan como datos sensibles: acceso mínimo, cifrado y ninguna reutilización con otros fines.
La Ley 25.326 no enumera los biométricos en su artículo 2, pero el criterio de la AAIP los alcanza: los tratamos como sensibles porque es la postura defendible, no la cómoda.
No se construye ninguna base 1:N de plantillas faciales. La comparación es 1:1 contra la foto del documento de la misma persona y se descarta después.
Los puntajes de vivacidad y similitud son señales internas: nunca se devuelven por API ni por webhook.
Cifrado por sesión con KMS
Cada sesión de verificación se cifra con su propia clave de datos vía AWS KMS. Comprometer una sesión no expone a las demás.
Las imágenes y los datos extraídos se cifran con una clave de datos por sesión (envelope encryption): el radio de daño de cualquier incidente queda acotado a una persona, no a la base entera.
Los secretos de webhook nunca se guardan en claro: se persiste solo su ciphertext y el valor plano se muestra una única vez, al crearlo.
Webhooks firmados
Cada entrega lleva firma HMAC-SHA256 con timestamp anti-replay en el header X-KycAr-Signature. Verificás que el evento es nuestro y es fresco.
La firma se calcula sobre el cuerpo exacto del evento con el secreto de tu endpoint. Si alguien altera un byte, la verificación falla de tu lado.
El timestamp firmado acota la ventana de replay: un evento capturado y reenviado más tarde se descarta.
Los reintentos son idempotentes y cada evento lleva su propio id, así podés deduplicar sin adivinar.
Evidencia auditable
Cada paso queda registrado con fecha, hora y resultado. Cuando tu regulador pregunta, la respuesta ya está armada.
Por sesión queda el plan de pasos, el resultado de cada uno, los reason codes y los datos extraídos del documento, con sus marcas de tiempo.
Sirve para dos cosas distintas: responderle a un regulador y entender por qué una verificación salió como salió.
Revisión humana disponible
Los casos dudosos no se aprueban ni rechazan solos: van a una cola de revisión con toda la evidencia a la vista.
La zona gris del face match y los resultados no concluyentes derivan a una cola en el panel, con la evidencia completa de la sesión.
La decisión humana queda registrada igual que las automáticas: quién, cuándo y con qué motivo.
Retención configurable
Definís el plazo de las imágenes de evidencia según tu obligación regulatoria. Se fija al crear cada sesión y, al vencer, se purgan todas sus versiones almacenadas.
Cambiar la retención de un proyecto afecta las sesiones futuras. Las sesiones ya creadas conservan su vencimiento; test y demo pueden aplicar una cota menor por minimización.
La purga automática cubre imágenes de documento y liveness en S3. Datos extraídos, resultados y registros operativos de DynamoDB tienen un ciclo separado y no se presentan como eliminados por esa purga.
El bucket usa versionado, pero no Object Lock, legal hold ni WORM. Las personas pueden ejercer sus derechos de acceso, rectificación y supresión; el detalle está en la política de privacidad.
Infraestructura AWS
Los datos se procesan en AWS bajo cláusulas contractuales de transferencia internacional conforme a la normativa de la AAIP.
La plataforma corre sobre servicios administrados de AWS, con permisos mínimos por función y aislamiento por tenant en cada acceso a datos.
La transferencia internacional se ampara en cláusulas contractuales conformes a la normativa de la AAIP.