Come garantire ad entrambe le parti autenticità, non ripudiabilità, integrità, data e recapito certi di un contratto sottoscritto online?
Ho dato una risposta a queste domande nel modulo di gestione dei contratti che inserisco nei software gestionali che sviluppo.
Analizziamo le peculiarità di questo sistema:
1. Inizialmente viene offerto all'utente un modulo che chiede all'utente i propri dati anagrafici, effettuare delle scelte e confermare delle dichiarazioni. Durante l'immissione dei dati, vengono fatte verifiche di congruità come il codice fiscale, la tipologia di dati, la maggiore età, etc. Viene anche offerta la possibilità di sottoscrivere il contratto in qualità di genitore/esercente la patria potestà su un minorenne.
- 2. L'utente invia il modulo e i dati anagrafici, le scelte e le dichiarazioni dell'utente vengono memorizzate nel sistema. Alla ricezione del modulo, vengono salvati anche l'indirizzo IP di provenienza, del dispositivo utilizzato dall'utente per compilare il documento vengono salvati il sistema operativo, la lingua, la marca e la versione del browser ed infine la data e l'ora di ricezione.
- 3. Il sistema ora invia all'utente una email chiedendo di confermare i dati, le scelte e le dichiarazioni appena rilasciate mediante il modulo. Questo passaggio serve a verificare l'autenticità dell'indirizzo email dichiarato dall'utente e dimostra il reale intento dell'utente di voler sottoscrivere il contratto.
- 4. Quando il sistema riceve la conferma dall'utente, memorizza l'indirizzo IP di provenienza, del dispositivo utilizzato dall'utente per confermare il documento vengono salvati il sistema operativo, la lingua, la marca e la versione del browser ed infine la data e l'ora di conferma. Tutti questi metadati sono elementi che aiutano all'identificazione dell'utente. In particolare si noti che l'indirizzo IP consente di risalire alla collocazione geografica, equivalente al luogo geografico nei contratti cartacei. L'invio del modulo e la sua successiva conferma costituiscono il forte legame di non ripudiabilità.
- 5. Il sistema ora genera il contratto in formato PDF inserendo l'anagrafica, le scelte, le dichiarazioni ed i metadati di invio e conferma sopra indicati. Nel rispetto della normativa vigente in materia di protezione dei dati personali, il PDF viene salvato nel sistema con un nome astratto al fine di impedire di risalire al sottoscrittore.
- 6. Al fine di garantire ad entrambe le parti l'integrità e l'immutabilità del contratto nel tempo, il sistema genera e memorizza l'impronta hash del file PDF.
- 7. Ora il sistema appone al PDF la marca temporale al fine di certificare data e ora certa.
- 8. Per motivi di trasparenza nei rapporti, il sistema invia una email all'utente con il contratto in formato PDF e la relativa impronta hash.
- 9. Il sistema notifica all'amministratore l'avvenuta sottoscrizione del contratto.
La sigillatura del contratto con l'impronta digitale del PDF a parer mio rappresenta la ciliegina sulla torta perchè conferisce una grande forza all'intero sistema e un grande rispetto verso l'utente.
Questo sistema è inattaccabile per servizi che ad un certo punto prevedono l'incontro fra l'utente e l'ente erogante il servizio come ad esempio uno studio medico, fisoterapico, etc. Un utente infatti potrebbe fingere sulla sua identità rendendo vano il contratto. Per risolvere il problema è sufficiente che l'ente, al primo incontro con l'utente, si accerti che l'identità dichiarata sia conforme a quella esibita.