Servizi finanziari · compliance
Quando il regolatore chiede perché, il sistema risponde con la frase.
Una holding finanziaria internazionale che opera attraverso controllate in più di venti paesi ci ha chiesto due cose: un modo per verificare le proprie politiche interne rispetto a ciò che ogni regolatore nazionale richiede davvero, e un modo per verificare i propri flussi di pagamento e di trading rispetto allo stesso corpo di norme. Ogni strumento che avevano valutato si fermava nello stesso punto.
- Realizzato
- 2025–26
- Cliente
- sotto NDA
- Team
- 11
- Stato
- in fase di implementazione
Il problema
Tra la legge e la regola che gira c’è una persona con un PDF
Il gruppo detiene una licenza di impresa di investimento, licenze di intermediazione, licenze di istituto di pagamento e una licenza bancaria, e le usa: azioni, ETF, obbligazioni, opzioni e futures su più continenti; negoziazione e market-making; ricerca e consulenza in materia di investimenti; collocamento; banca retail e corporate e mutui; prodotti assicurativi; elaborazione dei pagamenti. Ognuna di quelle attività è regolamentata, ogni giurisdizione la regolamenta in modo diverso e la maggior parte scrive le proprie regole nella propria lingua.
Le due domande a cui avevano bisogno di una risposta suonano amministrative e non lo sono. Primo: ciascun documento di politica interna soddisfa davvero quello che il regolatore di quel paese richiede? Secondo: ciascun pagamento e ciascuna operazione rispettano le regole su riciclaggio, frode e abusi di mercato — schemi di manipolazione, pump coordinati, frazionamento — nella giurisdizione che toccano?
Nella maggior parte delle istituzioni entrambe le domande hanno già una risposta. La risposta è una persona. Un compliance officer o un analista legge la normativa, decide che cosa significa in termini operativi e scrive una regola in un motore di monitoraggio. Quella catena — da una frase specifica di un articolo specifico a un predicato specifico che gira su un flusso di transazioni — esiste nella testa di quella persona, in un foglio di calcolo e in una presentazione. Nel sistema non esiste.
Analisi competitiva
Tre anelli deboli, trovati con il cliente e non proclamati davanti a lui
Prima di progettare qualsiasi cosa, abbiamo passato in rassegna gli strumenti sul mercato insieme alle persone del cliente. La categoria è matura e i prodotti fanno bene quello che fanno. Tutte e tre le lacune che seguono stanno a monte di quello che fanno.
- Le regole sono fatte a mano. I sistemi esistenti eseguono regole che un MLRO o un analista ha scritto a mano dopo aver letto la documentazione. È lavoro qualificato, e resta una trascrizione manuale tra due rappresentazioni — il che significa che ne eredita tutte le proprietà: omissioni, scostamenti tra giurisdizioni e nessun modo meccanico di sapere se il catalogo copre la normativa o solo le parti a cui qualcuno è arrivato.
- L’alert non riesce a spiegarsi. Uno scatto mostra una transazione sospetta e, al massimo, il nome della regola che l’ha segnalata. Non porta con sé un riferimento al testo normativo che la rende sospetta. Così il materiale che un’autorità di vigilanza si aspetta — questa transazione, questo obbligo, questa clausola — va assemblato a mano dopo, dalle stesse persone che il sistema avrebbe dovuto liberare.
- I prodotti "AI" traducono prima. Gli strumenti che pubblicizzano la lettura automatica dei documenti normativi, in pratica, traducono il documento in inglese, inviano la traduzione a un modello e dall’output generano suggerimenti di regole. Per un gruppo che opera in più di venti ordinamenti giuridici con lingue proprie, questo inserisce un passaggio con perdita invisibile esattamente dove la precisione è il prodotto. Il nostro team aveva già passato anni a estrarre significato dal testo nella sua lingua originale; è qui che quel lavoro si è ripagato.
Come funziona
La catena che il sistema rende leggibile dalla macchina
Il testo normativo viene compilato, non riassunto. Un paragrafo diventa una struttura tipizzata — attori, eventi, stati, obblighi, schemi vietati — in cui ogni termine porta con sé l’esatto intervallo di caratteri del passaggio di origine da cui proviene. Quella struttura si compila in logica dichiarativa, e gli intervalli di caratteri la accompagnano fino all’alert di runtime.
Perché un solver e non un modello
I modelli linguistici di grandi dimensioni fanno qui un lavoro reale, e lo fanno in fase di redazione: segmentare il testo, riconoscere la forma di un obbligo, proporre gli scenari che una clausola implica. Non sono nel percorso di runtime, ed è esattamente questo il progetto. Le decisioni a runtime sono prese da sCASP — un solver logico dichiarativo la cui proprietà distintiva è produrre un albero di giustificazione per ogni fatto che deriva. La spiegabilità non è uno strato costruito sopra; è il modo in cui il motore funziona.
I pattern temporali e composizionali — una sequenza di ordini e cancellazioni dello stesso soggetto all’interno di una finestra, uno stato di falsa rappresentazione del mercato che persiste attraverso più eventi, un obbligo che deve essere assolto entro una scadenza — sono espressi in Event Calculus, il formalismo costruito per ragionare su eventi che accadono, stati che valgono e su come si rapportano nel tempo. Questi pattern si appiattiscono male in alberi decisionali e non sopravvivono se vengono chiesti a un modello una transazione alla volta.
La conseguenza pratica è noiosa e decisiva: lo stesso input produce lo stesso output, ogni volta, e l’output porta con sé la propria argomentazione.
Il sistema
Due strumenti, per due gruppi di persone che non lavorano allo stesso modo
01 · Per l’ufficio legale e l’MLRO
Un assistente per lavorare sui documenti normativi: chiedere che cosa un corpo normativo richiede su una data attività, vedere quale policy interna vi risponde e quale no, e ottenere la risposta con i passaggi che la sostengono invece di una parafrasi. È lo strumento che trasforma "riteniamo di essere conformi" in un elenco con citazioni.
02 · Per il team di monitoraggio
Un ambiente in cui le regole vengono redatte, versionate e riviste, e in cui il flusso in tempo reale di pagamenti e ordini viene verificato contro di esse mentre accade. Ogni alert arriva con il proprio albero di giustificazione e il proprio collegamento al documento di origine.
Il team — 11 persone
- 1project manager
- 1analista di sistema
- 1designer UI/UX
- 5analisti ML, dati e trading
- 1ingegnere QA
- 1ingegnere DevOps
- 1sviluppatore full-stack (Jmix)
Cinque analisti e uno sviluppatore. Questo rapporto è tutto il carattere di questo incarico: la difficoltà non è mai stata costruire schermate, è stata capire che cosa una norma richiede e come si presenta davvero un trading abusivo. Il livello applicativo doveva essere sostenuto da una sola persona — una richiesta che si può fare solo a un framework che ne genera la maggior parte.
Perché l’interfaccia è Jmix
Le parti del sistema che svolgono il ragionamento sono scritte in ciò che ogni compito richiedeva. L’interfaccia — entrambi gli strumenti — è costruita su Jmix, e la ragione non è l’abitudine.
È un sistema aziendale interno con un modello di dominio ampio, un numero contenuto di utenti e un controllo degli accessi estremamente serio: una singola schermata può contenere lo storico delle transazioni di un cliente, un sospetto in bozza o una constatazione non pubblicata su un dipendente. Jmix dichiara i permessi su entità, attributi e righe e li applica quando i dati vengono caricati, non quando vengono visualizzati — un campo che un utente non può vedere non raggiunge mai il browser. In un sistema che gli auditor percorreranno, questa distinzione è l’argomento.
Il resto è economia e continuità. Sotto ci sono Spring Boot e Java, quindi gli ingegneri della holding possono mantenerlo senza assumere per un framework di cui nessuno ha mai sentito parlare; l’abbonamento è per postazione di sviluppo, senza costi di runtime né per utente, il che conta quando il numero di utenti è una funzione compliance e il numero di installazioni è venti società controllate. Siamo inoltre venditori delle licenze Jmix in Italia, cosa che preferiamo dirvi noi piuttosto che farvela scoprire.
A che punto è, onestamente
Questo sistema è in fase di implementazione, non in piena produzione. La pipeline di compilazione, l’ambiente di redazione delle regole e le due interfacce esistono e funzionano; il lavoro di coprire il corpo normativo di ciascuna giurisdizione è esattamente il lavoro che richiede tempo, ed è in corso. Preferiamo dirvelo piuttosto che scrivere questa pagina in un tempo verbale che l’incarico non ha raggiunto.
Per la stessa ragione su questa pagina non ci sono tassi di rilevamento, né riduzioni dei falsi positivi, né volumi di alert. Diversi di questi numeri non esistono ancora, e quelli che esistono appartengono alle operazioni del cliente e non al nostro marketing. Quando ci sarà qualcosa di misurato e pubblicabile, apparirà qui con accanto il suo metodo.
Domande
Che cosa chiedono per prime compliance e tecnologia
Perché non usare semplicemente un large language model per questo?
Li usiamo — dentro la pipeline, in fase di redazione, per segmentare il testo e proporre una struttura. Quello che non facciamo è metterne uno nel percorso di runtime. Una decisione di monitoraggio deve essere deterministica: la stessa transazione e la stessa base di regole devono produrre la stessa risposta oggi, il trimestre prossimo e davanti a un ispettore fra due anni. Un modello che parafrasa non può prometterlo, e non può mostrare il passo di ragionamento che ha compiuto. Il motore che gira sulle transazioni live è un solver, non un modello.
È il sistema a decidere se qualcosa è sospetto?
No. Produce un alert e il ragionamento che lo sostiene: quale regola è scattata, quali fatti l’hanno soddisfatta e quale passaggio di quale documento ha messo lì quella regola. La decisione la prende una persona, che è sia il modo in cui la normativa è scritta sia il modo in cui funziona la responsabilità — nella maggior parte degli ordinamenti il compliance officer risponde personalmente. Ciò che cambia è che la persona parte da una posizione argomentata invece che da una riga in una coda.
Che cosa succede alle lingue nazionali?
Il significato viene estratto nella lingua in cui la normativa è scritta. Questa è la parte che abbiamo costruito in modo diverso di proposito. L’approccio comune — tradurre tutto in inglese, analizzare la traduzione, generarne le regole — inserisce un passaggio con perdita esattamente dove la precisione conta, e la perdita è invisibile dopo, perché la traduzione sembra scorrevole. Per un gruppo che opera in più di venti ordinamenti giuridici, questo non è un problema di qualità da rifinire più tardi; è un buco nel sistema dei controlli.
Può funzionare con il sistema di monitoraggio delle transazioni che abbiamo già?
Sì, ed è la forma consueta. La metà a monte — l’inventario normativo, il catalogo delle regole, la catena di provenienza — ha valore anche se il vostro motore attuale continua a eseguire le regole: è la documentazione del perché quelle regole esistono, che è ciò che un’ispezione chiede. Far girare anche il nostro motore sul flusso è il secondo passo, non il prezzo d’ingresso.
Che cosa succede quando una norma cambia?
Il nuovo testo viene compilato nello stesso modo del vecchio, e i due set di regole vengono confrontati strutturalmente: quali obblighi sono nuovi, quali soglie si sono spostate, quali esenzioni sono scomparse, quali controlli esistenti sono ora insufficienti. Quel diff è il risultato che oggi un team di compliance produce a mano, lentamente, ogni volta che un regolatore pubblica.
Perché l’interfaccia è costruita su Jmix?
Perché è un sistema interno con un modello di dominio grande, un numero ridotto di utenti e un controllo degli accessi molto serio — esattamente la forma per cui Jmix è stato progettato. I permessi si dichiarano su entità, attributi e righe e vengono applicati quando i dati vengono caricati, cosa che conta quando una schermata può contenere lo storico delle transazioni di un cliente. Sotto ci sono Java e Spring, quindi gli ingegneri del cliente possono mantenerlo, e la licenza non comporta costi per utente né di runtime. Vendiamo anche licenze Jmix in Italia, e preferiamo dirlo noi piuttosto che farvelo scoprire.
Se questo è il vostro problema
La prova è semplice: il vostro monitoraggio sa citare la propria fonte?
Prendete una regola oggi in produzione e chiedete quale frase di quale documento l’ha messa lì, e chi lo può dimostrare. La risposta vi dice se questa pagina parla di voi.
Una normativa, un set di regole
Compiliamo un corpo normativo con cui già faticate e vi mostriamo il catalogo, la mappa di copertura e la catena di provenienza. Si regge da sé, qualunque cosa decidiate dopo.
L’interfacciaPerché costruiamo questi sistemi su Jmix
Controllo degli accessi applicato al caricamento dei dati, un modello di dominio ampio e nessuna licenza per utente. Che cos’è la piattaforma e dove non è adatta.