Livelli di firma
La firma Avanzata (AES) viene apposta esclusivamente in formato PAdES. I valori
signature_format xades e cades vengono rifiutati per AES con signature_format_not_supported. Verifica signature_availability sul workflow prima di salvare un passaggio AES: finché aes è false, il salvataggio di un nuovo passaggio restituisce 400 con aes_not_available.
Come funziona
1
Per il livello Avanzato (AES), il workflow verifica prima il firmatario
Al livello della firma Avanzata (AES), il passaggio di firma viene eseguito dopo i passaggi che accertano l’identità del firmatario: Verifica dell’identità e Verifica email o telefonica per il recapito a cui viene inviato il codice. Consulta Prima di iniziare. Il livello Semplice non richiede alcun passaggio precedente.
2
Didit prepara i documenti
Quando il firmatario raggiunge il passaggio, Didit copia i documenti e i relativi campi nella sessione e registra l’hash SHA-256 di ciascun documento. Le eventuali modifiche successive al workflow non possono alterare ciò che questo firmatario visualizza.
3
Il firmatario esamina ciascun documento
Per i documenti che contengono campi, il firmatario viene guidato da un campo all’altro. Il firmatario appone la firma una sola volta e questa viene applicata a ogni campo per firma e iniziali, compilando inoltre i campi di testo e le caselle di controllo. I valori che Didit recupera dall’identità verificata, dalla sessione o dal tuo sistema sono già presenti sulla pagina. Per i documenti senza campi, l’utente li legge e li approva.
4
Per Avanzata (AES), il firmatario conferma con un codice
Se un documento contiene campi, il firmatario accetta innanzitutto di firmare i documenti elettronicamente. Al livello della firma Avanzata (AES), Didit invia quindi un codice a sei cifre all’indirizzo email o al numero di telefono verificato in precedenza nella sessione; l’inserimento di tale codice autorizza la firma su tutti i documenti del passaggio. Al livello Semplice non è previsto alcun codice: l’accettazione è sufficiente per autorizzare la firma.
5
Didit firma e appone il sigillo
Didit inserisce la data di firma, applica il valore di ciascun campo in ogni PDF e allega la pagina probatoria. Al livello della firma Avanzata (AES), applica successivamente la firma PAdES e il timestamp, in modo che la firma copra l’intero contenuto della pagina. Al livello Semplice, il file è un PDF con la pagina probatoria, privo di firma digitale, sigillo o timestamp.
6
Ricevi i risultati
I webhook di decisione e di sessione contengono
signatures[] con i dati del firmatario, la conferma, il certificato, il timestamp, gli hash di ciascun documento e il valore di ogni campo. Puoi scaricare i PDF firmati e il PDF probatorio, e Didit può inviare una copia via email al firmatario.Prima di iniziare
Al livello Avanzato (AES), il firmatario deve essere verificato prima di poter firmare. Didit ricava il suo nome e i suoi recapiti dai record verificati della sessione stessa, mai da ciò che tu o il firmatario inserite digitando. Il livello Semplice non richiede nulla di tutto questo: non prevede alcuna verifica dell’identità, email, telefono o codice, e viene rifiutato per i firmatari KYB. Per la Verifica degli utenti (KYC), inserisci questi passaggi prima di Firma elettronica nel workflow:- Verifica dell’identità, approvata, con un nome leggibile. Senza di essa, il passaggio registra
SIGNATURE_IDENTITY_NOT_VERIFIED. - Verifica email quando il codice viene inviato via email (l’opzione predefinita), oppure Verifica telefonica quando viene inviato tramite SMS. Il codice viene inviato solo a un recapito verificato nella stessa sessione.
- Se il workflow include anche Rilevamento della vitalità, questo deve essere approvato.
Un passaggio KYB ha tra 1 e 20 firmatari, e ciascuno necessita di un KYC approvato prima di firmare. Ognuno firma la propria copia dei documenti e conferma con un codice inviato al recapito verificato nella propria sessione KYC. Il nome dichiarato per la persona chiave deve corrispondere al suo nome verificato, senza distinzione tra maiuscole e minuscole e tra gli spazi, altrimenti il passaggio registra
SIGNATURE_NAME_MISMATCH. Il passaggio si conclude quando ogni firmatario ha firmato o rifiutato.
Documenti
Da dove provengono i documenti
signature_documents_source imposta da dove un passaggio ottiene i propri documenti:
I documenti per sessione sono il modo per far firmare a una persona un contratto con il proprio nome, importo o clausole già compilati dal tuo sistema.
File supportati
Quando carichi un documento Word, Didit lo converte in PDF durante il caricamento, in un massimo di 60 secondi. Le pagine convertite corrispondono a ciò che il firmatario vede e firma, quindi controllale prima di posizionare i campi: le interruzioni di riga possono differire leggermente rispetto a Word. Il file Word e il relativo PDF appartengono allo stesso documento e vengono eliminati insieme ad esso. Il PDF delle evidenze registra la conversione e l’hash SHA-256 di entrambi i file.
Didit rifiuta un file Word con
signature_document_not_supported e un reason quando ciò che verrebbe firmato risulta ambiguo: contiene macro (macros), revisioni non accettate (tracked_changes), link a contenuti esterni (external_links) o oggetti incorporati (embedded_objects). Accetta o rifiuta le revisioni prima del caricamento, affinché il PDF mostri il testo concordato.
Un file che non può essere convertito viene rifiutato con signature_document_conversion_failed e uno dei seguenti motivi:
Campi sul documento
I campi trasformano un documento in un modello che il firmatario compila, proprio come prepareresti una busta in uno strumento di firma desktop. Un documento senza campi mantiene il flusso più semplice: il firmatario lo legge e acconsente.
In questa versione non è disponibile un selettore di data. Usa un campo
text per una data inserita dal firmatario.
Un campo ha le seguenti proprietà:
role_not_used. Ogni ruolo che dispone di campi su un documento deve avere almeno un campo signature o initials su di esso, altrimenti la versione del workflow non può essere pubblicata (signature_field_missing).
Validazione
validation si applica ai campi text:
kind:any;letters(lettere in qualsiasi sistema di scrittura, spazi, trattini e apostrofi);number(cifre con un separatore decimale opzionale);email; opattern.min_length: da0fino amax_length.max_length: da1a500. Valore predefinito120.pattern: obbligatorio conkind: "pattern". Un’espressione regolare fino a 200 caratteri a cui l’intero valore deve corrispondere. Lookaround e backreference non sono supportati.message: fino a 120 caratteri, mostrato al posto dell’errore predefinito.
Valori precompilati
prefill indica l’origine del valore di un campo:
Un campo
data deve avere un prefill. Un campo full_name usa sempre identity.full_name e un campo email usa contact.email; anche un campo text può averne uno. I valori dei campi data, full_name e dei campi email verificati vengono fissati quando il firmatario avvia la firma: modifiche successive alla sessione non li cambiano. Un campo text o email precompilato è di sola lettura a meno che non imposti editable_when_prefilled.
Quando l’origine di un campo obbligatorio non ha alcun valore in quel momento, ad esempio una sessione priva di indirizzo, il campo rimane vuoto e il firmatario può comunque firmare. Non viene generato alcun avviso, e value_unavailable_reason nel report ne spiega il motivo.
Configuralo nella console
- Vai su Workflow, apri un workflow e aggiungi il passaggio Firma elettronica dopo i passaggi che verificano il firmatario.
- In Documenti, seleziona Carica per aggiungere file PDF o Word, e trascinali nell’ordine in cui li vedrà il firmatario. I file Word vengono convertiti in PDF: controlla le pagine convertite prima di posizionare i campi. Sostituisci sostituisce il file di un documento mantenendone i campi, a eccezione di quelli presenti sulle pagine che il nuovo file non contiene più.
- Sotto Posiziona i campi sui documenti, seleziona Apri l’editor. Trascina un campo dalla tavolozza sulla pagina, oppure selezionalo e fai clic nel punto in cui deve andare, quindi spostalo e ridimensionalo. Per ogni campo, imposta Chi lo compila, la sua etichetta, se è Obbligatorio, cosa accetta, da dove proviene il suo valore e la sua Chiave API (la
keydel campo). Anteprima come firmatario mostra il documento così come lo vede il firmatario su smartphone o desktop. L’editor salva man mano che procedi (Salvato come bozza) ed elenca cosa correggere prima di selezionare Fatto. - Sempre in Documenti, scegli l’origine dei documenti: Questo workflow, Ogni sessione o Entrambe. Per i documenti senza campi, scegli se il firmatario deve Leggere fino alla fine prima di firmare e se deve dare Un consenso per documento.
- In Firma, scegli il Firmatario, il Livello (Semplice, l’impostazione predefinita, o Avanzato (AES); Qualificato (QES) è contrassegnato come Prossimamente), il Formato e dove inviare il codice (Codice monouso via).
- In Regole, imposta l’effetto di ogni avviso sul verdetto.
- In Avanzate, scegli se Invia la copia firmata via e-mail e Aggiungi una pagina delle evidenze, e per quanti giorni il link di firma rimane valido. Puoi anche aggiungere regole di stato personalizzate.
- Salva il workflow.
L’esperienza di firma
Il passaggio di firma viene eseguito nella pagina di verifica ospitata, nel Web SDK e negli SDK nativi, su desktop e su telefoni. Non è necessario sviluppare alcuna interfaccia di firma.- Introduzione. Il firmatario visualizza i documenti che sta per firmare.
- Ciascun documento, in ordine. Per un documento contenente campi, il firmatario viene guidato attraverso i relativi campi nell’ordine di
position. Il primo campo per la firma o le iniziali apre un pannello in cui adottare una firma. I campi facoltativi sono contrassegnati come Facoltativo. I valori precompilati da Didit appaiono sulla pagina con un lucchetto e non costituiscono passaggi separati. Toccando un campo sulla pagina ci si sposta direttamente su di esso. Su telefono, viene mostrato un campo alla volta all’interno di un pannello che rimane al di sopra della tastiera. Su schermi di larghezza pari ad almeno 1200 px, la pagina è affiancata all’elenco dei campi. Se si conclude un documento lasciando vuoto un campo obbligatorio, viene mostrato quanti ne mancano e si viene reindirizzati al primo di essi. Un documento senza campi viene letto e accettato, in base alla configurazione impostata. - Riepilogo. Il firmatario visualizza nuovamente i documenti e, se qualcuno di essi contiene campi, acconsente a firmarli elettronicamente.
- Codice (solo Advanced (AES)). Il firmatario richiede il proprio codice. È valido per 5 minuti, ne può essere inviato uno nuovo dopo 60 secondi e ogni firmatario ha a disposizione fino a 5 codici e 3 tentativi errati. L’esaurimento dei codici o dei tentativi errati registra
SIGNATURE_OTP_FAILED. Al livello Simple non è previsto alcun codice: il firmatario passa direttamente dal riepilogo alla firma. - Firmato. Dopo la firma, il firmatario può scaricare i propri documenti firmati. Se l’opzione è stata abilitata, Didit invia loro anche una copia via email.
- Rifiuto. Il firmatario può rifiutare invece di firmare. Questa azione registra
SIGNATURE_DECLINED. Un rifiuto può essere riaperto finché il link di firma rimane valido, consentendo al firmatario di firmare comunque se cambia idea.
signature_link_validity_days (da 1 a 30, predefinito 7), calcolati a partire dalla creazione della sessione. La sessione rimane aperta almeno per tale durata.
Gli SDK nativi mostrano il passaggio di firma a partire dalla release che ne introduce il supporto, indicata nella panoramica degli SDK nativi al momento del rilascio. I documenti con campi richiedono una versione che supporti i campi: una release precedente non è in grado di mostrarli e il passaggio visualizzerà un errore. I documenti senza campi funzionano in qualsiasi release che includa il passaggio di firma. Fino a quando la tua applicazione non adotta una release compatibile con le funzionalità utilizzate dal tuo workflow, indirizza gli utenti verso la pagina ospitata o il Web SDK.
Adozione di una firma
Il firmatario adotta la propria firma e le iniziali una sola volta, in un unico pannello, la prima volta che un documento richiede l’una o le altre:- Digitata: il proprio nome verificato con lo stile calligrafico scelto, contrassegnato come Dal tuo documento. Non è possibile digitare un nome diverso. Le iniziali digitate corrispondono alle prime lettere di tale nome.
- Disegnata: tracciate con il dito o con il mouse, sia per la firma sia per le iniziali.
Risultati
Il risultato di ciascun firmatario è un elemento disignatures[] nella decisione della sessione e nel campo decision dei webhook della sessione. Non esiste un webhook separato per la firma: l’evento status.updated della sessione segnala quando recuperare la decisione.
Riceverai il PDF firmato di ciascun documento, un PDF probatorio per ogni firmatario e l’hash SHA-256 di ogni file originale e firmato, per poter dimostrare in seguito che nulla è stato alterato. Per i documenti con campi, otterrai anche il valore di ciascun campo, la sua origine e l’orario di compilazione, oltre alla firma adottata e al momento esatto in cui il firmatario ha acconsentito alla firma elettronica. Consulta il report di Firma elettronica per l’elenco completo dei campi, i download e le modalità di riconvalida di una firma.
Nella console, la scheda Firma della sessione mostra i documenti, seguiti da un blocco Campi con l’anteprima di ogni pagina, la firma e le iniziali adottate, nonché il valore, l’orario e l’origine di ciascun campo. Il report PDF include una sezione dedicata alla firma e una pagina Firma elettronica · campi quando i documenti contengono campi.
Prezzi
La firma elettronica costa $0.10 per sessione firmata, inclusa nel credito gratuito, a prescindere dal numero di documenti inclusi in una singola firma e dal livello scelto, Simple o Advanced (AES). Una firma rifiutata, fallita o scaduta non viene addebitata. Qualified (QES) è un modulo aggiuntivo non ancora disponibile e il cui prezzo non è ancora definito.Eliminazione dei dati di firma
Quando si elimina una sessione, i relativi dati di firma vengono eliminati contestualmente: i documenti inviati con la sessione e i rispettivi file Word originali, le copie predisposte per ciascun firmatario, i PDF firmati, i PDF probatori, le immagini della firma e delle iniziali adottate e il valore di ciascun campo. I relativi link di download smettono di funzionare. Lo stesso avviene quando una sessione viene eliminata al termine del periodo di conservazione dei dati. L’eliminazione non può essere annullata, pertanto scarica preventivamente tutto ciò che è necessario conservare.- I documenti firmati di una Verifica aziendale (KYB) appartengono alla sessione dell’azienda. Eliminando tale sessione verranno eliminati anche i documenti.
- Rimuovere un documento da un workflow comporta la sua eliminazione, assieme ai relativi campi e al file Word originale. Un firmatario che ha già avviato la firma mantiene la copia visualizzata, all’interno della propria sessione, fino a quando tale sessione non viene eliminata. Rimuovi documenti solo da workflow che non hanno sessioni in attesa di firma.
- L’eventuale copia che Didit ha già inviato via email al firmatario si trova nella sua casella di posta e non viene toccata.
Correlati
- Report di Firma elettronica:
signatures[], il PDF firmato, il PDF probatorio e i download. - Avvisi di Firma elettronica: tutti gli avvisi e la regola che li gestisce.
- Crea sessione: invio di documenti, campi e valori dei campi per sessione.
- Configurazioni delle funzionalità del workflow: tutte le impostazioni del passaggio.