Portali trasparenza e sistemi interni per organizzazioni che rispondono a un auditor.
Il portale trasparenza previsto dal D.Lgs. 33/2013, il log degli accessi, i ruoli con audit trail e il single sign-on sulla directory che già gestisci — più un modo per sostituire il legacy che sta sotto senza un weekend di cutover.
Portale trasparenza
Per gli enti pubblici italiani non è una funzionalità. È un obbligo di legge.
Il D.Lgs. 33/2013 impone a pubbliche amministrazioni, società a partecipazione pubblica e concessionari di pubblicare un insieme definito di documenti e dati in una sezione dedicata e liberamente accessibile. L'obbligo è tuo, e sono le tue funzioni legale e compliance a decidere cosa ci va dentro. La nostra parte è il sistema che ce lo mette.
- Pubblicato dalla sorgente, non copiato
- Nella piattaforma che costruiamo e manteniamo i documenti arrivano direttamente da SharePoint attraverso la Microsoft Graph API. La sezione pubblica legge gli stessi file che l'organizzazione già gestisce, quindi la pubblicazione non è un secondo passaggio manuale che qualcuno può dimenticare.
- Trovabile da chi la consulta dall'esterno
- Ricerca guidata per ente, categoria e sede. Un cittadino o un giornalista che cerca un documento non deve indovinare come è organizzato l'albero delle cartelle interne.
- Lo stesso codice del lato interno
- Portale pubblico e moduli interni vivono in una sola applicazione, con un solo percorso di deploy e una sola suite di test. Non c'è un sitarello separato che resta indietro in silenzio.
Cosa pubblicare resta una decisione delle funzioni legale e compliance. Noi costruiamo e manteniamo il portale che lo pubblica, e ti diciamo esattamente cosa fa.
Siamo un team di ingegneria indipendente, non un reseller né un partner certificato Microsoft. Dove la piattaforma legge SharePoint, Entra ID o Active Directory lo fa attraverso le loro API documentate, sulle licenze che hai già, con credenziali che i tuoi amministratori emettono e possono revocare.
Quello che troviamo di solito
I controlli esistono. Vivono nelle abitudini delle persone.
Niente di tutto questo è negligenza. È quello che succede quando a un sistema giusto dieci anni fa si continua a chiedere un'altra eccezione.
- L'obbligo dipende da una persona sola
- I documenti che devono essere pubblici li copia a mano chi sa dov'è la cartella. Quando non c'è, la pubblicazione aspetta.
- Nessuno riesce a ricostruire chi è entrato
- La reception tiene un registro di carta, il sistema badge tiene il suo log, e nessuno dei due risponde a "chi era in sede quel pomeriggio" senza che ci voglia un pomeriggio di lavoro.
- I permessi sono cresciuti per eccezioni
- I ruoli erano sensati al lancio. Tre riorganizzazioni dopo, gli accessi sono un insieme di eccezioni individuali che nessuno osa ripulire, perché da nessuna parte è scritto perché sono state concesse.
- Il legacy non si può spegnere
- Non è più supportato, i suoi test coprono lo scheletro del framework e nient'altro, e ci sta appoggiato tutto. Ogni preventivo che ricevi propone una riscrittura con un weekend di cutover, e ogni weekend di cutover viene rifiutato.
01
02
03
04
Cosa costruiamo
Una piattaforma, venti moduli, un audit trail
Questa è la forma della piattaforma di workplace che costruiamo e manteniamo oggi, su Laravel e Filament.
- Portale trasparenza
- Una sezione pubblica alimentata dalla sorgente documentale che la tua organizzazione già usa — nella piattaforma che gestiamo, SharePoint attraverso la Microsoft Graph API — con ricerca guidata per ente, categoria e sede, così il lato pubblico resta allineato a quello interno senza una copia manuale.
- Registro visitatori e log degli accessi
- Pre-registrazione, OTP e codici a tastierino all'ingresso, entrata dei dipendenti tracciata ed eventi di audit su ogni accesso. La reception lavora da un kiosk invece che da un registro.
- Identità e ruoli
- Single sign-on su Microsoft Entra ID e Active Directory / LDAP, login locale che resta accanto, accessi per ruolo con governance e audit trail completo, incluse le deroghe locali esplicite a un ruolo.
- Risorse di sede
- Prenotazione di desk e parcheggi su una struttura a più piani, sale riunioni con display di sala e flotta aziendale con parco elettrico: le risorse per cui le persone fanno davvero la coda.
- Posta interna e documenti
- Posta interna protocollata con numerazione sequenziale, corrieri, allegati e promemoria, più un catalogo documentale. La traccia di carta diventa una query.
- Due lingue, testate
- Italiano e inglese in tutti i moduli, con la localizzazione coperta da test. Venti moduli di amministrazione e oltre cento file di test girano in CI a ogni push.
Dicci qual è il modulo che tiene in ostaggio tutti gli altri.
Quello che ti torna indietro è da dove partiremmo, cosa deve muoversi per primo e cosa può restare dov'è.
Sostituire il legacy
Modulo per modulo, con il vecchio sistema ancora in funzione
Abbiamo sostituito così un'applicazione Yii 2 su uno stack di epoca PHP 5.6. È il punto su cui serve più evidenza, perché ogni preventivo precedente arrivava con un weekend di cutover attaccato. Questo approccio non ce l'ha.
Leggere il sistema che esiste
Moduli, modello dei dati, integrazioni e quali permessi sono reali invece che documentati. Il risultato è un ordine di sostituzione scritto, non una proposta di riscrittura.
Ricostruire un modulo
Il modulo più ristretto che sta in piedi da solo, con i suoi test dal primo commit. Abbastanza piccolo che sbagliarci costi una settimana, non un anno.
Farli girare insieme, poi commutare
Il modulo nuovo gira accanto al vecchio e prende il suo posto solo quando i dati riconciliano. Il legacy resta in produzione tutto il tempo.
Portare i ruoli di là
Ruoli e assegnazioni vengono travasati dal vecchio sistema invece che reinseriti, così una commutazione non diventa un progetto di provisioning per l'IT.
Ripetere finché nessuno chiama più il vecchio
L'applicazione legacy si spegne quando l'ultimo modulo smette di dipenderne: una conseguenza, non una data che qualcuno deve difendere.
Le domande che ci fanno
Prima di scriverci
Il portale trasparenza è davvero un obbligo di legge o è un "nice to have"?
Per le pubbliche amministrazioni italiane, le società a partecipazione pubblica e i concessionari è un obbligo, non un "nice to have". Il D.Lgs. 33/2013 impone loro di pubblicare un insieme definito di documenti e dati in una sezione dedicata e liberamente accessibile. Noi siamo ingegneri, non consulenti di compliance: sono le tue funzioni legale e compliance a decidere cosa va pubblicato e per quanto. Quello che abbiamo fatto noi è costruire il portale che lo pubblica, servendo i documenti direttamente da SharePoint attraverso la Microsoft Graph API con ricerca guidata per ente, categoria e sede.
Si può sostituire un sistema legacy senza fermare l'operatività?
È esattamente come l'abbiamo fatto. Il sistema che abbiamo sostituito era un'applicazione Yii 2 su uno stack di epoca PHP 5.6, ed è rimasto in produzione tutto il tempo. L'abbiamo spostato modulo per modulo: un modulo ricostruito, testato, fatto girare accanto al vecchio e poi commutato, con i ruoli travasati dal vecchio sistema così da non dover ri-provisionare nessuno a mano. Non c'è una data unica di spegnimento da negoziare, che è la parte che di solito blocca questi progetti.
Su quali sistemi di identità si autentica?
Single sign-on su Microsoft Entra ID e su Active Directory / LDAP, con il login locale che coesiste invece di essere sostituito: personale esterno, kiosk e postazioni di reception normalmente non possono vivere nella directory aziendale, e un sistema interno che dà per scontato che possano è inutilizzabile nella pratica.
Come sono gestiti ruoli e permessi quando li chiede un auditor?
Accessi per ruolo con un livello di governance: ruoli e relativi permessi sono definiti in un posto solo, le deroghe locali sono esplicite invece che implicite, e le modifiche emettono eventi di audit. Anche gli accessi fisici sono registrati: check-in dei visitatori ed entrata dei dipendenti annotano chi è entrato, quando e con quale credenziale.
Che cosa comprende davvero "sistema interno" qui?
Sulla piattaforma che costruiamo e manteniamo oggi: un portale trasparenza pubblico, un registro visitatori con OTP e codici a tastierino, entrata dei dipendenti tracciata con log degli accessi, prenotazione di desk e parcheggi su una struttura a più piani, una flotta aziendale con parco elettrico, posta interna con numerazione sequenziale, corrieri, allegati e promemoria, sale riunioni con display di sala, un kiosk di reception e un catalogo documentale. Venti moduli di amministrazione su un solo codice.
Funziona in più di una lingua?
Italiano e inglese sono nativi, non aggiunti dopo: ogni modulo arriva tradotto, e la localizzazione ha i suoi test, così una stringa mancante fa fallire la build invece di comparire davanti a un visitatore.
Di chi è il sistema una volta in produzione?
Tuo: il codice, il repository, le definizioni dell'infrastruttura e la documentazione. Possiamo continuare a gestirlo, consegnartelo con un passaggio guidato, o entrambe le cose in sequenza. Niente resta chiuso dietro un account a cui accediamo solo noi.
Vedi anche: integrazioni & API quando il sistema interno deve parlare con qualcos'altro, e case study per le situazioni per cui ci chiamano.
Parliamone
Descrivi il tuo sistema interno.
Quali moduli esistono, cosa chiede l'auditor e cosa tiene ancora in mano il legacy.
- Dove siamo
- Italia · Repubblica Ceca · Giappone