Skip to main content
Cómo funciona la entrega
Language

Exportación a S3

Envía cada evaluación completada de Device Intelligence a tu propio bucket de S3 en formato JSONL o Parquet, incluyendo la huella completa del dispositivo y las señales de red, IP, geolocalización, VPN, bots y comportamiento.

La exportación a S3 de Device Intelligence escribe cada evaluación completada en un bucket de S3 de tu propiedad, para que puedas cargar los datos de huella y de riesgo en tu propio almacén de datos, tus herramientas antifraude o tu canal de análisis. Cada registro contiene la huella completa del dispositivo, además de las señales de red, IP, geolocalización, VPN, bots y comportamiento que cside calculó para esa visita.

Función de pago de Device Intelligence

La exportación a S3 está disponible en los planes de pago de Device Intelligence y durante una prueba activa de Device Intelligence. Actívala y configúrala en Settings > Device Intelligence del panel. Si tu plan caduca, cside conserva las configuraciones de exportación y pausa la entrega, y la pestaña se sustituye por un aviso para mejorar el plan, así que no puedes editar ni eliminar las exportaciones hasta que lo mejores. La entrega se reanuda sola después de la mejora, sin necesidad de reconfigurar nada.

Cómo funciona la entrega

  • Formato: JSONL (JSON Lines, application/x-ndjson) o Apache Parquet. Eliges el formato por exportación en el panel. En JSONL, cada línea es un registro completo de evaluación. Parquet empaqueta esos mismos registros en un archivo columnar que puedes cargar directamente en un almacén de datos o motor de consultas.
  • Frecuencia: cside sube una vez al día. Cada ejecución cubre el día UTC completo anterior. Un día sin evaluaciones completadas no genera ningún objeto.
  • Distribución de objetos: los objetos se depositan bajo una ruta particionada y autodescriptiva (ver más abajo).
  • Deduplicado: cada evaluación aparece una sola vez, en su versión calculada más reciente. Volver a ejecutar un día sobrescribe los mismos objetos en su sitio, así que no hay filas duplicadas que reconciliar.
  • Destino: tu bucket. cside escribe objetos, pero nunca los lee ni los lista.

Los objetos se nombran así:

<path prefix>/cside-fingerprints/team=<team_id>/dt=<YYYY-MM-DD>/fingerprints-<HH>.<ext>

dt=<YYYY-MM-DD> es el día UTC al que pertenecen los registros y <HH> es la hora UTC de dos dígitos, así que la exportación de un día se divide en un objeto por cada hora que tuvo evaluaciones. <ext> es jsonl o parquet. Los segmentos team= y dt= son particiones al estilo Hive, así que motores de consulta como Athena, Glue y Spark las podan automáticamente.

Configurar la exportación

Elige un bucket y un prefijo de ruta

Crea o elige un bucket de S3 y decide un prefijo de ruta para la exportación, por ejemplo fingerprints/. cside escribe solo bajo ese prefijo, lo que mantiene la exportación separada de cualquier otra cosa del bucket. El prefijo es opcional. Sin él, cside escribe en la raíz del bucket.

Concede a cside acceso de escritura

Añade esta declaración a la política de tu bucket, en Permissions de la consola de S3:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowCsideNotificationExport",
      "Effect": "Allow",
      "Action": ["s3:PutObject"],
      "Resource": "arn:aws:s3:::<your-bucket>/*",
      "Principal": {
        "AWS": ["arn:aws:iam::590183952644:role/prod-cside-notifications-engine-sa-role"]
      }
    }
  ]
}

Sustituye <your-bucket> por el nombre de tu bucket. El permiso es solo de escritura: s3:PutObject permite a cside añadir objetos y nada más, así que cside no puede listar, leer ni eliminar nada de tu bucket.

Restringir el permiso a tu prefijo

Para acotar más la política, define Resource como arn:aws:s3:::<your-bucket>/<your-path-prefix>/*. El panel genera la política por ti con tu bucket y tu prefijo ya rellenados, así que si has configurado un prefijo, copia esa versión.

Propiedad de los objetos

cside entrega cada objeto con una copia del lado del servidor desde su propio bucket al tuyo. Mantén tu bucket con la propiedad de objetos Bucket owner enforced (ACL deshabilitadas), que es el valor por defecto de S3, para que tu cuenta sea la propietaria de los objetos entregados y pueda leerlos.

Crea la exportación en el panel

Abre el panel, ve a Settings > Device Intelligence y selecciona New export. Rellena el formulario:

  • Domain Scope: todos los dominios, incluidos los que añadas más adelante, o un subconjunto que elijas
  • S3 Bucket Name y Region: el bucket del paso 1
  • Path Prefix (opcional): el prefijo del paso 1
  • Format: JSONL o Parquet

cside nombra la exportación por ti a partir del alcance y del bucket. En cuanto guardes, los archivos diarios empezarán a aparecer bajo tu prefijo. Desde la misma pestaña puedes pausar una exportación con su interruptor, editarla o eliminarla.

Compartir un bucket con la exportación de alertas de seguridad

La exportación de Device Intelligence y la exportación a S3 de alertas de seguridad escriben desde el mismo rol de IAM de cside y necesitan el mismo permiso s3:PutObject, así que una única declaración AllowCsideNotificationExport con alcance sobre todo el bucket cubre las dos.

Son dos destinos independientes, cada uno con su bucket, su región y su prefijo opcional, así que puedes apuntarlos al mismo bucket o a buckets distintos. Sus archivos nunca colisionan: las alertas se escriben como alerts-team-<team_id>-<from>-<to>.csv y las evaluaciones como cside-fingerprints/team=<team_id>/dt=<YYYY-MM-DD>/. Los prefijos organizan los objetos, no son lo que mantiene separadas ambas exportaciones.

Estructura del registro

Cada línea es un objeto JSON con un conjunto de campos de identidad de nivel superior más objetos anidados por cada grupo de señales:

ObjetoDescripción
fingerprintLa huella del dispositivo (navegador, hardware, renderizado y señales de entorno).
network_client_metricsCaracterísticas TCP y TLS de la conexión.
ip_enrichmentDatos de ASN, geolocalización y privacidad derivados de la IP del visitante.
geo_lite_city_dataGeolocalización a nivel de ciudad de la IP del visitante.
vpn_evaluationProbabilidad de VPN y señales de apoyo.
bot_evaluationProbabilidad de bot, veredicto y señales de apoyo.
fingerprint_enrichmentSeñales derivadas de la huella, como la detección de correo desechable.
rule_evaluationsResultados de las reglas evaluadas para esta visita.
behaviorSeñales de comportamiento en la página para la sesión: hooks de API de JavaScript, recuento de eventos no confiables y detección de agentes. Presente cuando se recopilaron datos de comportamiento; en caso contrario, null.
Las claves ausentes significan valores por defecto

Un campo solo aparece cuando tiene un valor distinto del predeterminado. Una clave que falta significa que el valor estaba vacío, era false, 0, o no se recopiló. Al analizar el archivo, trata una clave ausente como un valor por defecto, no como un error.

Campos de nivel superior

CampoTipoDescripción
evaluation_idstringID único de esta evaluación.
customer_idstringEl ID de cside de tu dominio.
customer_domainstringEl dominio evaluado.
team_idstringEl ID de tu equipo en cside.
timestampstringHora de la evaluación, ISO 8601.
page_urlstringLa página donde se activó la evaluación.
session_idstringID de sesión del navegador.
request_idstringID de correlación de la solicitud original.
client_ipstringDirección IP del visitante.
user_agentstringUser agent del navegador del visitante.
device_idstringIdentificador estable del dispositivo, derivado de las señales recopiladas. También aparece dentro del objeto fingerprint.
is_botbooleanSi se clasifica al visitante como bot. El veredicto completo está en bot_evaluation.
bot_agent_idstringBot identificado, cuando se conoce (por ejemplo, google-googleother).
is_vpnbooleanSi se clasifica al visitante como usuario de VPN. El veredicto completo está en vpn_evaluation.
vpn_probabilitynumberProbabilidad de VPN, de 0 a 1.
vpn_confidencenumberConfianza en la clasificación de VPN, de 0 a 1.
vpn_reasonsstring[]Motivos legibles de la clasificación de VPN.
device_fingerprintstringToken compacto de huella del dispositivo (base64).
threat_fingerprintstringToken compacto de huella de amenaza (base64).

Objeto fingerprint

La huella del dispositivo es el objeto más grande. Las tablas siguientes agrupan sus campos por categoría.

Identidad

CampoTipoDescripción
device_idstringIdentificador estable del dispositivo, derivado de las señales recopiladas.
CampoTipoDescripción
productstringValor navigator.product del navegador.
product_substringValor navigator.productSub del navegador.
browser_namestringNombre del navegador.
browser_versionstringVersión del navegador.
mobilebooleanSi el navegador se identifica como móvil.
apple_pay_versionnumberVersión de la API de Apple Pay, cuando está disponible.
user_agentstringCadena user agent del navegador.
pluginsstring[]Plugins instalados en el navegador.
platformstringPlataforma del sistema operativo.
cpu_architecturestringArquitectura de CPU informada.
hardware_architecturenumberIndicador de la arquitectura de hardware.
connectionstringTipo de conexión de red (por ejemplo, 4g).

Renderizado (Canvas, WebGL, WebGPU)

CampoTipoDescripción
canvas_signalstringSeñal de renderizado de Canvas.
webgl_signalstringSeñal de renderizado de WebGL.
webgl_vendorstringCadena de proveedor de WebGL.
webgl_rendererstringCadena de renderizador de WebGL.
video_card_vendorstringProveedor de la GPU.
video_card_rendererstringRenderizador de la GPU.
video_card_vendor_unmaskedstringProveedor de la GPU sin enmascarar, cuando está disponible.
video_card_renderer_unmaskedstringRenderizador de la GPU sin enmascarar, cuando está disponible.
video_card_versionstringCadena de versión del driver de la GPU.
video_card_shading_language_versionstringVersión del lenguaje de sombreado.
webgpu_supportedbooleanSi WebGPU es compatible.
webgpu_adapterstringDescripción del adaptador de WebGPU.
webgpu_signalstringSeñal de renderizado de WebGPU.

Idioma y hora

CampoTipoDescripción
timezonestringZona horaria informada.
localestringConfiguración regional informada.
languagesstring[]Idiomas aceptados.

Audio

CampoTipoDescripción
audio_signalstringSeñal de huella de audio.
audio_max_channelsnumberMáximo de canales de salida de audio.
audio_channel_count_modestringModo de conteo de canales de audio.

Hardware

CampoTipoDescripción
device_memorynumberMemoria del dispositivo informada, en GB.
hardware_concurrencynumberNúmero de núcleos lógicos de CPU.
js_heap_size_limitnumberLímite del heap de JavaScript, en bytes.
math_valuesobjectResultados de las pruebas de precisión matemática, indexados por operación.

Pantalla

CampoTipoDescripción
screen_widthnumberAncho de la pantalla en píxeles.
screen_heightnumberAlto de la pantalla en píxeles.
screen_resolutionstringCadena de resolución de pantalla.
color_depthnumberProfundidad de color de la pantalla.
device_pixel_rationumberRelación de píxeles del dispositivo.
touch_supportbooleanSi se admite la entrada táctil.
max_touch_pointsnumberMáximo de puntos táctiles simultáneos.
media_matchesstring[]Consultas de medios CSS coincidentes.

API del navegador

CampoTipoDescripción
online_statusbooleanSi el navegador se declara en línea.
do_not_trackstringPreferencia de No Rastrear.
cookies_enabledbooleanSi las cookies están habilitadas.
media_devicesstring[]Tipos de dispositivos multimedia disponibles.
indexeddb_supportbooleanCompatibilidad con IndexedDB.
localstorage_supportbooleanCompatibilidad con localStorage.
sessionstorage_supportbooleanCompatibilidad con sessionStorage.
bluetooth_supportbooleanCompatibilidad con Web Bluetooth.
geolocation_supportbooleanCompatibilidad con la API de geolocalización.
device_motion_supportbooleanCompatibilidad con eventos de movimiento del dispositivo.
device_orientation_supportbooleanCompatibilidad con la orientación del dispositivo.
speech_recognition_supportbooleanCompatibilidad con reconocimiento de voz.
vibration_supportbooleanCompatibilidad con la API de vibración.
gamepad_supportbooleanCompatibilidad con la API de gamepad.
fullscreen_supportbooleanCompatibilidad con la API de pantalla completa.
clipboard_supportbooleanCompatibilidad con la API del portapapeles.
service_worker_supportbooleanCompatibilidad con Service Worker.
webassembly_supportbooleanCompatibilidad con WebAssembly.

Preferencias

CampoTipoDescripción
prefers_dark_modebooleanPrefiere el esquema de color oscuro.
prefers_reduced_motionbooleanPrefiere movimiento reducido.

Fuentes

CampoTipoDescripción
detected_fontsstring[]Fuentes detectadas en el dispositivo.
font_metricsobjectMétricas de renderizado de fuentes, indexadas por medición.

Señales de red

CampoTipoDescripción
stun_ipsstring[]Direcciones IP de los candidatos WebRTC del visitante, normalmente la dirección pública que informa el servidor STUN. Suele estar vacío: los navegadores ocultan las direcciones locales y WebRTC no siempre está disponible.
permission_statesobjectEstados de permiso, indexados por nombre de permiso.

WebRTC, voz y MathML

CampoTipoDescripción
webrtc_supportedbooleanCompatibilidad con WebRTC.
webrtc_hashstringHash del conjunto de funciones de WebRTC.
webrtc_detailsobjectCapacidades detalladas de WebRTC.
webrtc_errorstringError de la prueba de WebRTC, si se produjo.
speech_synthesis_supportedbooleanCompatibilidad con síntesis de voz.
speech_hashstringHash del conjunto de voces de síntesis.
speech_detailsobjectDatos detallados de síntesis de voz.
speech_errorstringError de la prueba de voz, si se produjo.
mathml_supportedbooleanCompatibilidad con MathML.
mathml_hashstringHash del renderizado de MathML.
mathml_detailsobjectDatos detallados del renderizado de MathML.
mathml_errorstringError de la prueba de MathML, si se produjo.

Rendimiento y batería

CampoTipoDescripción
fpsnumberFotogramas por segundo medidos.
battery_infoobjectEstado de la batería: charging, level, charging_time, discharging_time.

Detección de modo incógnito

CampoTipoDescripción
incognito_detectedbooleanSi se detectó un modo de navegación privada.
incognito_supportstringNivel de compatibilidad del método de detección.
incognito_methodstringMétodo de detección utilizado.
incognito_quota_bytesnumberCuota de almacenamiento observada durante la detección.

Detección de herramientas de desarrollo

CampoTipoDescripción
developer_tools_detectedbooleanSi las herramientas de desarrollo parecen estar abiertas.
developer_tools_supportstringNivel de compatibilidad de la detección.
developer_tools_methodstringMétodo de detección utilizado.
developer_tools_gap_pxnumberDiferencia de la ventana, en píxeles, usada para la detección.

Detección de máquina virtual

CampoTipoDescripción
virtual_machine_detectedbooleanSi el dispositivo parece ser una máquina virtual.
virtual_machine_supportstringNivel de compatibilidad de la detección.
virtual_machine_reasonstringMotivo por el que se marcó el dispositivo.

Automatización y manipulación

CampoTipoDescripción
web_driverbooleanSi navigator.webdriver está establecido.
web_driver_tamperedbooleanSi la marca webdriver parece manipulada.
cdpbooleanUso detectado del Chrome DevTools Protocol.
cdp_tamperedbooleanSi las señales de CDP parecen manipuladas.
tamper_injected_globalsstring[]Variables globales sospechosas inyectadas.
tamper_expose_binding_leakbooleanFuga de binding asociada a la automatización.
tamper_desc_instance_ownstring[]Descriptores de propiedad propios anómalos.
tamper_desc_proto_nonnativestring[]Descriptores de prototipo no nativos.
tamper_xrealm_webdriver_mismatchbooleanDiscrepancia de webdriver entre realms.
tamper_xrealm_renderer_deltabooleanDiferencia de renderizador entre realms.
tamper_probe_blockedbooleanSi se bloquearon las pruebas de manipulación.

Atestación del dispositivo

CampoTipoDescripción
device_uvpaabooleanAutenticador de plataforma con verificación de usuario disponible.
device_client_caps_countnumberCantidad de capacidades del cliente informadas.
device_caps_uvpabooleanCapacidad del autenticador de plataforma.
device_apple_pay_active_cardbooleanApple Pay tiene una tarjeta activa.
device_payment_enrolledbooleanEl dispositivo tiene un método de pago registrado.
device_serial_presentbooleanCapacidad de serie presente.
device_hid_presentbooleanCapacidad HID presente.
device_notif_staticstringSeñal estática de capacidad de notificaciones.
device_notif_queriedstringSeñal consultada de capacidad de notificaciones.
device_realness_probe_errorbooleanSi una prueba de autenticidad dio error.

DRM

CampoTipoDescripción
drm_probedbooleanSi se comprobó la compatibilidad con DRM.
drm_clearkeybooleanCompatibilidad con Clear Key.
drm_widevinebooleanCompatibilidad con Widevine.
drm_widevine_robustnessstringNivel de robustez de Widevine.
drm_externalclearkeybooleanCompatibilidad con External Clear Key.
drm_fairplaybooleanCompatibilidad con FairPlay.
drm_playreadybooleanCompatibilidad con PlayReady.
drm_hw_secure_allbooleanCompatibilidad con decodificación segura por hardware.
drm_ua_brand_is_google_chromebooleanLa marca del UA declara Google Chrome.
drm_errorstringError de la prueba de DRM, si se produjo.
drm_elapsed_msnumberDuración de la prueba de DRM, en milisegundos.

Etiquetas proporcionadas por el cliente

CampoTipoDescripción
external_idsobjectIdentificadores que adjuntaste a la huella, como accountId, orderId o email.
extension_presence_resultsobjectExtensiones del navegador detectadas, indexadas por extensión.

Objeto network_client_metrics

Características TCP y TLS a nivel de conexión.

CampoTipoDescripción
client_ipstringDirección IP del visitante.
client_portnumberPuerto de origen del visitante.
user_agentstringUser agent visto en la capa de red.
js_timezonestringZona horaria informada por JavaScript.
timestampstringHora en que se tomó la muestra de red, ISO 8601.
request_idstringID de la solicitud en la capa de red.
protocolstringProtocolo HTTP utilizado.
quic_versionnumberVersión de QUIC, cuando la conexión usó QUIC.
syn_ip_ttlnumberTTL de IP del paquete SYN inicial.
syn_window_sizenumberTamaño de ventana TCP del SYN inicial.
syn_window_scalenumberEscala de ventana TCP del SYN inicial.
tcp_rtt_usecnumberTiempo de ida y vuelta TCP estimado, en microsegundos.
tcp_rttvar_usecnumberVarianza del tiempo de ida y vuelta TCP.
tcp_rtt_min_usecnumberTiempo de ida y vuelta TCP mínimo observado.
tcp_timestampnumberValor de la opción timestamp de TCP.
tcp_mss_synnumberMSS de TCP anunciado.
tcp_mss_rcvnumberMSS de TCP observado del par.
tls_handshake_usecnumberDuración del handshake TLS, en microsegundos.
tls_clienthello_sizenumberTamaño del ClientHello, en bytes.
tls_sni_formatstringFormato de la extensión SNI.
tls_alpn_protocolsstring[]Protocolos ALPN ofrecidos en el handshake de TLS.
tls_clienthello_ciphersnumber[]Cifrados ofrecidos.
tls_clienthello_extensionsnumber[]Extensiones TLS ofrecidas.
tls_clienthello_signature_algsnumber[]Algoritmos de firma ofrecidos.
tls_clienthello_legacy_versionnumberVersión legada del ClientHello.
tls_clienthello_supported_versionsnumber[]Versiones de TLS ofrecidas.
tls_ja4stringHuella JA4 del cliente TLS.
matched_againststringDominio con el que se emparejó la conexión.
team_idstringEl ID de tu equipo en cside.

Objeto ip_enrichment

Datos derivados de la dirección IP del visitante.

CampoTipoDescripción
asnnumberNúmero de Sistema Autónomo.
asn_namestringNombre de la organización del ASN.
asn_networkstringRango de red del ASN.
asn_typestringTipo de ASN, como hosting o isp.
city_namestringNombre de la ciudad.
country_codestringCódigo de país.
country_namestringNombre del país.
latitudenumberLatitud.
longitudenumberLongitud.
postal_codestringCódigo postal.
region_codestringCódigo de región.
region_namestringNombre de la región.
timezonestringZona horaria.
hostingbooleanLa IP pertenece a un proveedor de hosting.
proxybooleanLa IP es un proxy conocido.
relaybooleanLa IP es un relay privado.
torbooleanLa IP es un nodo de salida de Tor.
vpnbooleanLa IP es una VPN conocida.
servicestringServicio de privacidad identificado, cuando se conoce.
maxmind_asnnumberASN según MaxMind.
is_datacenter_ipbooleanLa IP está en un rango de centro de datos.
is_likely_datacenternumberPuntuación de probabilidad de centro de datos.

Objeto geo_lite_city_data

Geolocalización a nivel de ciudad.

CampoTipoDescripción
city_namestringNombre de la ciudad.
country_codestringCódigo de país.
country_namestringNombre del país.
latitudenumberLatitud.
longitudenumberLongitud.
postal_codestringCódigo postal.
region_codestringCódigo de región.
region_namestringNombre de la región.
timezonestringZona horaria.

Objeto vpn_evaluation

Probabilidad de VPN y señales de apoyo.

CampoTipoDescripción
is_vpnbooleanSi se clasifica al visitante como usuario de VPN.
vpn_probabilitynumberProbabilidad de VPN, de 0 a 1.
vpn_confidencenumberConfianza en la clasificación, de 0 a 1.
reasonsstring[]Motivos legibles de la clasificación.
featuresobjectSeñales numéricas usadas para la clasificación.
contextobjectContexto de enriquecimiento, como el nombre de host de DNS inverso, el ASN y la geolocalización.

Objeto bot_evaluation

Probabilidad de bot y veredicto.

CampoTipoDescripción
is_botbooleanSi se clasifica al visitante como bot.
bot_probabilitynumberProbabilidad de bot, de 0 a 1.
bot_confidencenumberConfianza en la clasificación, de 0 a 1.
bot_agent_idstringBot identificado, cuando se conoce (por ejemplo, google-googleother).
reasonsstring[]Motivos legibles de la clasificación.
session_event_countnumberNúmero de eventos de comportamiento procesados para la sesión.
model_1_scorenumberPuntuación del primer modelo de bots (señales de huella y de red).
model_1_thresholdnumberUmbral de decisión aplicado a la puntuación del primer modelo.
model_2_scorenumberPuntuación del segundo modelo de bots (señales de comportamiento).
model_2_thresholdnumberUmbral de decisión aplicado a la puntuación del segundo modelo.
featuresobjectSeñales numéricas usadas para la clasificación.

Objeto fingerprint_enrichment

CampoTipoDescripción
throwaway_email_detectedbooleanSi un correo adjunto usa un dominio desechable.

Objeto rule_evaluations

CampoTipoDescripción
rulesobject[]Resultados de reglas con nombre. Cada entrada tiene slot, rule_id, result, metadata y computed_at.

Objeto behavior

Señales de comportamiento en la página para la sesión. Todo el objeto es null cuando no se recopilaron datos de comportamiento para la evaluación, así que puedes distinguir “ningún agente detectado” de “sin datos de comportamiento”.

CampoTipoDescripción
start_timenumberInicio de la ventana de observación del comportamiento.
end_timenumberFin de la ventana de observación del comportamiento.
page_urlsstring[]Páginas vistas durante la ventana de comportamiento de la sesión.
js_hooksobject[]APIs integradas de JavaScript interceptadas. Cada entrada tiene key (la función interceptada, como eval, fetch, function_bind, script_create o node_append_child), initializer (qué instaló el hook) y count (cuántas veces se disparó).
untrusted_event_countnumberNúmero de eventos del DOM informados con isTrusted en false, una señal común de automatización.
agent_detectedbooleanSi alguna muestra de la sesión se marcó como agente automatizado.

Registro de ejemplo

Un único registro, con formato para facilitar la lectura. En el archivo, cada registro es una sola línea.

{
  "evaluation_id": "289076244130249728",
  "customer_id": "7371466449724252160",
  "customer_domain": "shop.example.com",
  "team_id": "7196353823991660544",
  "timestamp": "2026-04-21T17:53:19.378Z",
  "page_url": "https://shop.example.com/checkout",
  "client_ip": "203.0.113.42",
  "user_agent": "Mozilla/5.0 ... Chrome/124.0 Safari/537.36",
  "device_id": "fp_dev_5c8e21",
  "is_bot": false,
  "is_vpn": false,
  "fingerprint": {
    "device_id": "fp_dev_5c8e21",
    "browser_name": "Chrome",
    "browser_version": "124.0.0.0",
    "platform": "MacIntel",
    "timezone": "America/Los_Angeles",
    "languages": ["en-US", "en"],
    "screen_width": 1512,
    "screen_height": 982,
    "device_memory": 8,
    "external_ids": { "orderId": "txn_9931" }
  },
  "network_client_metrics": {
    "client_ip": "203.0.113.42",
    "tls_ja4": "t13d1516h2_8daaf6152771_b186095e22b6"
  },
  "geo_lite_city_data": {
    "country_code": "US",
    "city_name": "San Francisco",
    "latitude": 37.7749,
    "longitude": -122.4194
  },
  "ip_enrichment": { "asn": 13335, "asn_name": "CLOUDFLARENET", "hosting": false },
  "vpn_evaluation": { "is_vpn": false, "vpn_probability": 0.04 },
  "bot_evaluation": { "is_bot": false, "bot_probability": 0.07 },
  "behavior": {
    "start_time": 1776793999000,
    "end_time": 1776794011000,
    "page_urls": ["https://shop.example.com/checkout"],
    "js_hooks": [{ "key": "eval", "initializer": "inline", "count": 2 }],
    "untrusted_event_count": 0,
    "agent_detected": false
  }
}
Was this page helpful?