Skip to main content
Connection Fingerprint identifica un dispositivo por cómo se conecta, no por lo que declara ser. En una única llamada devuelve la firma TLS del cliente, la firma de sus cabeceras HTTP, su origen geográfico aproximado y un identificador persistente —todo derivado del propio handshake de la conexión—. Sirve para reconocer un dispositivo que vuelve, detectar automatización que se hace pasar por un navegador y sumar señales a un motor de riesgo. No requiere SDK, no ejecuta código en el cliente y no depende de las APIs del navegador que los modos de privacidad bloquean.
Las señales de esta API son insumo para decidir, no un veredicto. A diferencia de Antispoofing Facial, aquí no hay un campo que diga «sospechoso»: usted combina estas señales con su propia lógica de riesgo.

Cómo funciona

El cliente llama al servicio directamente: la huella se deriva de esa conexión TLS, así que una llamada hecha desde su servidor describiría a su servidor, no al usuario. La respuesta viaja después a su backend, donde se verifica y se usa.

Endpoints

URL base: https://fingerprint.api.vusecurity.com
/, /version y /publicKey son públicos por diseño: el navegador del usuario final tiene que poder llamarlos sin credenciales. Lo que protege la integración no es una api-key, sino la verificación de la firma en su backend.

Primera llamada

Anatomía de la respuesta

Identidad de la conexión

La señal más útil no es un campo suelto, sino la coherencia entre ellos. Un user-agent que dice Chrome junto a un tlsFingerprintHash que no corresponde a ningún Chrome conocido, o con tlsFingerprintSslGreased en "0", describe un cliente que declara ser algo que no es.

Persistencia

Origen

La geolocalización por IP es aproximada y varios de sus campos pueden llegar en null. Trate cada clave de geoData como opcional y nunca la use como única prueba de ubicación: una VPN, una red corporativa o un CGNAT desplazan el resultado cientos de kilómetros sin que nada en la respuesta lo indique.

Integridad

signature es una firma RSA de 4096 bits producida con la clave privada de VU sobre el bloque userData. Existe porque la respuesta pasa por el cliente antes de llegar a su backend, y el cliente es exactamente la parte en la que no conviene confiar.

Integración

Cómo llamarla desde el navegador, qué hacer con la respuesta y cómo usar las señales.
Última modificación el 9 de septiembre de 2026