# Introduzione

## Contesto Generale e Obiettivi

### Cos'è la PDND e a Cosa Serve:

* E’ l'infrastruttura digitale italiana che facilita l'interoperabilità tra sistemi informativi delle Pubbliche Amministrazioni.
* Il suo scopo primario è condividere dati in modo sicuro, standard e trasparente.
* E' uno dei due approcci adottati da Opencity Italia per implementare il principio del [once-only](https://app.gitbook.com/s/rdV0mwA7iy2c3I7wu5BX/creare-un-servizio/le-funzioni/precompilazione-dei-dati) (o one-time entry), evitando di chiedere al cittadino dati già in possesso di altre PA (es. residenza, stato famiglia da ANPR).

### Attori Principali Coinvolti:

* **PDND**: La piattaforma centrale che gestisce le interazioni e la sicurezza.&#x20;
* **Erogatori**: Gli enti che mettono a disposizione i dati tramite e-service (es. ANPR, INPS).
* **Fruitori**: Gli enti (come i Comuni, che usano OpenCity) che hanno bisogno di accedere a questi dati.
* **La Piattaforma (OpenCity)**: L'interfaccia lato ente e cittadino dove i dati vengono visualizzati e usati.
* **PDND Connecto**r: Il microservizio chiave che funge da ponte tra OpenCity e l’ecosistema PDND (compresi gli enti erogatori). Ha il compito di:

  * Gestire le configurazioni e il materiale crittografico degli enti fruitori;
  * Interagire con la PDND, per conto dei fruitori, al fine di ottenere i voucher di sicurezza;
  * Utilizzare i voucher per accedere in modo sicuro agli e-service esposti via API dagli enti erogatori, garantendo che ogni cittadino acceda a tutti e soli i dati di sua pertinenza.&#x20;
  * Garantire la conservazione dei voucher secondo le [linee guida](https://www.agid.gov.it/sites/agid/files/2024-05/lg_infrastruttura_interoperabilita_pdnd.pdf).

  In sintesi, il PDND Connector centralizza la logica di integrazione e sicurezza, permettendo a OpenCity di comunicare con la PDND in modo trasparente, conforme e scalabile.

## Requisiti per l'integrazione

### E-service

Non sono generici servizi API, ma specifici servizi erogati dagli enti che forniscono dati ben definiti (es. "C021 - Accertamento Stato Famiglia" da ANPR). Possono avere diverse versioni, per poter essere utilizzati bisogna farne richiesta e in seguito associarli ad una finalità.

### Client

Un oggetto di configurazione fondamentale sulla PDND e su OpenCity. Raggruppa le informazioni necessarie per gestire e amministrare gli e-service che un ente (fruitore) vuole usare. L'ente, configurando il client di Opencity Italia, può accedere a tutti gli e-service che si vogliono integrare nei servizi digitale. Per poter utilizzare gli e-service, il client deve essere associato alle relative finalità.

### Finalità

Il motivo (anche legale) per cui un ente richiede l'accesso a un determinato e-service. È strettamente legata a uno o più e-service e richiede una specifica "Analisi del rischio". Per ampliare l'adozione della PDND, la piattaforma consente di creare tanti servizi digitali utilizzando una singola finalità.

### Voucher

Un token di sicurezza temporaneo che il PDND Connector ottiene dalla PDND. Questo voucher è essenziale perché funge da credenziale per autenticarsi e autorizzarsi direttamente presso l'ente erogatore quando si chiede il dato tramite l'e-service. Il voucher è relativo ad uno specifico client, una specifica finalità e una specifica coppia chiavi di crittografia.

### Nested Form

Il componente sulla nostra piattaforma che riceve e visualizza i dati ottenuti tramite la PDND. Alcune proprietà nel suo codice definiscono quale e-service utilizzare e quali campi specifici riceveranno i dati PDND certificati.

### ID Chiave (KID), ID Client (Client ID), ID Finalità (Purpose ID / ParID)

Sono gli identificativi cruciali ottenuti dalla piattaforma PDND dopo aver configurato Client, Chiave Pubblica e Finalità. Vanno copiati dalla PDND e inseriti nella configurazione del Client corrispondente sulla nostra piattaforma.
