Skip to main content
Fonctionnement de la livraison
Language

Export S3

Livrez chaque évaluation Device Intelligence terminée dans votre propre bucket S3 au format JSONL, avec l'empreinte complète de l'appareil et les signaux réseau, IP, géo, VPN et bot.

L’export S3 de Device Intelligence écrit chaque évaluation terminée dans un bucket S3 qui vous appartient, pour que vous puissiez charger les données d’empreinte et de risque dans votre propre entrepôt de données, vos outils antifraude ou votre pipeline d’analyse. Chaque enregistrement contient l’empreinte complète de l’appareil, ainsi que les signaux réseau, IP, géo, VPN et bot que cside a calculés pour cette visite.

Fonctionnalité Device Intelligence payante

L’export S3 est disponible sur les offres Device Intelligence payantes. Activez-le et configurez-le dans Settings > Device Intelligence du tableau de bord. Lors d’un changement d’offre, l’export se met en pause ou reprend tout seul, sans reconfiguration.

Fonctionnement de la livraison

  • Format : JSONL (JSON Lines). Chaque ligne est un enregistrement d’évaluation complet, encodé en application/x-ndjson.
  • Fréquence : cside envoie un lot par heure.
  • Nom de l’objet : fingerprints-team-<team_id>-<from>-<to>.jsonl, où <from> et <to> sont les bornes horaires du lot.
  • Destination : votre bucket. cside écrit des objets, mais ne les lit ni ne les liste jamais.
Règle de cycle de vie recommandée

Les envois utilisent le multipart S3. Un envoi interrompu laisse ses parties dans votre bucket. Ajoutez une règle de cycle de vie AbortIncompleteMultipartUpload pour qu’elles ne s’accumulent pas.

Structure d’un enregistrement

Chaque ligne est un objet JSON avec un ensemble de champs d’identité de premier niveau, plus des objets imbriqués pour chaque groupe de signaux :

ObjetDescription
fingerprintL’empreinte de l’appareil (navigateur, matériel, rendu et signaux d’environnement).
network_client_metricsCaractéristiques TCP et TLS de la connexion.
ip_enrichmentDonnées d’ASN, de géo et de confidentialité dérivées de l’IP du visiteur.
geo_lite_city_dataGéolocalisation au niveau de la ville pour l’IP du visiteur.
vpn_evaluationProbabilité de VPN et signaux associés.
bot_evaluationProbabilité de bot, verdict et signaux associés.
fingerprint_enrichmentSignaux dérivés de l’empreinte, comme la détection d’e-mail jetable.
rule_evaluationsRésultats des règles évaluées pour cette visite.
Une clé absente signifie une valeur par défaut

Un champ n’apparaît que lorsqu’il a une valeur autre que celle par défaut. Une clé absente signifie que la valeur était vide, false, 0, ou non collectée. Lorsque vous analysez le fichier, traitez une clé absente comme une valeur par défaut, pas comme une erreur.

Champs de premier niveau

ChampTypeDescription
evaluation_idstringID unique de cette évaluation. Présent aussi sous id.
customer_idstringL’ID cside de votre domaine. Présent aussi sous domain_id.
customer_domainstringLe domaine évalué.
team_idstringL’ID de votre équipe cside.
timestampstringHeure de l’évaluation, ISO 8601. Présent aussi sous created_at.
page_urlstringLa page où l’évaluation a été déclenchée.
session_idstringID de session du navigateur.
request_idstringID de corrélation de la requête d’origine.
client_ipstringAdresse IP du visiteur.
user_agentstringUser agent du navigateur du visiteur.
evaluation_statusstringStatut de l’évaluation. Enregistrements terminés uniquement.
error_messagestringDétails de l’erreur d’une évaluation en échec. Vide pour les enregistrements terminés, donc normalement absent.
device_fingerprintstringJeton compact d’empreinte de l’appareil (base64).
threat_fingerprintstringJeton compact d’empreinte de menace (base64).

Objet fingerprint

L’empreinte de l’appareil est le plus gros objet. Les tableaux ci-dessous regroupent ses champs par catégorie.

Identité

ChampTypeDescription
device_idstringIdentifiant stable de l’appareil, dérivé des signaux collectés.
ChampTypeDescription
productstringValeur navigator.product du navigateur.
product_substringValeur navigator.productSub du navigateur.
browser_namestringNom du navigateur.
browser_versionstringVersion du navigateur.
mobilebooleanSi le navigateur se déclare mobile.
apple_pay_versionnumberVersion de l’API Apple Pay, quand elle est disponible.
user_agentstringChaîne user agent du navigateur.
pluginsstring[]Plugins installés dans le navigateur.
platformstringPlateforme du système d’exploitation.
cpu_architecturestringArchitecture CPU signalée.
hardware_architecturenumberIndicateur d’architecture matérielle.
connectionstringType de connexion réseau (par exemple 4g).

Rendu (Canvas, WebGL, WebGPU)

ChampTypeDescription
canvas_signalstringSignal de rendu Canvas.
webgl_signalstringSignal de rendu WebGL.
webgl_vendorstringChaîne de fournisseur WebGL.
webgl_rendererstringChaîne de moteur de rendu WebGL.
video_card_vendorstringFournisseur du GPU.
video_card_rendererstringMoteur de rendu du GPU.
video_card_vendor_unmaskedstringFournisseur du GPU non masqué, quand il est disponible.
video_card_renderer_unmaskedstringMoteur de rendu du GPU non masqué, quand il est disponible.
video_card_versionstringChaîne de version du pilote GPU.
video_card_shading_language_versionstringVersion du langage de shading.
webgpu_supportedbooleanSi WebGPU est pris en charge.
webgpu_adapterstringDescription de l’adaptateur WebGPU.
webgpu_signalstringSignal de rendu WebGPU.

Langue et heure

ChampTypeDescription
timezonestringFuseau horaire signalé.
localestringParamètre régional signalé.
languagesstring[]Langues acceptées.

Audio

ChampTypeDescription
audio_signalstringSignal d’empreinte audio.
audio_max_channelsnumberNombre maximal de canaux de sortie audio.
audio_channel_count_modestringMode de comptage des canaux audio.

Matériel

ChampTypeDescription
device_memorynumberMémoire de l’appareil signalée, en Go.
hardware_concurrencynumberNombre de cœurs CPU logiques.
js_heap_size_limitnumberLimite du tas JavaScript, en octets.
math_valuesobjectRésultats des sondes de précision mathématique, indexés par opération.

Écran

ChampTypeDescription
screen_widthnumberLargeur de l’écran en pixels.
screen_heightnumberHauteur de l’écran en pixels.
screen_resolutionstringChaîne de résolution d’écran.
color_depthnumberProfondeur de couleur de l’écran.
device_pixel_rationumberRapport de pixels de l’appareil.
touch_supportbooleanSi la saisie tactile est prise en charge.
max_touch_pointsnumberNombre maximal de points tactiles simultanés.
media_matchesstring[]Media queries CSS correspondantes.

API du navigateur

ChampTypeDescription
online_statusbooleanSi le navigateur se déclare en ligne.
do_not_trackstringRéglage Do Not Track.
cookies_enabledbooleanSi les cookies sont activés.
media_devicesstring[]Types de périphériques multimédias disponibles.
indexeddb_supportbooleanPrise en charge d’IndexedDB.
localstorage_supportbooleanPrise en charge de localStorage.
sessionstorage_supportbooleanPrise en charge de sessionStorage.
bluetooth_supportbooleanPrise en charge de Web Bluetooth.
geolocation_supportbooleanPrise en charge de l’API de géolocalisation.
device_motion_supportbooleanPrise en charge du mouvement de l’appareil.
device_orientation_supportbooleanPrise en charge de l’orientation de l’appareil.
speech_recognition_supportbooleanPrise en charge de la reconnaissance vocale.
vibration_supportbooleanPrise en charge de l’API de vibration.
gamepad_supportbooleanPrise en charge de l’API gamepad.
fullscreen_supportbooleanPrise en charge de l’API plein écran.
clipboard_supportbooleanPrise en charge de l’API presse-papiers.
service_worker_supportbooleanPrise en charge des Service Workers.
webassembly_supportbooleanPrise en charge de WebAssembly.

Préférences

ChampTypeDescription
prefers_dark_modebooleanPréfère le thème sombre.
prefers_reduced_motionbooleanPréfère les animations réduites.

Polices

ChampTypeDescription
detected_fontsstring[]Polices détectées sur l’appareil.
font_metricsobjectMétriques de rendu des polices, indexées par mesure.

Signaux réseau

ChampTypeDescription
stun_ipsstring[]Adresses IP locales découvertes via STUN.
permission_statesobjectÉtats des autorisations, indexés par nom d’autorisation.

WebRTC, synthèse vocale et MathML

ChampTypeDescription
webrtc_supportedbooleanPrise en charge de WebRTC.
webrtc_hashstringHash de l’ensemble de fonctionnalités WebRTC.
webrtc_detailsobjectCapacités WebRTC détaillées.
webrtc_errorstringErreur de la sonde WebRTC, le cas échéant.
speech_synthesis_supportedbooleanPrise en charge de la synthèse vocale.
speech_hashstringHash de l’ensemble des voix de synthèse.
speech_detailsobjectDonnées détaillées de synthèse vocale.
speech_errorstringErreur de la sonde vocale, le cas échéant.
mathml_supportedbooleanPrise en charge de MathML.
mathml_hashstringHash du rendu MathML.
mathml_detailsobjectDonnées détaillées du rendu MathML.
mathml_errorstringErreur de la sonde MathML, le cas échéant.

Performances et batterie

ChampTypeDescription
fpsnumberImages par seconde mesurées.
battery_infoobjectÉtat de la batterie : charging, level, charging_time, discharging_time.

Détection de navigation privée

ChampTypeDescription
incognito_detectedbooleanSi un mode de navigation privée a été détecté.
incognito_supportstringNiveau de prise en charge de la méthode de détection.
incognito_methodstringMéthode de détection utilisée.
incognito_quota_bytesnumberQuota de stockage observé pendant la détection.

Détection des outils de développement

ChampTypeDescription
developer_tools_detectedbooleanSi les outils de développement semblent ouverts.
developer_tools_supportstringNiveau de prise en charge de la détection.
developer_tools_methodstringMéthode de détection utilisée.
developer_tools_gap_pxnumberÉcart de la fenêtre, en pixels, utilisé pour la détection.

Détection de machine virtuelle

ChampTypeDescription
virtual_machine_detectedbooleanSi l’appareil semble être une machine virtuelle.
virtual_machine_supportstringNiveau de prise en charge de la détection.
virtual_machine_reasonstringRaison pour laquelle l’appareil a été signalé.

Automatisation et falsification

ChampTypeDescription
web_driverbooleanSi navigator.webdriver est défini.
web_driver_tamperedbooleanSi l’indicateur webdriver semble falsifié.
cdpbooleanUtilisation du Chrome DevTools Protocol détectée.
cdp_tamperedbooleanSi les signaux CDP semblent falsifiés.
tamper_injected_globalsstring[]Variables globales suspectes injectées.
tamper_expose_binding_leakbooleanFuite de binding associée à l’automatisation.
tamper_desc_instance_ownstring[]Descripteurs de propriété propres anormaux.
tamper_desc_proto_nonnativestring[]Descripteurs de prototype non natifs.
tamper_xrealm_webdriver_mismatchbooleanIncohérence de webdriver entre realms.
tamper_xrealm_renderer_deltabooleanDifférence de moteur de rendu entre realms.
tamper_probe_blockedbooleanSi les sondes de falsification ont été bloquées.

Attestation de l’appareil

ChampTypeDescription
device_uvpaabooleanAuthentificateur de plateforme avec vérification de l’utilisateur disponible.
device_client_caps_countnumberNombre de capacités du client signalées.
device_caps_uvpabooleanCapacité de l’authentificateur de plateforme.
device_apple_pay_active_cardbooleanApple Pay a une carte active.
device_payment_enrolledbooleanL’appareil est enregistré pour un moyen de paiement.
device_serial_presentbooleanCapacité série présente.
device_hid_presentbooleanCapacité HID présente.
device_notif_staticstringSignal statique de capacité de notification.
device_notif_queriedstringSignal interrogé de capacité de notification.
device_realness_probe_errorbooleanSi une sonde d’authenticité a échoué.

DRM

ChampTypeDescription
drm_probedbooleanSi la prise en charge du DRM a été sondée.
drm_clearkeybooleanPrise en charge de Clear Key.
drm_widevinebooleanPrise en charge de Widevine.
drm_widevine_robustnessstringNiveau de robustesse de Widevine.
drm_externalclearkeybooleanPrise en charge d’External Clear Key.
drm_fairplaybooleanPrise en charge de FairPlay.
drm_playreadybooleanPrise en charge de PlayReady.
drm_hw_secure_allbooleanPrise en charge du décodage sécurisé matériel.
drm_ua_brand_is_google_chromebooleanLa marque du UA déclare Google Chrome.
drm_errorstringErreur de la sonde DRM, le cas échéant.
drm_elapsed_msnumberDurée de la sonde DRM, en millisecondes.

Étiquettes fournies par le client

ChampTypeDescription
external_idsobjectIdentifiants que vous avez attachés à l’empreinte, comme accountId, orderId ou email.
extension_presence_resultsobjectExtensions de navigateur détectées, indexées par extension.

Objet network_client_metrics

Caractéristiques TCP et TLS au niveau de la connexion.

ChampTypeDescription
client_ipstringAdresse IP du visiteur.
client_portnumberPort source du visiteur.
user_agentstringUser agent vu au niveau réseau.
js_timezonestringFuseau horaire signalé par JavaScript.
timestampstringHeure à laquelle l’échantillon réseau a été prélevé, ISO 8601.
request_idstringID de requête au niveau réseau.
protocolstringProtocole HTTP utilisé.
quic_versionnumberVersion de QUIC, lorsque la connexion a utilisé QUIC.
syn_ip_ttlnumberTTL IP du paquet SYN initial.
syn_window_sizenumberTaille de fenêtre TCP du SYN initial.
syn_window_scalenumberÉchelle de fenêtre TCP du SYN initial.
tcp_rtt_usecnumberTemps d’aller-retour TCP estimé, en microsecondes.
tcp_rttvar_usecnumberVariance du temps d’aller-retour TCP.
tcp_rtt_min_usecnumberTemps d’aller-retour TCP minimal observé.
tcp_timestampnumberValeur de l’option timestamp TCP.
tcp_mss_synnumberMSS TCP annoncé.
tcp_mss_rcvnumberMSS TCP observé du pair.
tls_handshake_usecnumberDurée du handshake TLS, en microsecondes.
tls_clienthello_sizenumberTaille du ClientHello, en octets.
tls_sni_formatstringFormat de l’extension SNI.
tls_alpn_protocolsstring[]Protocoles ALPN proposés dans le handshake TLS.
tls_clienthello_ciphersnumber[]Suites de chiffrement proposées.
tls_clienthello_extensionsnumber[]Extensions TLS proposées.
tls_clienthello_signature_algsnumber[]Algorithmes de signature proposés.
tls_clienthello_legacy_versionnumberVersion legacy du ClientHello.
tls_clienthello_supported_versionsnumber[]Versions de TLS proposées.
tls_ja4stringEmpreinte JA4 du client TLS.
matched_againststringDomaine auquel la connexion a été associée.
team_idstringL’ID de votre équipe cside.

Objet ip_enrichment

Données dérivées de l’adresse IP du visiteur.

ChampTypeDescription
asnnumberNuméro de système autonome.
asn_namestringNom de l’organisation de l’ASN.
asn_networkstringPlage réseau de l’ASN.
asn_typestringType d’ASN, comme hosting ou isp.
city_namestringNom de la ville.
country_codestringCode pays.
country_namestringNom du pays.
latitudenumberLatitude.
longitudenumberLongitude.
postal_codestringCode postal.
region_codestringCode de région.
region_namestringNom de la région.
timezonestringFuseau horaire.
hostingbooleanL’IP appartient à un hébergeur.
proxybooleanL’IP est un proxy connu.
relaybooleanL’IP est un relais privé.
torbooleanL’IP est un nœud de sortie Tor.
vpnbooleanL’IP est un VPN connu.
servicestringService de confidentialité identifié, le cas échéant.
maxmind_asnnumberASN selon MaxMind.
is_datacenter_ipbooleanL’IP est dans une plage de centre de données.
is_likely_datacenternumberScore de probabilité de centre de données.

Objet geo_lite_city_data

Géolocalisation au niveau de la ville.

ChampTypeDescription
city_namestringNom de la ville.
country_codestringCode pays.
country_namestringNom du pays.
latitudenumberLatitude.
longitudenumberLongitude.
postal_codestringCode postal.
region_codestringCode de région.
region_namestringNom de la région.
timezonestringFuseau horaire.

Objet vpn_evaluation

Probabilité de VPN et signaux associés.

ChampTypeDescription
is_vpnbooleanSi le visiteur est classé comme utilisant un VPN.
vpn_probabilitynumberProbabilité de VPN, de 0 à 1.
vpn_confidencenumberConfiance dans la classification, de 0 à 1.
reasonsstring[]Raisons lisibles de la classification.
featuresobjectSignaux numériques utilisés pour la classification.
contextobjectContexte d’enrichissement, comme le nom d’hôte DNS inverse, l’ASN et la géo.

Objet bot_evaluation

Probabilité de bot et verdict.

ChampTypeDescription
is_botbooleanSi le visiteur est classé comme bot.
bot_probabilitynumberProbabilité de bot, de 0 à 1.
bot_confidencenumberConfiance dans la classification, de 0 à 1.
bot_agent_idstringBot identifié, le cas échéant (par exemple google-googleother).
reasonsstring[]Raisons lisibles de la classification.
session_event_countnumberNombre d’événements comportementaux traités pour la session.
model_1_scorenumberScore du premier modèle de bot (signaux d’empreinte et réseau).
model_1_thresholdnumberSeuil de décision appliqué au score du premier modèle.
model_2_scorenumberScore du deuxième modèle de bot (signaux comportementaux).
model_2_thresholdnumberSeuil de décision appliqué au score du deuxième modèle.
featuresobjectSignaux numériques utilisés pour la classification.

Objet fingerprint_enrichment

ChampTypeDescription
throwaway_email_detectedbooleanSi un e-mail attaché utilise un domaine jetable.

Objet rule_evaluations

ChampTypeDescription
rulesobject[]Résultats des règles nommées. Chaque entrée contient slot, rule_id, result, metadata et computed_at.

Exemple d’enregistrement

Un seul enregistrement, mis en forme ici pour la lisibilité. Dans le fichier, chaque enregistrement tient sur une ligne.

{
  "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",
  "evaluation_status": "EVALUATION_STATUS_COMPLETED",
  "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 }
}
Was this page helpful?