Vai al contenuto principale
Trascrizione completa di Costruisci un workflow di verifica KYC senza codice (tutorial completo) - Didit Academy video 3 di 10, 18:54. Guarda su YouTube. Ogni paragrafo rimanda al momento esatto del video.
Il 1° novembre 2026 i prezzi sono cambiati: i 500 controlli gratuiti al mese sono diventati $10 di credito al mese per le organizzazioni che si sono registrate con un’email aziendale. Il video mostra i prezzi precedenti.

Cos’è un workflow

00:03 In questo video costruiremo da zero un flusso di verifica completo, senza scrivere una sola riga di codice. Un workflow è in sostanza una ricetta per una verifica: stabilisce quali controlli eseguire e in quale ordine. Di solito questo tipo di lavoro spetta agli sviluppatori, ma in Didit lo costruisci tu stesso in modo visuale. Vedi il prezzo aggiornarsi mentre lavori e lo pubblichi in produzione quando sei pronto. 00:28 Se vuoi costruirne uno tu stesso, puoi andare su didit.me, registrarti gratuitamente e creare il tuo primo workflow in pochi minuti. Allora, partiamo dal punto in cui vive ogni flusso di verifica, cioè da

La lista dei workflow e gli ID dei workflow

00:39 la lista dei workflow sotto la scheda Configura qui. In questa lista trovi tutti i workflow presenti in questo account, con il tipo: abbiamo KYC e KYB, semplici e a grafo, e possiamo vedere tutti i diversi controlli e funzionalità contenuti in ciascun workflow. Possiamo vedere anche la forbice dei prezzi: mostra il prezzo di chi esegue un solo controllo e non completa la procedura, rispetto a chi completa l’intero flusso. C’è un link per ogni workflow. 01:09 Possiamo aggiungere manualmente una nuova sessione. Possiamo copiare l’ID del workflow. Possiamo duplicare, rinominare, archiviare, tutte le operazioni solite. Ed ecco l’ID del workflow qui. Più versioni dello stesso workflow useranno sempre lo stesso ID, quindi se aggiorni il workflow non devi cambiare nulla nel codice o nell’app. Il modo più semplice di intendere un workflow è quindi come una ricetta per una verifica: quali controlli eseguire, in quale ordine e quali regole seguire. Esistono quindi due diverse

Workflow semplici e workflow a grafo

01:40 strutture, come ho detto. Ci sono i workflow semplici e quelli a grafo. Un flusso semplice è composto da un solo controllo o da alcuni controlli, senza alcuna ramificazione e senza logica condizionale. È rapido da configurare e copre la maggior parte dei casi: scegli i moduli e hai finito. Se guardiamo questo workflow di esempio, vediamo che possiamo selezionare i moduli qui a sinistra, e vengono sequenziati tutti in ordine. Ora, per un

Un workflow a grafo con ramificazioni

02:05 workflow basato su grafo, se entriamo qui, vediamo che alla fine ci sono delle ramificazioni. Così possiamo definire con maggiore precisione il percorso che l’utente segue nel flusso di verifica. In questo workflow, per esempio, ci sono più punti di ramificazione. Possiamo anche includere chiamate webhook. In generale, possiamo aggiungere un po’ più di complessità quando serve. 02:30 Nota anche che i workflow KYB sono esattamente uguali, cambiano solo i controlli. Quindi, se vogliamo aggiungere un controllo, possiamo inserirlo qui. Possiamo prendere una delle azioni dell’utente oppure configurare dei controlli in background. Questi sono quelli che l’utente non vede nell’interfaccia utente. Quindi, tutto

Creare un nuovo workflow da un modello

02:51 quello che devi fare è cliccare su nuovo workflow. Ci sono un paio di opzioni: KYC, KYB. Scegliamo KYC. Poi abbiamo semplice o avanzato, come ti ho mostrato prima, e ti mostro entrambe le opzioni. Se clicchiamo su semplice, abbiamo un sacco di modelli diversi per ogni tipo di settore, e possiamo vedere il costo di ciascun modello. Abbiamo i controlli di età, la verifica dell’email. 03:19 Abbiamo l’autenticazione biometrica, le assicurazioni, la sanità, tutto questo. Ora, per esempio, se usiamo una verifica aziendale e scegliamo la versione avanzata, che è quella a grafo, abbiamo di nuovo parecchi modelli o ricette, come vuoi chiamarle. Quindi possiamo configurare il KYB per i paesi ad alto rischio, ed ecco fatto. Non devi nemmeno cliccare e trascinare nulla qui: è già tutto costruito. Quindi ogni

Scegliere un controllo per ogni nodo

03:48 nodo qui ha un menu a tendina. Quindi puoi scegliere il controllo che ti serve. Puoi cambiarlo, come qui, oppure inserire il controllo del registro. Quello che vuoi. Verifica dell’identità, rilevamento della vitalità, confronto facciale, AML, prova di residenza. Tutti i controlli che Didit offre per il KYB e il KYC sono disponibili dentro questi nodi. Quindi, se volessi aggiungere un controllo in più, per esempio uno Screening AML, potrei inserirlo qui. Vedremo tra un momento le regole e queste schede, ma puoi vedere che in questo workflow ho aggiunto proprio quel controllo. Quindi, se entri in un workflow KYC a grafo, la maggior parte di questi workflow inizia con la verifica dell’identità. È il controllo più comune

Dentro il nodo Verifica dell’identità

04:33 Ed ecco il nodo Verifica dell’identità. Abbiamo 500 controlli gratuiti al mese, e lo stesso vale per il rilevamento della vitalità e per il confronto facciale. Ora, questa verifica dell’identità fa molto più che leggere il testo su una carta. Dimostra che il documento è autentico, controllando gli elementi di sicurezza, cercando manomissioni, leggendo i caratteri e l’impaginazione, e poi estrae ogni campo, il nome, la data di nascita, il numero del documento, la scadenza, tutto tramite OCR in qualsiasi lingua, su più di 14.000 tipi di documento supportati. Quindi non è mai solo testo. Prima c’è un controllo di autenticità, poi i dati. Ora configuriamo uno di questi moduli.

Modalità di rilevamento della vitalità e relativi costi

05:15 Allora, cioè, se andiamo nel modulo di vitalità, vedete che ci sono diverse modalità di rilevamento della vitalità. Abbiamo la modalità passiva, che rileva la vitalità tramite un selfie. Poi c’è la modalità flash, in cui confermiamo la vitalità usando sequenze di luce dinamiche per riconoscere i volti reali degli utenti. Infine c’è l’azione 3D: la vitalità viene confermata tramite un’azione, come battere le palpebre o girare la testa. Ora, per il controllo di vitalità passivo otteniamo 500 crediti gratuiti al mese, poi 10 centesimi per controllo, mentre il flash e l’azione 3D costano 15 centesimi per controllo. E il nostro account gratuito non include alcun controllo gratuito. Quindi, nella scheda delle regole

Regole: soglie, volti duplicati e più volti

05:56 qui decidiamo se il modulo è obbligatorio o facoltativo. Se andiamo nella scheda delle regole, vediamo che ci sono diverse opzioni. Queste permettono di configurare la sensibilità del controllo, impostando un livello di tolleranza. Se un utente ha un punteggio di vitalità inferiore a 70, viene inviato in revisione, ma possiamo modificare questa soglia se vogliamo. Lo stesso vale per il rifiuto. Possiamo anche impostare il comportamento per un volto duplicato: quando il volto di un utente corrisponde a quello di una sessione approvata in precedenza, come procediamo? Possiamo approvare, mandare in revisione o rifiutare. Poi possiamo personalizzare la soglia di somiglianza in base all’etnia, quindi regolare la sensibilità del rilevamento dei duplicati in base all’etnia. Infine possiamo definire l’azione da intraprendere quando nell’immagine di vitalità vengono rilevati più volti. Viene sempre utilizzato il volto più grande per il calcolo del punteggio di vitalità, e anche questo è un’opzione che possiamo impostare qui. Se passiamo alla

Impostazioni avanzate e soglie di qualità

06:56 scheda avanzate, ci sono diverse opzioni. Qui troviamo la modalità di privacy del volto, il numero massimo di tentativi di vitalità, cioè quante volte un utente può ripetere il controllo di vitalità all’interno di una singola sessione di verifica, e la soglia di qualità del volto. Se non siete sicuri di cosa facciano queste impostazioni, potete passare il mouse sul pulsante delle informazioni qui. Vediamo che la qualità del volto misura la nitidezza dell’immagine, la risoluzione e la messa a fuoco. 07:20 Immagini di bassa qualità possono derivare da sfocatura, pixelatura o scarse condizioni di illuminazione. Quindi possiamo impostare la soglia qui, in base al punteggio di qualità del volto. C’è poi una soglia di luminosità: possiamo impostare l’intervallo di luminosità accettabile e, se la luminosità è al di sotto di tale intervallo, possiamo ovviamente mandare l’utente in revisione o rifiutarlo. Infine, possiamo creare regole personalizzate se nessuna di queste corrisponde alle

Dati restituiti e GDPR

07:47 impostazioni che desideriamo. Nella scheda dei dati restituiti possiamo selezionare i dati che vogliamo escludere dai risultati della verifica, per il GDPR e altri scopi. Per ciascuno di questi moduli vediamo il prezzo del controllo, e poi in alto

Come si calcola il prezzo del flusso di lavoro

08:00 qui vediamo il prezzo totale. Vi spiego passo dopo passo, perché ogni nodo ha il proprio prezzo e ogni flusso di lavoro avrà probabilmente un costo totale leggermente diverso. Si paga solo per i passaggi effettivamente eseguiti, e ogni passaggio viene addebitato singolarmente. Quindi, se il richiedente si ferma a metà del controllo, verranno addebitati solo i primi controlli che ha completato. Per questo in fondo vedete un intervallo da 20 a 43 centesimi. Questo è l’intervallo: se qualcuno percorre il flusso di lavoro e si ferma al primo passaggio, per voi il costo sarà di soli 20 centesimi. Se completa interamente il flusso di verifica, il costo sarà di 43 centesimi. Come vedete al centro, questi sono tutti i moduli contenuti in questo specifico flusso di lavoro. Qui vediamo quanti crediti abbiamo ogni mese. Una volta esauriti i crediti gratuiti, cioè dopo questi 500 controlli, inizierete a pagarli. Una delle funzionalità più potenti che potete aggiungere non è affatto un controllo con la fotocamera. È

Validazione su database dei registri governativi

09:05 la verifica su database. Quindi aggiungiamolo. Si tratta di un controllo in background, e vediamo che cosa fa, perché questo controllo di validazione su database si collega ai registri e alle banche dati ufficiali dei governi di tutto il mondo. Incrocia i dati dell’utente con queste fonti ufficiali e poi li arricchisce con campi aggiuntivi presenti nel registro. Potete scegliere quali registri e fonti utilizzare, come vedete qui, per ciascun paese. Ogni servizio indica il proprio prezzo. Qui in basso vediamo, per esempio, i diversi servizi disponibili in Canada, e ovviamente i registri hanno prezzi diversi. Se volessimo vedere un paese specifico, come la Germania, potremmo consultare i controlli disponibili in Germania e selezionarli in base alle nostre esigenze. 09:59 Questa validazione su database non è disponibile solo qui nella dashboard: può essere richiamata direttamente dall’API di Didit anche dal vostro backend. E come per tutti questi moduli, abbiamo le regole, le impostazioni avanzate e i dati restituiti. Anche qui potete impostare le regole. Se clicchiamo qui su corrispondenza parziale, vediamo come appare una corrispondenza completa: per esempio, nome completo e numero ID corrispondono nel registro, mentre una corrispondenza parziale potrebbe essere solo il numero ID. Poi decidete cosa significa quella corrispondenza parziale nel vostro flusso di lavoro. La mandate in revisione, la rifiutate o la approvate? Quindi questo flusso di lavoro prevede una diramazione. Noi

Ramificazione AML e logica condizionale

10:36 Possiamo creare una ramificazione AML in base al punteggio di rischio AML. AML è l’acronimo di antiriciclaggio. In fondo vediamo che abbiamo già una ramificazione configurata per questo punteggio di rischio AML. Quindi, se il punteggio è superiore a 70, possiamo semplicemente rifiutare, e possiamo cliccare qui per entrare nei dettagli. Vediamo la logica condizionale, giusto? Questa è una cosa che possiamo impostare come vogliamo. Abbiamo il ramo uno, il ramo due e poi tutti gli altri casi, il che significa che la sessione verrà approvata. Per esempio, se qualcuno rientra in questo gruppo, viene indirizzato al ramo due. Potremmo chiedergli più informazioni, giusto? Potremmo chiedergli, per esempio, una prova di residenza. Così, se qualcuno è un po’ rischioso, possiamo chiedergli maggiori informazioni che ci aiuteranno a decidere se questa persona debba essere approvata o rifiutata. Uno degli altri nodi che abbiamo qui è lo stato: lo abbiamo già aggiunto, ma puoi aggiungerlo alla fine del workflow per determinare quale sarà l’esito. Quindi, un’altra delle

Il nodo webhook

11:40 dei nodi che possiamo inserire nel workflow è il nodo webhook. Il flusso può quindi contattare i tuoi sistemi nel mezzo di una verifica, ed è a questo che serve questo nodo. Può chiamare un endpoint e recuperare dati in risposta. Quindi attende la risposta di quel webhook. Qui vediamo un webhook POST. Abbiamo un payload JSON che può essere modificato. Inoltre, possiamo anche inviare payload diversi. Si tratta di coppie chiave-valore che mappano i campi della tua sessione nella richiesta che invii. I campi che tornano indietro diventano variabili che il ramo successivo può verificare. Quindi stai combinando i controlli Didit con i tuoi dati di rischio, tutto all’interno di un unico flusso. E infine, possiamo includere le intestazioni qui in fondo. Altre coppie chiave-valore. Abbiamo qui l’autenticazione di base. Tutto ciò che ti aspetteresti da una chiamata webhook. Didit valida il

Validazione del grafo ed errori

12:28 grafo per tutto il tempo che stai costruendo il workflow. Quindi, se un nodo è configurato in modo errato o un percorso è interrotto, te lo segnala con precisione. Giusto? Quindi clicchiamo qui in basso. Vediamo che il flusso ha due errori, e che il ramo uno ha regole incomplete. Ti indica cosa va corretto all’interno del workflow. E non potremo pubblicarlo finché questi errori non saranno risolti. Quindi, se avessi un workflow nuovo di zecca, ad esempio, e ci fosse un errore, non potrei pubblicarlo. Quindi, oltre ai singoli nodi

Impostazioni del workflow: nuovi tentativi, scadenza, URL di callback

12:58 nel workflow c’è la scheda delle impostazioni in alto, che vediamo: queste impostazioni si applicano all’intero workflow e non a un singolo controllo. Abbiamo il nome del workflow, naturalmente, e poi un URL di callback, cioè l’indirizzo a cui Didit reindirizza l’utente al termine del flusso. Possiamo consentire l’accesso da desktop, se vuoi che l’utente possa continuare da desktop. Abbiamo i nuovi tentativi, quindi puoi modificarli. Cioè il numero di volte in cui un utente può ripetere l’acquisizione del documento all’interno di una singola sessione di verifica. Se un tentativo precedente non va a buon fine, c’è la scadenza della sessione, cioè per quanto tempo una sessione non completata resta valida prima di scadere automaticamente. Questo si applica alle sessioni appena create. E c’è la finestra per i nuovi tentativi, cioè il numero di giorni entro cui sono consentiti i nuovi tentativi. Quindi, da

White label del flusso

13:43 all’interno di questo workflow, possiamo passare alla scheda Personalizzazione cliccando questo pulsante in alto. Il white label è integrato direttamente nel flusso. Quindi puoi entrare in questa scheda e iniziare a modificare l’aspetto del flusso di verifica: i colori, il branding, l’email, il dominio, tutto il resto. Nel mockup qui, puoi vedere come apparirà su mobile e anche come apparirà su desktop. 14:13 Puoi anche provarlo in lingue diverse. Se impostiamo il francese, vedi che ogni controllo ora è scritto in francese. E, se vuoi attivarlo, puoi attivare qui il tuo branding. Ecco. Puoi impostarlo su quanto abbiamo configurato nella scheda Personalizzazione oppure disattivarlo. E possiamo vedere cosa succede se scegliamo un percorso diverso qui, e vedere cosa viene inviato all’utente. Ovviamente l’utente non vedrà il modulo di scelta del percorso, ma serve solo a visualizzare cosa accadrà nel passaggio successivo, giusto? Quindi, se l’utente viene rifiutato, vedremo verifica rifiutata, verifica in revisione oppure che è stato verificato. Abbiamo anche il pulsante per copiare il link 14:58 in alto qui. Se lo copiamo, apriamo una nuova scheda e andiamo al link qui, potremo vedere quello che vedrà l’utente. A volte vuoi semplicemente consegnare a qualcuno il flusso senza scrivere alcun codice. E questo pulsante per copiare il link fa esattamente questo. Copia un URL ospitato pronto da condividere per questo workflow. Ora, è utile per un test rapido o un invio manuale, ma non è il modo consigliato per integrarlo. In produzione, puoi creare una sessione per ogni utente tramite l’SDK o l’API, trasportando i dati del fornitore, ed è così che ricevi i risultati in tempo reale tramite webhook e SDK. Quindi il link copiato va bene per test ed eventi, mentre una sessione effettiva è quella che utilizzerai in produzione. Quindi

Cronologia delle versioni e ripristino

15:41 in alto qui abbiamo la cronologia delle versioni. Possiamo vedere le diverse versioni e ripristinarle oppure visualizzare quelle precedenti. Se modificassimo questo workflow, le modifiche finirebbero in una bozza, sopra la cronologia delle versioni pubblicate. La cosa interessante è che ogni nuova versione che pubblichi mantiene lo stesso ID del workflow. Quindi il tuo backend continua a chiamare quell’unico ID e viene inoltrato automaticamente all’ultimo workflow che hai creato, perché la cronologia viene tracciata e puoi iterare con sicurezza e tornare alle versioni precedenti ogni volta che serve. Per esempio, questo workflow qui è nuovissimo. Vedi che è in modalità bozza. Se apportiamo modifiche al workflow, resterà in bozza e dovremo pubblicarlo. Quindi, possiamo

Pubblicare il workflow

16:24 fare clic su «Pubblica». Questo workflow andrà online solo quando viene pubblicato. Il sistema verifica il grafo per assicurarsi che non ci siano errori. Ed ecco fatto: possiamo copiare il link e il workflow è online e pronto all’uso. Diamo un’occhiata

Integrazione: SDK, chiave API e prompt di configurazione

16:37 all’integrazione. Ci sono più modi per integrarlo. Possiamo scegliere l’SDK che ci serve, che sia React Native, iOS, React o Next.js, selezionare il workflow, in questo caso quello per la revisione dei paesi ad alto rischio. Possiamo selezionare la chiave API: puoi avere chiavi diverse per workflow o integrazioni diverse, come preferisci. Oppure puoi selezionare un webhook. Se vuoi ricevere notifiche sulle decisioni, puoi inserirlo qui. Il modo più semplice per integrarlo è copiare un prompt e incollarlo in Claude Code o Codex. 17:12 quel prompt integra questo workflow. Quindi anche se non hai ancora integrato Didit nella tua app, il prompt ti fornisce tutto ciò che serve per far funzionare questo workflow nella tua app. In realtà non devi nemmeno farlo. Potresti semplicemente

Creare workflow con il server MCP

17:27 installare un server MCP di Didit. Basta descrivere il flusso in linguaggio naturale e creerà il workflow per te e lo integrerà automaticamente nella tua app. Dici cosa fare e lo fa. Vedremo come configurare MCP in un altro video, ma MCP è essenzialmente il Model Context Protocol, che consente di costruire con Didit usando il linguaggio naturale in strumenti come Claude Code, Cursor, Codex e tutti gli altri. Quindi passiamo subito alla personalizzazione. 17:57 Aggiungiamo il nome pubblico e l’URL dell’informativa sulla privacy. Qui c’è il branding, dove possiamo cambiare i colori. Puoi anche importare automaticamente i tuoi loghi e colori dal tuo sito web, il che può essere molto utile e semplice. Possiamo caricare i tuoi loghi qui sotto. Vedi che ho già impostato questi colori. Per vedere come appare con quei colori, basta attivare questo interruttore: vediamo il tuo branding White label applicato al flusso di verifica. Per ora lo disattivo. Puoi impostare un’email personalizzata. Dovrai compilare questi dettagli. Poi, quando procedi alla verifica, puoi ottenere le informazioni DNS e collegarle al tuo dominio. Lo stesso vale se vuoi usare un sottodominio. In questo modo l’intero workflow è ospitato con il tuo branding e il tuo dominio. Quindi è un processo davvero fluido per i tuoi utenti durante la verifica.
Ultima modifica il 7 novembre 2026