Vai al contenuto principale
DELETE

Supporto KYC e KYB

Funziona sia per le sessioni di Verifica degli utenti (KYC) sia per quelle di Verifica aziendale (KYB). Il session_id viene risolto confrontandolo con entrambi i tipi di sessione; il comportamento di eliminazione è lo stesso per entrambi. La conservazione del modello biometrico si applica solo alle sessioni KYC, perché solo le sessioni KYC contengono un embedding facciale.

Comportamento

  • La sessione viene eliminata insieme a tutti i tentativi di verifica che contiene, compresi i risultati sostituiti da una nuova presentazione: la sua decisione, i dati estratti, i relativi record delle funzionalità (verifiche dell’identità, controlli nei registri, documenti, AML, analisi IP e così via), le sue revisioni e il registro delle attività, e tutti i file archiviati.
  • Eliminare una sessione di Verifica aziendale (KYB) elimina anche le verifiche create per le sue persone chiave (KYC) e per i suoi titolari effettivi (KYB), in modo ricorsivo. La risposta riporta quante sono in deleted_child_verifications. Una verifica alla quale la sessione è solo collegata, come un KYC già approvato e riutilizzato, non viene eliminata.
  • I dati della firma elettronica vengono eliminati con essa: i documenti da firmare e i relativi file Word originali, i PDF firmati, i PDF delle prove, le immagini delle firme e tutti i valori dei campi. I loro percorsi di download restituiscono 404.
  • La sessione scompare immediatamente dalle risposte di elenco e di decisione, e gli URL dei contenuti multimediali emessi prima della chiamata smettono di funzionare.
  • Le consegne di webhook ancora in coda per la sessione, e i relativi nuovi tentativi, vengono scartate.
  • Il monitoraggio AML continuo e il monitoraggio del registro KYB avviati dalle verifiche eliminate si interrompono.
  • L’eliminazione è definitiva e irreversibile. Non esiste un endpoint di ripristino, quindi esporta tutto ciò che ti serve, ad esempio un PDF della decisione, prima di effettuare la chiamata.
  • La risposta è 200 OK, inviata solo al completamento dell’eliminazione, con un corpo JSON che riporta cosa è successo ai dati biometrici del volto della sessione. Vedi Migrazione se il tuo client si aspetta ancora 204.

Dati in un report normativo finalizzato

Se la sessione fa parte di un caso con un report normativo finalizzato, la richiesta restituisce 409 e non viene eliminato nulla. La risposta usa code: in_filed_report e indica ciascun report:
Elimina ciascun report con Elimina report, poi ripeti l’eliminazione. Eliminare il report non elimina la sessione; la sessione resta finché non richiami questo endpoint.

Dati biometrici del volto da eliminare o conservare

Ogni sessione KYC con un selfie di prova di vita contiene un embedding facciale, che alimenta la Ricerca facciale 1:N e il rilevamento dei duplicati. Per impostazione predefinita, l’embedding viene eliminato insieme alla sessione (face_retention_policy: delete_with_session), quindi una persona la cui sessione hai eliminata può effettuare nuovamente la verifica senza essere segnalata come duplicata. Le applicazioni che hanno bisogno che il rilevamento dei duplicati sopravviva all’eliminazione della sessione possono attivare la conservazione del modello biometrico. In questo caso Didit elimina la sessione e tutti i suoi dati come di consueto, e conserva un unico modello biometrico del volto, gestito separatamente e privo di immagini, associato all’utente della sessione.
Un modello biometrico conservato è un dato biometrico. Non è anonimo, non è transitorio e non viene eliminato insieme alla sessione. Resta disponibile fino alla sua scadenza programmata, a una scadenza anteriore prevista dalla legge applicabile, all’eliminazione dell’utente, a una richiesta di cancellazione per motivi di privacy o a una purga esplicita. Attiva la conservazione solo se le istruzioni del titolare del trattamento e la tua informativa sulla privacy la prevedono.
Che cosa contiene e che cosa non contiene un modello conservato: La conservazione si configura in tre punti, dal più generale al più specifico:
  1. Politica dell’applicazione in Business Console → App Settings → Data retention oppure tramite PATCH /v3/webhook/ (face_retention_policy, face_retention_days). Vedi Conservazione dei dati.
  2. Override per singola chiamata con retain_face_embeddings su questo endpoint e su Eliminazione in batch delle sessioni.
  3. Classe di istruzione con deletion_instruction. Un’istruzione privacy_erasure ha sempre la precedenza: elimina ogni modello conservato per quell’utente e non ne conserva mai uno nuovo.

Corpo della richiesta

Tutti i campi sono facoltativi. Ometti il corpo per seguire la politica dell’applicazione.

Risposta

La risposta conferma che Didit ha accettato e applicato la tua istruzione di eliminazione. Non è un certificato di cancellazione: conserva il instruction_id nel tuo registro di cancellazione, così potrai correlarlo in seguito con il registro di audit.

Durata della conservazione e scadenza

Ogni modello conservato ha un expires_at definito. Didit lo imposta in base alla scadenza più anticipata determinata dai seguenti valori:
  1. face_retention_days della richiesta, oppure face_retention_days dell’applicazione quando la richiesta lo omette;
  2. la finestra generale di conservazione dei dati dell’applicazione, quando è configurata;
  3. face_retention_deadline della richiesta, quando è fornito.
Una richiesta che conserverebbe un modello senza una durata finita viene rifiutata con 400 e non viene eliminato nulla. I modelli conservati non possono sopravvivere alla più breve tra le istruzioni applicabili del cliente, la fine della finalità, la scadenza configurata, un’istruzione di cancellazione dell’interessato o una scadenza biometrica prevista dalla legge. Sei tu a scegliere una durata che rispetti le leggi applicabili ai tuoi utenti; scegli una durata più breve ogni volta che una norma applicabile lo richiede.

Cancellazione per privacy

Invia deletion_instruction: "privacy_erasure" quando agisci su una richiesta dell’interessato. Didit elimina ogni modello biometrico conservato collegato all’Utente della sessione, poi elimina la sessione e il relativo embedding. La politica di conservazione dell’applicazione non può prevalere su un’istruzione di cancellazione per motivi di privacy, e retain_face_embeddings: true viene rifiutato con 400. Eliminare l’Utente con Batch Delete Users elimina anche i modelli conservati collegati.

Cosa non viene influenzato

Eliminare una sessione non esegue automaticamente queste operazioni. Se stai gestendo una richiesta di cancellazione dei dati, occupatene separatamente.
  • Voci della blocklist create a partire dalla sessione (volto o documento) restano al loro posto. Rimuovile dalla blocklist. Una voce della blocklist facciale mantiene la propria voce biometrica, indipendente da qualsiasi modello conservato.
  • Token di condivisione già emessi per la sessione non vengono revocati, ma non c’è più nulla da importare: un import con uno di questi token restituisce 400 con {"share_token": ["Original session does not exist."]}.
  • Webhook già consegnati per la sessione non sono interessati. Le consegne ancora in coda e i relativi nuovi tentativi vengono eliminati. Per la cancellazione in sé non viene emesso alcun webhook.
  • Crediti già consumati dalla verifica non vengono rimborsati.
  • Copie firmate già inviate via email a un firmatario da un passaggio di firma elettronica si trovano nella casella di posta del firmatario e non sono interessate.
  • L’entità padre Utente o azienda non viene eliminata. Per queste usa Delete Users o Delete Businesses. Se il ritratto del profilo dell’Utente proviene dalla sessione eliminata, il ritratto viene rimosso.
  • Un modello biometrico conservato (solo se hai scelto di conservarlo) resta finché non scade o non lo elimini. Eliminalo con la Biometric Templates API, eliminando l’Utente, oppure ripetendo l’eliminazione di un’altra sessione dello stesso Utente con deletion_instruction: "privacy_erasure".

Esempi

Risposta per un’applicazione che non ha scelto la conservazione:

Errori

Con 400 non viene eliminato nulla. Con 503 la sessione resta al suo posto: ripeti la stessa richiesta finché non restituisce 200. Alcuni dei suoi file archiviati o il suo embedding facciale potrebbero essere già stati eliminati, quindi non fare affidamento su di essi dopo un 503.

Autorizzazione

Richiede delete:sessions. La stessa autorizzazione copre sia le sessioni di Verifica degli utenti (KYC) sia quelle di Verifica aziendale (KYB), e l’override della conservazione.

Eliminazione in batch

Per le operazioni di massa sulle sessioni KYC usa POST /v3/sessions/delete/. Accetta gli stessi campi di conservazione e istruzione. Fino a 20 sessioni corrispondenti vengono eliminate nella richiesta, con un esito per ciascuna sessione; le altre vengono eliminate tramite un job di eliminazione. Vedi Batch Delete Sessions.

Migrazione dalle risposte 204

Fino a questa release l’endpoint restituiva 204 No Content. Ora restituisce 200 OK con il corpo JSON descritto sopra, così che ogni eliminazione riporti il proprio face_retention_outcome. Aggiorna i client che verificano la presenza di 204. Il comportamento predefinito non cambia: le applicazioni esistenti restano su delete_with_session, e nessuna migrazione attiva la conservazione per tuo conto. Attivala esplicitamente nella Console oppure tramite PATCH /v3/webhook/.

Documentazione correlata

Autorizzazioni

x-api-key
string
header
obbligatorio

La chiave API della tua applicazione, da Developers -> API keys nella Business Console. La chiave primaria ha accesso completo. Una chiave con nome può avere un ambito definito: nessuno, lettura o scrittura per risorsa, limitata ad alcuni workflow o a sessioni approvate, a un elenco di indirizzi IP e a una data di scadenza. 401 indica che la chiave è errata, revocata o scaduta; 403 indica che non è stata inviata alcuna chiave, che la chiave non ha accesso a questa risorsa o azione, oppure che la richiesta proviene da un indirizzo non incluso nel suo elenco IP; 404 su una route di sessione indica che la sessione non rientra nei workflow o negli stati previsti dalla chiave. Una chiave senza accesso ai media riceve gli URL di immagini, video e PDF come null, e una chiave senza permessi di scrittura sulle sessioni riceve link e token di sessione come null. Consulta https://docs.didit.me/console/api-keys.

Parametri del percorso

sessionId
string<uuid>
obbligatorio

UUID (session_id) della sessione di Verifica degli utenti (KYC) o Verifica aziendale (KYB) da eliminare, come restituito al momento della creazione della sessione. Deve essere un UUID canonico separato da trattini: un valore che non è un UUID non corrisponde al percorso e restituisce 404.

Esempio:

"11111111-2222-3333-4444-555555555555"

Corpo

application/json

Opzionale. Ometti interamente il corpo per seguire la politica di conservazione dell'applicazione con un'eliminazione operativa.

retain_face_embeddings
boolean | null

Esegui l'override della face_retention_policy dell'applicazione per questa eliminazione. true mantiene un modello biometrico facciale privo di immagini associato all'Utente della sessione dopo l'eliminazione della sessione; false elimina l'embedding facciale insieme alla sessione; ometti o imposta su null per seguire la politica dell'applicazione. Ignorato per le sessioni KYB e per le sessioni senza un embedding facciale.

Esempio:

true

face_retention_days
integer

Periodo di conservazione limitato, in giorni, per un modello conservato. Obbligatorio quando un modello viene conservato, a meno che l'applicazione non imposti già face_retention_days. Il campo expires_at del modello corrisponde al valore più anticipato tra questa durata, la finestra generale di conservazione dei dati dell'applicazione e face_retention_deadline.

Intervallo richiesto: 1 <= x <= 3650
Esempio:

365

face_retention_deadline
string<date-time>

Scadenza definitiva opzionale per un modello conservato. Deve essere nel futuro.

Esempio:

"2027-08-28T00:00:00Z"

deletion_instruction
enum<string>
predefinito:operational_session_delete

La classe di istruzione che stai fornendo. operational_session_delete elimina la sessione e conserva un modello solo quando la policy o retain_face_embeddings lo prevede. privacy_erasure elimina definitivamente ogni modello biometrico conservato e associato all'Utente della sessione prima di eliminarla, non può essere sovrascritta dalla policy dell'applicazione e non può essere combinata con retain_face_embeddings: true (400).

Opzioni disponibili:
operational_session_delete,
privacy_erasure
Esempio:

"operational_session_delete"

instruction_id
string

Il tuo riferimento permanente per questa istruzione di eliminazione (ad esempio l'ID di un ticket di cancellazione). Registrato nel registro di audit e su qualsiasi modello conservato. Generato da Didit se omesso.

Maximum string length: 255
Esempio:

"dsar-2026-0142"

Risposta

Sessione eliminata. Il corpo riporta cosa è successo ai dati biometrici facciali della sessione e, per una sessione KYB, quante verifiche create da essa sono state eliminate insieme ad essa.

session_id
string<uuid>

La sessione eliminata.

session_number
integer | null

Il numero della sessione eliminata.

face_retention_outcome
enum<string>

Cosa è successo ai dati biometrici facciali della sessione. deleted: l'embedding facciale è stato eliminato insieme alla sessione (impostazione predefinita). retained_with_user: la sessione viene eliminata e un modello biometrico senza immagini rimane associato all'Utente; vedi biometric_template_uuid. none: la sessione non aveva alcun embedding facciale (ad esempio una sessione KYB o una sessione KYC senza selfie per la prova di vita). ineligible_no_vendor_user: la conservazione era stata richiesta ma la sessione non ha alcun Utente collegato, quindi l'embedding è stato eliminato con la sessione. Un errore dello store biometrico non viene mai segnalato tramite questo campo su questo endpoint: restituisce 503 e la sessione non viene eliminata.

Opzioni disponibili:
retained_with_user,
deleted,
none,
ineligible_no_vendor_user
biometric_template_uuid
string<uuid> | null

ID del modello biometrico conservato quando face_retention_outcome è retained_with_user; null altrimenti. Gestiscilo tramite /v3/biometric-templates/{template_uuid}/.

biometric_template_expires_at
string<date-time> | null

Quando il modello biometrico conservato viene eliminato, se face_retention_outcome è retained_with_user; null quando nessun modello viene conservato.

deleted_child_verifications
integer

Per una sessione di Verifica aziendale (KYB): quante verifiche ha creato (le sessioni KYC delle sue persone chiave e le sessioni KYB dei suoi proprietari aziendali, ricorsivamente) che sono state eliminate insieme ad essa. Sempre 0 per una sessione KYC.

Ultima modifica il 7 novembre 2026