Aller au contenu

Onboarding tenant — playbook A→Z (SaaS et on-prem)

Audience : équipe Customer Success VitaKYC (CSM), équipe DSI tenant banque/fintech, sponsor compliance tenant.

Pages liées : Sanctions admin UI, Runbook SRE Sanctions, Mobile SDK, DPIA, BCP/DR.

Mode SaaS : déploiement géré par VitaKYC sur cloud souverain Tunisie (Sotetel) ou région UE (OVH/Scaleway). Mode on-prem : déploiement chez le tenant avec accompagnement VitaKYC.

Ce document fixe le playbook d’onboarding d’un nouveau tenant VitaKYC, de la signature contrat jusqu’au go-live production. Il s’adresse à un CSM VitaKYC qui pilote l’intégration et au DSI tenant qui finance / valide les étapes.


Semaine 1-2 : Cadrage + pré-requis
Semaine 3-4 : Provisioning + setup infra
Semaine 5-6 : Configuration métier (CPS, listes, règles)
Semaine 7-8 : Tests d'intégration + formation agents
Semaine 9 : Pilote shadow (1 % traffic)
Semaine 10 : Pilote 5 % traffic
Semaine 11 : Ramp-up 25 % puis 100 %
Semaine 12 : Stabilisation + signature PV de réception
Segment tenantDurée typiqueEffort jours/personne VitaKYCEffort jours/personne tenant
Fintech / startup (1-3 produits)6-8 semainesCSM 15 j + ingé 8 jDSI 10 j + compliance 5 j
Banque retail tier-2 MENA8-12 semainesCSM 25 j + ingé 20 jDSI 30 j + compliance 15 j
Banque tier-1 / multi-pays12-16 semainesCSM 40 j + ingé 35 j + archi 10 jDSI 60 j + compliance 30 j + ops 20 j
PSP / e-money6-10 semainesCSM 20 j + ingé 12 jDSI 15 j + compliance 8 j

ProfilRAM totalevCPUStockageGPURéseau
Léger (≤ 100 K vérifs/an, listes publiques only)24 GB8 vCPU200 GB SSDnon100 Mbps
Standard (≤ 1 M vérifs/an, DJ activé)64 GB16 vCPU1 TB SSDnon500 Mbps
Banque tier-1 (≥ 5 M vérifs/an, HA 3 nœuds)192 GB (3×64)48 vCPU (3×16)3 TB SSDoptionnel pour ML1 Gbps + redondance
Banque tier-1 multi-pays384 GB+96 vCPU+6 TB+recommandé10 Gbps

Détails par sous-service (mode standard) :

  • kafka: 8 GB heap, 200 GB SSD pour 30 j retention
  • postgres: 8 GB shared_buffers, 500 GB SSD HA 1 primary + 1 replica
  • opensearch (sanctions DJ): 16 GB heap, 30 GB SSD
  • vault: 4 GB heap, 50 GB SSD
  • temporal: 4 GB heap, 50 GB SSD
  • bio-svc + ocr-svc + face-match-svc + tx-monitoring-svc + form-runtime + case-mgmt + sanctions + risk-matrix + webhook-svc: 4 GB heap chacun
  • Sortant Internet (mode SaaS) : *.vitakyc.io ports 443 (API REST + webhooks), 9092 (Kafka mTLS)
  • Mode on-prem : air-gap supporté pour le cœur. Sortant requis seulement pour : MAJ listes sanctions free (HTTPS publiques), SDK Web CDN si activé, providers liveness commerciaux (si configurés)
  • Latence interne entre core banking et tx-monitoring-svc : ≤ 50 ms (sinon impact SLA streaming)
  • DNS : sous-domaine tenant délégué (kyc.{banque}.tn CNAME vers tenant.vitakyc.io en SaaS, ou nœud interne en on-prem)
  • Certificats : tenant fournit cert wildcard pour *.kyc.{banque}.tn ou utilise Let’s Encrypt managé

VitaKYC supporte OIDC standard. Tenant doit fournir :

  • IdP URL (https://idp.banque.tn/.well-known/openid-configuration)
  • Client ID + secret (créés par tenant pour VitaKYC)
  • Mapping rôles : groupes IdP → rôles VitaKYC (agent_l1, agent_l2, mlro, dsi_admin, auditor, developer)
  • MFA obligatoire pour rôles ≥ L2 (TOTP, WebAuthn, ou push mobile selon IdP)

Si tenant n’a pas d’IdP : VitaKYC fournit Keycloak managé.

Tenant doit fournir avant la fin de S2 :

  • Liste des produits / segments client (ex retail, pro, crédit, leasing, jeune, expat) — chacun aura sa policy de risk + son form
  • Catalogue de pays où le tenant opère + liste interne high-risk countries (en supplément des listes publiques)
  • Catalogue de professions + classification interne high-risk (PEP local, professions liées à argent liquide, etc.)
  • Liste agents compliance : nom, email, rôle (L1/L2/MLRO), skills (PEP, FATCA, CRYPTO, RETAIL, CORPORATE, TRANSACTION)
  • Politique d’escalade : seuils SLA + 4-eyes thresholds + montant transaction → escalade
  • Branding : logo SVG transparent ≥ 200×60 px, palette HSL, police custom optionnelle
  • i18n : langues activées tenant (FR/AR/EN par défaut MENA)

Participants : CSM VitaKYC + DSI tenant + sponsor compliance + 1 représentant ops/SRE.

Agenda :

  1. Confirmation périmètre : modules activés (KYC, AML batch, AML streaming, sanctions, biométrie, e-signature)
  2. Mode déploiement : SaaS / on-prem / hybride
  3. Volume cible : vérifs/jour, transactions/jour, comptes actifs
  4. Intégration core banking : Temenos / Finastra / Mambu / Sopra / autre, format (REST API, fichiers batch CSV/SWIFT, Kafka)
  5. Workflows tenant-specific : segments client + parcours différenciés
  6. Contraintes réglementaires : BCT (TN) / ACPR (FR) / DGI / autres
  7. Calendrier go-live cible : date business critique (ex prochain audit BCT, lancement produit)

Sortie : vitakyc-onboarding-{tenantId}.md co-signé. Contenu :

  • Modules activés + tarification
  • SLA de support
  • Calendrier détaillé S1-S12
  • RACI (cf §10)
  • Points d’attention identifiés
  • Risques + mitigation

CSM envoie via mail signé un document tenant-prerequisites.md avec checklist hardware/réseau/IdP/données de référence (cf §2). Tenant doit valider avant fin S2.


4. Étape 2 — Provisioning + setup infra (semaine 3-4)

Section intitulée « 4. Étape 2 — Provisioning + setup infra (semaine 3-4) »

Côté VitaKYC :

  • Création tenant dans tenant-management-svc (UUID + métadonnées)
  • Provisioning Postgres schema + RLS policies + seed data
  • Provisioning OpenSearch index sanctions_{tenantId}
  • Provisioning Kafka topics partitionnés tenantId
  • Provisioning Vault paths tenant/{tenantId}/* + génération keys (KEK + Ed25519 signing keys + webhook secret + tenant API keys)
  • Configuration DNS + cert TLS (Let’s Encrypt managé)
  • Setup SSO via OIDC tenant (test auth round-trip)
  • Création comptes initiaux : 1 admin DSI + 2 agents test
  • Setup monitoring tenant : dashboards Grafana cluster + métriques tenant-isolated

Côté tenant :

  • DNS CNAME kyc.banque.tntenant.vitakyc.io validé
  • Whitelist IPs sortant *.vitakyc.io ports 443
  • Création groupes IdP (vitakyc_agent_l1, …, vitakyc_dsi_admin)
  • Test login agent via SSO → écran VitaKYC

Validation S4 : agent admin tenant peut se connecter via SSO et voir le dashboard vide.

Côté tenant :

  • Hardware provisionné selon profil (cf §2.1)
  • OS installé : Ubuntu 22.04 LTS ou RHEL 9
  • Kubernetes ou Docker Swarm installé (recommandé K8s)
  • Storage class SSD configurée (Longhorn / Rook-Ceph / OpenEBS)
  • Réseau interne configuré (CNI Calico ou Cilium)
  • DNS interne tenant kyc.banque.tn résolvant vers ingress controller

Côté VitaKYC :

  • Helm chart vitakyc-core v1.x livré au tenant via tarball signé GPG
  • Installation guidée : helm install vitakyc-core ... (template values.yaml prérempli avec choix segments)
  • Vault mode HA initialisé : vault operator init -recovery-shards=5 (5 shards, 3 requis pour unseal)
  • Postgres bootstrap + migrations Flyway
  • Smoke tests : vitakyc-cli health-check doit retourner OK sur tous services
  • Mode air-gap : push images Docker via pct push ou registry interne tenant

Validation S4 : vitakyc-cli system-info retourne version + config + health OK.


5. Étape 3 — Configuration métier (semaine 5-6)

Section intitulée « 5. Étape 3 — Configuration métier (semaine 5-6) »

CSM + intégrateur tenant définissent le ClientProfileSchema initial via UI form designer (cf CPS spec) :

  • Variables canoniques par segment (retail, corporate, etc.)
  • Catalogue d’enums (BCT_PROFESSION_CODES, ISO3166, segments tenant)
  • Mapping aux champs core banking (T24 fields → CPS paths)

Pour chaque segment, créer un form via UI Designer :

  • Étapes (identité, doc, biométrie, FATCA, consentement, signature)
  • Champs avec mapping CPS obligatoire (cf ADR-026)
  • Règles de visibilité conditionnelle
  • Traductions FR/AR/EN
  • Branding logo + couleurs
  • Publication v1.0.0 avec dual-control

Templates pré-livrés : retail TN, fintech wallet, crédit conso, corporate, expat. CSM personnalise selon tenant.

CSM aide tenant à définir :

  • 5 dimensions (client, geo, product, channel, aml_screening)
  • Pondérations (somme = 1.0 enforced)
  • Thresholds LOW/STANDARD/HIGH/PROHIBITED
  • Overrides (mustProhibit OFAC + pays sanctionnés, mustHigh PEP + adverse media)
  • Backtest sur 1 000 dossiers historiques tenant (si disponibles)
  • Publication en SHADOW pendant S6-S7, switch ACTIVE en S8

Référence : Playbook Risk Matrix BCT.

  • Activer les listes publiques par défaut (OFAC SDN, UN, EU, UK, World Bank, OpenSanctions)
  • Si tenant a souscrit DJ : activer adapter Dow Jones (cf ADR-030 — détails à fournir par tenant)
  • Configurer thresholds par typologie (cf Sanctions admin UI 12.3)
  • Force refresh initial des 7 listes
  • Cron calendar planifié dimanche 02:00 + delta quotidien 06:00
  • Activer les 5 typologies MVP (structuring, velocity, threshold high-risk, pass-through, aggregate WIRE)
  • Calibrer thresholds par tenant (montant, période, ratio baseline)
  • Mode SHADOW pendant 14 j minimum (cf ADR-031)
  • Backtest 6 mois historique tx tenant
  • Dual-control activation S+10
  • Configurer URLs côté tenant pour les 6 event types (cf Webhooks spec)
  • Générer secret HMAC tenant
  • Test endpoint via POST /v1/webhooks/test pour valider chaque URL
  • Déploiement code de vérification HMAC côté tenant (Node/Python/Java/PHP selon stack)
  • Créer agents profiles (skills, seniority, max load)
  • Configurer SLA par priorité (URGENT 1h, HIGH 4h, STANDARD 24h, LOW 7j)
  • Configurer 4-eyes policy (montant > seuil, PEP, URGENT, REJECTED toujours)
  • Configurer escalade ladder (75 % NOTIFY_AGENT, 100 % NOTIFY_MANAGER, 125 % AUTO_ESCALATE_L2, 200 % AUTO_ESCALATE_MLRO)
  • Choix tenant resolution mode : SaaS embedded / on-prem gateway / PWA fallback / hybride (cf ADR-024)
  • Distribution SDK : NPM tenant package, Maven enterprise, Swift PM enterprise
  • Cert pinning configuration
  • App banque rebranded ou app standalone selon choix

6. Étape 4 — Tests d’intégration + formation (semaine 7-8)

Section intitulée « 6. Étape 4 — Tests d’intégration + formation (semaine 7-8) »
  • Test parcours client complet : capture identité → bio → AML screening → risk evaluation → case si HIGH → décision agent
  • Test cross-tenant isolation (RLS Postgres + index OpenSearch séparés)
  • Test resilience : kill un pod, vérifier reprise sans perte de données
  • Test webhook : émis, retry sur 503, FAILED après 24 h
  • Test 4-eyes : impossible de bypasser
  • Test audit chain : verify integrity sur 1 000 events
  • Test backup/restore : snapshot OpenSearch + Postgres PITR
  • Load test : 1 000 vérifs/min, 10 000 tx/s sur tx-monitoring
PublicDuréeSujet
Agent L1 (5-15 personnes)4 hUI Workflow 11 (Review Queue) + Workflow 13 (AML alerts) + procédure interne tenant
Agent L2 + MLRO6 h+ 4-eyes confirmation + escalade + génération STR goAML
DSI admin4 hUI Workflows 12 + 4 (Sanctions admin + Form Designer) + monitoring
Compliance officer4 hRisk Matrix + Sanctions config + audit search + reporting BCT
Auditeur interne2 hUI lecture seule + chaîne de hash + export PDF

Sortie : tous les agents ont un compte créé + ont validé le parcours formation (badge interne).

CSM fournit :

  • Manuel utilisateur agents (PDF FR/AR/EN, ~50 pages)
  • Manuel admin DSI (PDF, ~30 pages)
  • Quick reference cards (1 page A4) par rôle
  • Vidéos formation 5-10 min par workflow

  • Tenant active VitaKYC en parallèle de son système actuel
  • Tx réel envoyées en double : système actuel produit la décision, VitaKYC fait shadow
  • Comparaison verdict système actuel vs VitaKYC sur 100-500 cas
  • Calibration finale des thresholds Risk Matrix + Sanctions
  • Ajustement règles AML

Critère de succès S9 : ≥ 95 % concordance verdict ; faux positifs < 8 %.

  • 5 % du nouveau parcours KYC routé vers VitaKYC (selon hash client_id par exemple)
  • Monitoring temps réel (Grafana cluster)
  • Daily standup tenant + VitaKYC pour analyser les cas litigieux
  • Ajustements à la volée

Critère de succès S10 : 0 incident P1 ; SLA respect ≥ 90 % ; satisfaction agents NPS ≥ 7/10.

  • Bascule 25 % → 50 % → 100 % sur 1 semaine
  • Système actuel gardé en standby (rollback possible 24 h)
  • Communication interne tenant aux équipes commerciales

Critère de succès S11 : tous les KPI cibles atteints, signature PV de réception.


8. Étape 6 — Stabilisation + signature PV (semaine 12)

Section intitulée « 8. Étape 6 — Stabilisation + signature PV (semaine 12) »
  • Signature PV de Réception Définitive (PVRD) par DSI + sponsor compliance + CSM
  • Bascule du support de “Customer Success” (Tier 1 setup) vers “Support production” (Tier 2 ops)
  • Définition du modèle de support continu :
    • SLA P1 (réponse < 15 min, résolution < 1 h pour banque tier-1)
    • SLA P2 (1 h / 4 h)
    • SLA P3 (4 h / 24 h)
    • SLA P4 (24 h / 5 j)
  • Calendrier des revues récurrentes :
    • Daily standup tenant ↔ VitaKYC (S+13 → S+16)
    • Weekly review (S+13 → fin trimestre 1)
    • Monthly business review (steady state)
    • Quarterly review trimestrielle avec KPIs business

  • Atelier de cadrage tenu (DSI + sponsor compliance + CSM + ingé)
  • Document de cadrage signé
  • Pré-requis envoyés au tenant (hardware/réseau/IdP/données)
  • Calendrier détaillé validé
  • RACI signé (cf §10)
  • Tenant créé dans tenant-management-svc
  • Postgres schema + RLS provisionnés
  • OpenSearch index sanctions provisioné
  • Kafka topics partitionnés provisioné
  • Vault paths + keys provisioné
  • DNS + cert TLS configuré
  • SSO OIDC configuré + test login OK
  • Comptes initiaux créés (1 admin + 2 agents)
  • Monitoring tenant en place
  • (on-prem) hardware provisionné conforme
  • (on-prem) Helm chart installé + smoke tests OK
  • CPS initial publié v1.0.0
  • Forms KYC publiés par segment v1.0.0
  • Risk Matrix publiée SHADOW
  • Sanctions listes activées + cron planifié
  • AML rules activées SHADOW
  • Webhooks 6 event types configurés + test endpoint OK
  • Case Management : agents + SLA + 4-eyes + escalade
  • Mobile SDK distribué (si activé)
  • i18n FR/AR/EN complets
  • Branding logo + couleurs validés
  • Test E2E parcours complet OK
  • Test cross-tenant isolation OK
  • Test resilience (kill pod) OK
  • Test webhooks retry OK
  • Test 4-eyes OK
  • Test audit chain integrity OK
  • Test backup/restore OK
  • Load test 1000 vérifs/min OK
  • Formation agents L1 ✅
  • Formation agents L2 + MLRO ✅
  • Formation DSI admin ✅
  • Formation compliance officer ✅
  • Formation auditeur interne ✅
  • Manuels utilisateurs livrés
  • Quick reference cards livrées
  • Phase shadow ≥ 95 % concordance
  • Phase 5 % traffic 0 incident P1
  • Phase ramp-up 25 % → 50 % → 100 %
  • SLA respect ≥ 90 %
  • Satisfaction agents NPS ≥ 7/10
  • DPIA tenant validé (cf DPIA)
  • BCP/DR testé (cf BCP/DR)
  • PV de Réception Définitive signé
  • Bascule vers support production
  • SLA support défini
  • Daily/Weekly/Monthly cadence définie
  • Premier rapport BCT généré (si applicable)
  • Post-mortem onboarding rédigé

ActivitéVitaKYC CSMVitaKYC IngéDSI tenantCompliance tenantOps tenant
Cadrage initialACRRC
Pré-requis hardware/réseauICR/ACR
Provisioning SaaSR/ACIII
Provisioning on-premCARIR
Setup SSOCCR/AIC
CPS initialACCRI
Form Designer initialACCRI
Risk Matrix initialeACIR/AI
Configuration AMLACIR/AI
Webhooks setupCCR/AIC
Tests E2ECARCR
Formation agentsR/ACICI
Pilote shadowCCARR
Ramp-up 100 %CCARR
Support productionARCCC
Reporting BCTCICR/AI

R = Responsable / A = Approbateur / C = Consulté / I = Informé.


SévéritéDéfinitionRéponse cibleRésolution cible
P1 critiqueservice inutilisable, audit chain rompue, RGPD breach, fuite PII15 min (24/7)1 h (banque tier-1) / 4 h (autres)
P2 élevédégradation majeure, > 30 % vérifs en erreur, SLA breach1 h4 h
P3 mediumbug fonctionnel, dégradation mineure4 h24 h
P4 faibledemande d’évolution, question24 h5 jours ouvrés

Disponibilité contractuelle : 99,5 % MVP, 99,9 % V2 (banque tier-1). Pénalités si dépassement (cf contrat).


RisqueMitigation
Données core banking pas exhaustives (champs obligatoires CPS manquants)Atelier dédié S3 avec ingés tenant + plan de complétion progressive
IdP tenant exotique (LDAP propriétaire, AD legacy)Évaluation S2, prévoir Keycloak managé en relais si besoin
Volume sous-estiméAudit S2 avec données réelles 30 j tenant, ajustement profil hardware
Lenteur décisionnelle compliance tenantSponsor compliance dédié + agenda fixe de validation par sprint
Personnalisation excessive demandéeCharte “no fork” : custom toléré via configuration, jamais via patch code
Pression go-live trop tôtNe pas céder sur la phase shadow 14 j minimum — risque audit BCT
Refus on-prem du air-gap (ouverture Internet sortant requise pour DJ)Documenter clairement les contraintes en cadrage

Repo vitakyc-onboarding-templates accessible aux CSM :

  • prerequisites-tenant.md — checklist pré-requis tenant
  • cadrage-document.md — template document de cadrage
  • raci.xlsx — RACI pré-rempli à adapter
  • helm-values-{profile}.yaml — values Helm par profil (light/standard/tier-1)
  • runbook-go-live.md — runbook go-live S+12
  • agent-training-l1.pptx + agent-training-l2.pptx — slides formation
  • tenant-onboarding-pvrd.md — template PV de Réception Définitive
  • quick-reference-cards.zip — cartes A4 par rôle FR/AR/EN

14. Calendrier détaillé S1-S12 (Gantt simplifié)

Section intitulée « 14. Calendrier détaillé S1-S12 (Gantt simplifié) »
S1 ████░░░░ cadrage initial
S2 ████░░░░ pré-requis tenant
S3 ████ provisioning infra
S4 ████ setup IdP + DNS + smoke tests
S5 ████ CPS + forms initiaux
S6 ████ Risk Matrix + AML rules SHADOW + sanctions
S7 ████ tests E2E
S8 ████ formation agents
S9 ██░░ shadow 1%
S10 ██░░ pilote 5%
S11 ████ ramp-up 25 → 50 → 100%
S12 ████ stabilisation + PVRD


Playbook onboarding tenant — version 1.0 (2026-04-27). Itéré après chaque go-live tenant.