Retour au catalogue
identity

eKYC

Vérification d'identité à distance combinant contrôle de document, comparaison faciale et détection de présence (liveness / anti-spoofing), corrélée nativement aux signaux télécoms SIFIP (SIM swap, ancienneté de ligne). Une biométrie réussie sur une ligne récemment compromise est signalée plutôt qu'approuvée. Trois flux : onboarding (document → selfie), ré-authentification (selfie → référence) et scoring de session (score unifié corrélé). Inclut la gestion des images de référence avec consentement (RGPD / Loi 2014-038).

Simuler un appel API
Paramètres
NameTypeRequiredDescription
typeenumrequisonboarding | reauth
document.typeenumoptionnelnational_id | passport | cni | driver_license (onboarding)
document.countryISO 3166optionnelEx. MG, TN (onboarding)
document.front_imagebase64/URLoptionnelRecto du document (onboarding)
selfie.imagebase64/URLrequisVisage live
selfie.liveness_modeenumoptionnelpassive | active | passive_plus_injection
reference.idstringoptionnelRéférence enregistrée (reauth)
trust_signals.enabledbooloptionnelActive la corrélation télécom SIFIP
trust_signals.phone_numberE.164optionnelNuméro à corréler
callback_urlURLoptionnelWebhook de fin de traitement
Réponse type
{
  "id": "vrf_a1b2c3d4",
  "status": "completed",
  "type": "onboarding",
  "decision": "REVIEW",
  "score": 64,
  "document": {
    "type": "national_id",
    "country": "MG",
    "authenticity": "passed",
    "extracted_data": {
      "full_name": "RAKOTO Jean",
      "document_number": "101231234567",
      "date_of_birth": "1990-05-12",
      "expiry_date": "2030-05-11",
      "sex": "M"
    },
    "data_confidence": 0.97
  },
  "face_match": {
    "match": true,
    "similarity": 0.91,
    "threshold": 0.8
  },
  "liveness": {
    "passed": true,
    "mode": "passive",
    "pad_score": 0.95,
    "attack_detected": null
  },
  "trust_signals": {
    "phone_number_hash": "sha256:9f2b...",
    "sim_swap": {
      "is_swapped": true,
      "last_swap_at": "2026-06-26T08:10:00Z"
    },
    "line_tenure_days": 412,
    "correlation_flag": "biometric_ok_but_recent_sim_swap"
  },
  "reasons": [
    {
      "code": "FACE_MATCH_OK",
      "severity": "info"
    },
    {
      "code": "LIVENESS_OK",
      "severity": "info"
    },
    {
      "code": "DOC_AUTHENTIC",
      "severity": "info"
    },
    {
      "code": "RECENT_SIM_SWAP",
      "severity": "warning",
      "detail": "SIM swap détecté il y a ~2h ; risque de prise de contrôle malgré un eKYC valide."
    }
  ]
}