signal-conformite
Événement (AsyncAPI) — version 0.2.0. Producteur : banque-flux-financiers, epargnant, operations. Consommateurs déclarés : conformite.
Un fait observable publié vers la conformité par le domaine qui en fait autorité, pour la corrélation. Un signal DÉCRIT et NE CONCLUT PAS : le message n’a ni champ de score ni champ de qualification — l’absence est structurelle. La référence voyage, jamais le contenu : le payload complet du fait demeure chez le producteur. Le bus reste le canal canonique des faits métier — ce canal porte les faits d’observation qui n’intéressent que la surveillance.
La spécification
Section intitulée « La spécification »asyncapi: 3.0.0info: title: conformite — le signal version: 0.2.0 x-ruptures: - version: 0.2.0 rupture: "propriété retirée : tenant" motif: >- Isolation forte par tenant — aucun identifiant de tenant n'est transporté ; l'appartenance est celle de l'installation (précédent instruments 0.4.0). description: >- Un fait observable publié vers la conformité par le domaine qui en fait autorité, pour la corrélation. Un signal DÉCRIT et NE CONCLUT PAS : le message n'a ni champ de score ni champ de qualification — l'absence est structurelle. La référence voyage, jamais le contenu : le payload complet du fait demeure chez le producteur. Le bus reste le canal canonique des faits métier — ce canal porte les faits d'observation qui n'intéressent que la surveillance. x-producteurs: - banque-flux-financiers - epargnant - operations x-consommateurs: - conformitedefaultContentType: application/jsonchannels: signal: address: conformite.signal description: >- Canal logique des signaux vers la conformité. Un canal unique pour tous les producteurs autorisés ; l'ordre n'est garanti que par entité (l'objet référencé) et par producteur, jamais entre producteurs. La republication d'un même signal_id ne crée pas un second signal. messages: signalPublie: $ref: '#/components/messages/signalPublie'operations: publierUnSignal: action: send channel: $ref: '#/channels/signal' summary: >- Un domaine détenteur publie un fait d'observation ; la conformité corrèle et, le cas échéant, alerte. Réception silencieuse — aucun accusé métier. messages: - $ref: '#/channels/signal/messages/signalPublie'components: messages: signalPublie: name: signal-conformite title: Signal publié summary: Un fait observable, sans score ni conclusion, destiné à la corrélation. contentType: application/json payload: $ref: '#/components/schemas/evenementSignal' schemas: evenementSignal: type: object required: - signal_id - producteur - type_signal - finalite - date_fait - date_publication - objet properties: signal_id: type: string description: >- Identifiant du signal chez son producteur — la clé d'idempotence : une republication du même fait n'en crée pas un second. producteur: type: string description: Le domaine d'autorité du fait (BANQUE_FLUX_FINANCIERS, EPARGNANT, OPERATIONS, ACCES…). type_signal: type: string description: >- Type codifié (nomenclature type_signal). Types fondateurs : CORRELATION_BANCAIRE (une même coordonnée sert plusieurs sujets — publiée comme groupe opaque), COORDONNEE_MODIFIEE, CONNEXION_ATYPIQUE, REJET_PAIEMENT, DOSSIER_DORMANT_REACTIVE. Chaque producteur déclare les siens à son branchement. finalite: type: string description: >- La finalité de collecte (PREVENTION_FRAUDE, LCB_FT, SANCTIONS_GEL…) — garde de minimisation : un signal collecté pour une finalité n'est pas automatiquement réutilisable pour une autre. date_fait: type: string format: date-time description: La date du FAIT — celle des fenêtres de corrélation et de la lecture des listes. date_publication: type: string format: date-time objet: $ref: '#/components/schemas/referenceVersionnee' cle_correlation: type: string description: >- Clé opaque de rapprochement fournie par le producteur — le groupe de corrélation bancaire en est le cas fondateur : il permet de savoir que deux sujets partagent une coordonnée SANS transporter la coordonnée. Jamais une valeur en clair, jamais une empreinte réversible. categories: type: object additionalProperties: type: string description: >- Les seules catégories codifiées nécessaires à la corrélation (ex. canal: WEB, pays_connexion: FR). Ni identité, ni coordonnée, ni valeur sensible, ni texte libre — et, par construction, NI SCORE NI CONCLUSION. cause: type: string description: >- Le signal_id du fait antérieur dont celui-ci découle, le cas échéant — deux faits distincts restent deux signaux, la causalité les relie. referenceVersionnee: type: object required: [domaine, type, identifiant, version] properties: domaine: type: string type: type: string identifiant: type: string description: Identifiant publié — jamais une valeur (ni nom, ni IBAN). version: type: integer minimum: 1 description: >- La version de l'objet à la date du fait ; le producteur garantit la relecture historique sous habilitation.