Référence connecteur · CISO Assistant

Toutes les fonctionnalités du connecteur, documentées service par service.

Cette page documente exhaustivement chaque fonctionnalité du connecteur Humanix Académie × CISO Assistant : effet côté gouvernance, risque et conformité, services OpenAPI consommés, interrupteur d'activation, cas d'usage type. Chaque fonctionnalité est alignée contre le contrat OpenAPI réel de CISO Assistant community — pas d'analyse à l'envers, pas de devinette.

17
Fonctionnalités
12
Interrupteurs indépendants
100 %
Idempotent
0
Modification côté intuitem

Cœur du connecteur

La transmission automatique des preuves de conformité — base obligatoire que toutes les autres fonctionnalités enrichissent.

Preuves de conformité

v1.0actif par défaut

Une preuve par contrôle, idempotente par nom, avec score, statut, période de couverture et lien vers Humanix.

Pour chaque contrôle du référentiel sélectionné (ex: A.5.1 sur ISO 27001:2022), on crée ou met à jour une Evidence côté CISO Assistant avec :

  • Nom stable : Humanix · <control_ref> · <control_name>
  • Description Markdown en 2 blocs : « Métadonnées audit » (ISO 27001 §7.5 : référentiel, contrôle, responsable, période, version Humanix, ré-évaluation) puis « Données Humanix » (score, statut, source).
  • Statut mappé sur l'enum CISO Assistant : compliant→approved, partial→in_review, non_compliant→rejected, not_assessed→draft.
  • Lien direct vers la page Humanix qui prouve la mesure (chiffres en clair, drill-down par groupe).
  • Date d'expiration à +12 mois (réaudit annuel par défaut).
Cas d'usage type

Le RSSI prépare son audit ISO 27001 et veut une trace fraîche par contrôle, sans copier-coller manuel ni Excel partagé.

Endpoints CISO Assistant utilisés
  • GET /api/evidences/?folder={folderId}
  • POST /api/evidences/
  • PATCH /api/evidences/{id}/

Boucle GRC complète

Tout ce qu'un RSSI attend dans un outil de gouvernance, risque et conformité moderne : contrôles appliqués, constats, scénarios de risque, incidents.

AppliedControl agrégateur

v1.3à activer

Un contrôle appliqué « Programme de sensibilisation Humanix » regroupe toutes les preuves transmises, avec la catégorie « processus », csf_function=protect et un effort de niveau L.

Interrupteur dans l'administration : createAppliedControls

Crée un AppliedControl « Programme de sensibilisation Humanix Académie · <framework> » avec sémantique NIST CSF 2.0 :

  • category: process
  • csf_function: protect (sensibilisation = protection comportementale)
  • priority: 3, effort: L (programme continu)
  • eta: +12 mois — date du prochain audit

À la fin du sync, on lie M2M les 7 evidences à cet AppliedControl (champ evidences). Le RSSI a un point de bascule unique dans l'arbre GRC.

Cas d'usage type

Le RSSI veut une vue "un contrôle ↔ N evidences" propre dans la matrice de conformité, pas 7 evidences orphelines.

Endpoints CISO Assistant utilisés
  • GET /api/applied-controls/?folder={folderId}
  • POST /api/applied-controls/
  • PATCH /api/applied-controls/{id}/ (link M2M)

Findings actionnables

v1.3à activer

Chaque contrôle partiel ou non conforme génère un constat de priorité 1 ou 2, avec une échéance à 12 mois et un lien vers le contrôle appliqué parent.

Interrupteur dans l'administration : createFindings

Pour chaque contrôle en partial ou non_compliant, on crée un Finding sous un FindingsAssessment dédié « Audit sensibilisation Humanix Académie · <framework> » (catégorie self_identified) :

  • Priorité : P1 si non_compliant, P2 si partial
  • Statut : confirmed (non_compliant) ou identified (partial)
  • ETA & due_date : +12 mois
  • Lien vers l'AppliedControl agrégateur (M2M)
  • Owner : User CISO Assistant correspondant à l'ownerEmail du tenant (si toggle owner actif)
Cas d'usage type

Le RSSI veut une todo-list actionnable plutôt qu'une liste plate d'écarts. Findings = plan de remédiation packagé.

Endpoints CISO Assistant utilisés
  • POST /api/findings-assessments/
  • POST /api/findings/
  • PATCH /api/findings/{id}/

RiskScenarios déclenchés

v1.4à activer

Si plus de 30 % du panel est non conforme ou si au moins deux contrôles sont affaiblis, on crée un scénario « Compromission via couche humaine sous-formée » sous une analyse de risque dédiée.

Interrupteur dans l'administration : createRiskScenarios

Triggers déclenchés à l'analyse du bundle :

  • > 30% des contrôles non_compliant
  • ≥2 contrôles partial
  • Déclenchement précoce : 2+ contrôles affaiblis (partial OU non_compliant)

On crée un RiskAssessment Humanix puis un RiskScenario avec treatment=mitigate, current_proba=2, current_impact=2 (compatible matrices 3×3 et 5×5). Nécessite qu'une RiskMatrix soit chargée côté CISO Assistant.

Cas d'usage type

Le RSSI veut une alerte automatique quand la couche humaine présente un signal d'alerte — sans avoir à scruter manuellement les dashboards.

Endpoints CISO Assistant utilisés
  • GET /api/risk-matrices/
  • POST /api/risk-assessments/
  • POST /api/risk-scenarios/

Incidents de signal d'alerte

v1.6à activer

Quand au moins un contrôle est non conforme, on ouvre un incident de sévérité 3 « Risque humain » avec date de signalement et date d'occurrence, idempotent à la journée.

Interrupteur dans l'administration : createIncidents

Pas une déclaration formelle d'incident — c'est un constat d'écart automatique pour la traçabilité audit ISO 27001 §10.1 / NIS2 §21.2.g :

  • status: new, severity: 3 (Moderate), detection: internally_detected
  • reported_at + occurred_at = now (ISO datetime)
  • ref_id : humanix-<framework>-YYYY-MM-DD (idempotent par jour)
  • owners : User CISO Assistant si syncOwnerAsActor actif
Cas d'usage type

Le RSSI a un historique d'incidents typé NIS2 généré automatiquement quand le score tombe — utile pour démontrer la conformité §23 en cas d'audit.

Endpoints CISO Assistant utilisés
  • GET /api/incidents/?folder={folderId}
  • POST /api/incidents/
  • PATCH /api/incidents/{id}/

Métriques et tableaux de bord

Séries temporelles dans le module Métrologie natif et tableau de bord prêt à l'emploi pour une présentation en comité de direction.

Séries temporelles Metrology

v1.7à activer

Six définitions de métriques Humanix avec leur unité (score, pourcentage, comptage), fournisseur Humanix Académie, étiquettes de filtrage, et un échantillon temporel par synchronisation.

Interrupteur dans l'administration : pushMetrologySamples

Pour chaque sync, on push 6 séries temporelles via le module Metrology natif de CISO Assistant :

  • humanix.tenant_score — score maturité 0-100 (Score)
  • humanix.completion_rate — taux complétion 0-100% (Percentage (%))
  • humanix.phishing_report_rate — taux signalement phishing 0-100% (Percentage (%))
  • humanix.evidences_compliant_count — N contrôles conformes (Count)
  • humanix.evidences_non_compliant_count — N non conformes (Count)
  • humanix.evidences_partial_count — N partiels (Count)

Chaque MetricDefinition est créée avec son unité résolue dynamiquement (lookup /api/terminologies/?field_path=metric_definition.unit), son provider Humanix Académie, et les 3 filtering_labels standards (humanix, sensibilisation, <framework>).

Cas d'usage type

Le DSI / DPO visualise l'évolution mensuelle des KPI cyber humains directement dans les dashboards natifs CISO Assistant, sans quitter son outil.

Endpoints CISO Assistant utilisés
  • GET /api/terminologies/?field_path=metric_definition.unit
  • POST /api/metrology/metric-definitions/
  • POST /api/metrology/metric-instances/
  • POST /api/metrology/custom-metric-samples/

Dashboard « Cockpit Humanix »

v2.2à activer

Tableau de bord prêt à l'emploi avec six vignettes : une jauge pour le score, deux indicateurs clés, une courbe sur 90 jours, deux mini-graphes. Le RSSI ouvre CISO Assistant et voit déjà du contenu.

Interrupteur dans l'administration : createDashboard

Un Dashboard « Cockpit Humanix Académie · <framework> » avec 6 widgets pointant sur les MetricInstances :

  • Gauge — Score maturité cyber humaine
  • KPI card — Taux de complétion sensibilisation
  • KPI card — Taux signalement phishing
  • Line chart 90 jours — Évolution score
  • Sparkline — Tendance contrôles non conformes
  • Sparkline — Tendance contrôles conformes

Layout 12-col propre. Nécessite pushMetrologySamples actif (sinon les widgets n'ont pas de cible).

Cas d'usage type

En présentation COMEX, le RSSI partage son écran sur CISO Assistant → Dashboards et présente immédiatement la vue cyber humaine. Zéro setup, zéro Excel.

Endpoints CISO Assistant utilisés
  • POST /api/metrology/dashboards/
  • POST /api/metrology/dashboard-widgets/

Couche humaine

Cartographie de la dimension humaine du risque cyber : équipes, menaces, actif « personnel », responsable désigné.

Owner désigné (RSSI / DPO)

v1.5à activer

Crée l'utilisateur CISO Assistant correspondant à l'adresse du responsable, et l'affecte automatiquement comme responsable sur toutes les preuves, constats, scénarios de risque, incidents, métriques et actifs.

Interrupteur dans l'administration : syncOwnerAsActor

Si l'ownerEmail du tenant est renseigné, on appelle resolveOwnerUser(email) qui :

  1. Cherche l'utilisateur par email côté CISO Assistant
  2. Le crée s'il n'existe pas (POST /api/users/ { email, is_active: true, is_third_party: false })
  3. Retourne le User UUID (pas Actor UUID — le schéma OpenAPI confirme que les champs owner attendent des User refs)

Le User est ensuite injecté dans le champ owner (singulier) sur les evidences, applied controls, findings, risk scenarios, metric instances et asset workforce, et dans owners (pluriel) sur les incidents.

Cas d'usage type

Exigence audit ISO 27001 §7.5 : chaque preuve doit avoir un responsable nommé. Le toggle permet de respecter cette exigence sans pop-up manuel.

Endpoints CISO Assistant utilisés
  • GET /api/users/?email={email}
  • POST /api/users/

Équipes (Groups → Teams)

v1.8à activer

Synchronise les groupes Humanix (Comptabilité, RH, Développement, Commercial…) en équipes CISO Assistant. Le RSSI peut affecter les constats et les incidents par équipe, nativement.

Interrupteur dans l'administration : syncGroupsAsTeams

Pour chaque Group Humanix actif (isActive: true), on crée une Team CISO Assistant nommée Humanix · <Group.name> dans le folder. Idempotent par nom.

Description auto-générée : « Équipe Compta (12 membres) synchronisée automatiquement depuis Humanix Académie. »

Les membres ne sont pas pushés automatiquement — c'est le RSSI qui assigne nominativement (besoin d'un User CISO Assistant par membre, hors scope du connecteur).

Cas d'usage type

Le RSSI veut assigner ses findings par équipe (Compta, RH…) plutôt qu'au tenant entier. Permet de cibler les actions de remédiation.

Endpoints CISO Assistant utilisés
  • GET /api/teams/?folder={folderId}
  • POST /api/teams/
  • PATCH /api/teams/{id}/

Asset « Workforce »

v2.2à activer

Crée un actif primaire « Personnel · Couche humaine Humanix Académie » dans le dossier, de type PR (primaire), marqué fonction métier, avec la référence humanix.workforce.

Interrupteur dans l'administration : createWorkforceAsset

Un Asset GRC nommé explicitement pour scoper les RiskScenarios / Findings / Incidents sur la couche humaine. Auparavant, les risques flottaient sans cible : maintenant on peut lier RiskScenario.assets: [workforce.id].

Champs envoyés :

  • name : Personnel · Couche humaine Humanix Académie
  • type : PR (Primary, AssetWriteTypeEnum)
  • ref_id : humanix.workforce
  • is_business_function : true
  • owner + filtering_labels selon toggles actifs
Cas d'usage type

Le RSSI veut une cartographie des actifs où la couche humaine apparaît explicitement, pas seulement les serveurs et SaaS. Première ligne de défense visible.

Endpoints CISO Assistant utilisés
  • GET /api/assets/?folder={folderId}
  • POST /api/assets/
  • PATCH /api/assets/{id}/

Catalogue de 15 menaces humaines

v2.2à activer

Transmet les 15 menaces du catalogue Humanix (fraude au président, hameçonnage vocal, par SMS, par QR code, hypertrucage du dirigeant, réutilisation de mot de passe, informatique fantôme, talonnage, fuite RGPD, fuite de secrets par les développeurs, etc.) en entités de type « menace ».

Interrupteur dans l'administration : syncThreats

15 Threats créés dans le folder, idempotent par ref_id :

  • HUMAN-T1 — Spear phishing finance
  • HUMAN-T2 — Fraude au président (FOVI)
  • HUMAN-T3 — Vishing CFO
  • HUMAN-T4 — Smishing
  • HUMAN-T5 — Quishing
  • HUMAN-T6 — Deepfake CEO audio/vidéo
  • HUMAN-T10 — Réutilisation MdP
  • HUMAN-T11 — Identifiants visibles
  • HUMAN-T12 — Shadow IT
  • HUMAN-T13 — Perte / vol device
  • HUMAN-T14 — Tailgating
  • HUMAN-T20 — Incident non signalé
  • HUMAN-T21 — Fuite RGPD négligence
  • HUMAN-T30 — Fuite secrets dev
  • HUMAN-T31 — Offboarding RH bâclé

Chaque Threat est créé avec provider=Humanix Académie, description détaillée (contexte, chiffres terrain, vecteurs), et filtering_labels. Le RSSI peut ensuite les linker à ses RiskScenarios via le M2M threats.

Données dérivées du catalog public CC BY-SA 4.0.

Cas d'usage type

Le RSSI scope ses scénarios de risque sur les vraies menaces humaines (FOVI, deepfake) plutôt que sur des libellés génériques type MITRE ATT&CK conçus pour le tech.

Endpoints CISO Assistant utilisés
  • GET /api/threats/?folder={folderId}&ref_id={refId}
  • POST /api/threats/
  • PATCH /api/threats/{id}/

Automatisation

Mode temps réel, synchronisation planifiée, étiquettes automatiques, idempotence — pour que tout fonctionne sans intervention une fois configuré.

Mode temps réel — synchronisation à l'évènement

v2.0à activer

Chaque évènement métier (épisode terminé, hameçonnage signalé, clic sur faux hameçonnage) déclenche une mini-synchronisation incrémentale, regroupée sur une fenêtre de 5 secondes. Le RSSI voit le score remonter en direct.

Interrupteur dans l'administration : enableLiveMode

Architecture event-driven fire-and-forget :

  • Hook dans /api/progress episode.completed
  • Hook dans /api/phishing/report phishing.reported
  • Hook dans /phishing/[token] phishing.user_clicked

Debouncer in-memory par tenantId : 50 utilisateurs qui terminent un module en 30 secondes = 1 seule sync vers CISO Assistant (pas 50).

Re-upsert des evidences uniquement (pas de PDF, pas d'extensions — trop coûteux temps réel). Skip si une sync manuelle est déjà en cours. No-op si aucun framework n'a jamais été syncé manuellement (live mode rafraîchit, n'initialise pas).

Télémétrie visible dans la console admin : lastLiveSyncAt, lastLiveSyncEvent, liveSyncCount.

Cas d'usage type

En présentation COMEX, pendant que le DG regarde le dashboard, un collaborateur termine un module → le score remonte sous les yeux du DG. Effet « la machine est vivante ».

Endpoints CISO Assistant utilisés
  • (réutilise les endpoints d'evidences ci-dessus)
  • AuditAction.CISO_LIVE_SYNC

Étiquettes de filtrage attachées automatiquement

v2.1

Trois étiquettes (humanix, sensibilisation, nom du référentiel) sont créées et attachées automatiquement à toutes les entités transmises : preuves, contrôles appliqués, constats, scénarios de risque, incidents, métriques, actif, menaces, tableau de bord.

Résolus une fois par sync via ensureFilteringLabel (normalisation regex ^[\w-]{1,36}$), stockés sur client.filteringLabelIds, inclus automatiquement dans toutes les opérations d'écriture.

Le RSSI peut filtrer rapidement « toutes les entités venant d'Humanix » dans la sidebar CISO Assistant, sans risque de confusion avec d'autres connecteurs ou imports manuels.

Cas d'usage type

Permet à un RSSI multi-source (Humanix + autre outil GRC) de garder une vue claire « qu'est-ce qui vient d'où ». Filtrage natif.

Endpoints CISO Assistant utilisés
  • GET /api/filtering-labels/?label={label}
  • POST /api/filtering-labels/

Campagnes phishing → Campaigns

v1.9à activer

Pour chaque campagne d'hameçonnage Humanix active ou récente (90 jours), crée et maintient une campagne CISO Assistant rattachée aux référentiels et au périmètre par défaut.

Interrupteur dans l'administration : syncCampaigns

Le RSSI suit toutes ses campagnes phishing simulé / smishing dans son cockpit GRC habituel, sans replonger dans Humanix. Status mappé :

  • scheduledAt > nowdraft
  • isActive ou scheduledAt ≤ now in_progress
  • sentAt et non actif → done

Comme CampaignWrite.frameworks et CampaignWrite.perimeters sont required côté Django, on crée automatiquement un Perimeter « Humanix Académie · scope par défaut » dans le folder, et on liste tous les Frameworks chargés. Idempotent par nom.

Cas d'usage type

Le RSSI évite le double pilotage : Humanix programme les campagnes phishing, mais CISO Assistant les suit en cockpit GRC central.

Endpoints CISO Assistant utilisés
  • GET /api/frameworks/
  • GET /api/perimeters/?folder={folderId}
  • POST /api/perimeters/
  • GET /api/campaigns/?folder={folderId}
  • POST /api/campaigns/
  • PATCH /api/campaigns/{id}/

Preuve et audit

Tout ce qui aide à passer un audit ISO 27001, NIS2 ou DORA : signatures cryptographiques, traçabilité, manifeste d'intégrité.

PDF signés Ed25519

v1.2actif par défaut

Chaque preuve est accompagnée d'un PDF prêt à l'audit, signé cryptographiquement, et vérifiable hors-ligne avec OpenSSL standard.

À chaque sync, pour chaque evidence on génère un PDF 2 pages A4 attaché :

  • Page 1 : metadata d'audit (contrôle, responsable, période) + données Humanix (chiffres, capture du dashboard).
  • Page 2 : manifeste d'intégrité avec signature Ed25519 du payload JSON canonique, empreinte de la clé publique, timestamp UTC, et procédure OpenSSL de vérification hors-ligne.

La clé publique Humanix est exposée sur /.well-known/humanix-pdf-pubkey.pem — un auditeur peut vérifier l'authenticité de n'importe quelle evidence sans contacter Humanix.

Cas d'usage type

L'auditeur certifie une preuve sans avoir à demander d'accès à votre instance Humanix. Indépendance totale de la chaîne de confiance.

Endpoints CISO Assistant utilisés
  • POST /api/evidences/{id}/attachment/

Audit log complet

v1.0actif par défaut

Toutes les actions d'administration (configurer, tester, supprimer, synchroniser) ainsi que les évènements automatiques (synchronisation temps réel) sont auditées dans /admin/audit avec l'acteur, la cible et les métadonnées associées.

5 actions auditées (cf. enum Prisma AuditAction) :

  • CISO_CONNECTION_CONFIGURED — sauvegarde des creds
  • CISO_CONNECTION_TESTED — bouton « Tester la connexion »
  • CISO_CONNECTION_DELETED — suppression des creds
  • CISO_SYNC_STARTED — lancement manuel d'une sync
  • CISO_LIVE_SYNC — mini-sync v2.0 déclenchée par event

Chaque entrée capture : actor (userId, email, role), tenantId, target (type=ciso_connection, label=baseUrl), outcome (SUCCESS/FAILURE), severity (INFO/WARNING), metadata (folderId, framework, ok/fail counts, durée ms).

Cas d'usage type

L'auditeur ISO 27001 §9.2 demande la traçabilité « qui a touché à quoi quand ». Le bouton Sync, le test de connexion, la suppression — tout est tracé.

Endpoints CISO Assistant utilisés
  • (local Humanix — table AuditLog)

Chiffrement AES-256-GCM

v1.0actif par défaut

Le mot de passe CISO Assistant est chiffré en AES-256-GCM avec une clé dérivée par HKDF à partir d'AUTH_SECRET. Format de stockage : iv:authTag:texte_chiffré (tout en base64).

Aucun secret en clair en base de données. La clé de chiffrement est dérivée à la volée à partir de AUTH_SECRET via HKDF SHA-256 (HMAC-Key-Derivation-Function, RFC 5869).

Avantages :

  • Si la DB est dumpée, le password reste illisible (clé jamais en DB)
  • Rotation simple : changer AUTH_SECRET = invalider tous les passwords stockés (à reconfigurer)
  • Pas de dépendance KMS externe — on reste hébergeable on-prem
Cas d'usage type

Bonne pratique baseline pour tout connecteur sortant. Demande typique d'un audit RGPD ou ANSSI HG.

Endpoints CISO Assistant utilisés
  • (local Humanix — lib/ciso-assistant/encryption.ts)

Hors périmètre — explicitement

Nous disons ce que nous couvrons, et nous disons aussi ce que nous ne couvrons pas. Ces fonctionnalités existent côté CISO Assistant mais cela n'a pas de sens de les alimenter automatiquement depuis Humanix :

  • Vulnérabilités techniques (/api/vulnerabilities/, CVE) — du ressort d'un scanneur de vulnérabilités du type Tenable ou Wiz.
  • Contrats fournisseurs (/api/contracts/) — du ressort de l'achat ou du juridique.
  • Questionnaires d'audit (/api/questions/, /api/answers/) — flux interne à CISO Assistant entre auditeur et audité.
  • Acceptations de risque (/api/risk-acceptances/) — décision métier, qui doit rester manuelle.
  • Membres d'équipes — nous transmettons les groupes Humanix comme équipes (interrupteur syncGroupsAsTeams), mais pas les membres individuels. Nécessite un utilisateur CISO Assistant pour chaque membre — hors périmètre.
  • Évaluations de conformité complètes — coquille trop lourde à entretenir automatiquement. Le RSSI les crée à la main et y rattache nos preuves.

Activer le connecteur maintenant

Si vous êtes administrateur, RSSI ou super-administrateur du compte client, vous pouvez configurer la connexion à CISO Assistant en deux minutes dans la console d'administration.