Skip to content
StableAudienceDevSécuritéQAAudit banqueComplianceOwner@kyc-teamDernière revue2026-05-21

Flow — Onboarding KYC (consumer)

Un nouvel utilisateur de l’app Nex passe par l’enrôlement : phone + OTP, PIN, profil minimal, KYC complet via Apentis.

Sequence diagram

Trust boundaries traversées

ÉtapeCrossingContrôle
2-7App → Auth (phone + OTP)Rate limit OTP (10 tentatives / 24h), WAF
11-12Set PINbcrypt serveur, PBKDF2 mobile
18Upload fichiers KYCSigned URLs, expiration courte
22Orch → ApentisAPI key vendor (cf. /security/secrets-management)
26Token FirebaseCustom token (cf. ADR-0002)

Pré-conditions

  • Numéro de téléphone CEMAC supporté.
  • Apentis sandbox / prod accessible (cf. vendor risk).

Post-conditions

EntityÉtat
users (auth)créé avec PIN hashé
people (KYC)créé
kyc_documentsenregistrés, fichiers dans file-service
phones, contactscréés
Wallet ledgercréé à 0 XAF
Apentisdossier soumis, statut tracé

Acceptance criteria (Gherkin)

gherkin
Scenario: Onboarding KYC réussi
  Given un nouveau consumer avec un numéro CEMAC valide
  When il complète le flow (phone, OTP, PIN, profil, documents)
  And Apentis renvoie un verdict "validé"
  Then son compte est créé avec KYC verified
  And son wallet est initialisé à 0 XAF
  And il reçoit un push de bienvenue
  And il peut se connecter avec phone + PIN

Scenario: KYC en attente
  When Apentis renvoie "pending_review"
  Then le compte est créé mais bloqué pour transactions
  And le consumer voit "Dossier en cours de vérification"

Scenario: OTP expiré
  Given un OTP envoyé il y a plus de TTL
  When le consumer le saisit
  Then la vérification échoue
  And le consumer doit relancer l'OTP

Scenario: OTP rate limit atteint
  Given un consumer ayant épuisé son quota OTP / 24h
  When il demande un nouvel OTP
  Then la demande est rejetée
  And un message d'erreur clair est affiché

Liens

Nex — Plateforme fintech CEMAC