Vai al contenuto
megapromotingParliamone

Soluzioni · Istituzioni & amministrazione

Le sezioni richieste dalla delibera governativa, scritte nel codice e aggiornate dal funzionario — non aggiunte alla fine, come allegato.

Un comune o un’istituzione ha un elenco fisso di sezioni obbligatorie, un obbligo di trasparenza decisionale e un funzionario che deve pubblicare un annuncio senza chiamare un programmatore. Costruiamo esattamente questo, con un registro di audit che si cancella da solo entro il termine e con un limite ai tentativi di autenticazione.

Già costruitoDouă platforme proprii, publice și verificabile azi. Prima e site-ul oficial al unei primării de comună: Laravel 12 pe PHP 8.2 cu MySQL 8, 40 de șabloane, 32 de rute, 10 migrări, cu conținutul editorial care se schimbă rar ținut într-un singur fișier de configurare de 1.613 linii și cu cel care se schimbă des în bază, editabil din panou; autentificarea în panou e limitată la 5 cereri pe minut, iar jurnalul de audit se șterge zilnic după 12 luni, cu trimitere explicită la temeiul legal. Antetele de securitate se pot citi din exterior chiar acum. A doua e o platformă civică în producție, cu 65 de rute de interfață de programare, peste 50 de migrări, 103 fișiere de test pe partea de server și 59 de scenarii capăt-la-capăt, cu verificare de accesibilitate în teste. Ce nu trecem la „livrat”: interoperabilitatea cu serviciile de stat — codul de autentificare federată și de semnătură electronică e scris și testat, dar oprit, pentru că lipsesc contractul cu autoritatea și certificatul de sistem.

Un sito di istituzione pubblica non si giudica da come appare, ma da un elenco. La Delibera di Governo 728/2023 stabilisce quali sezioni devono esistere: trasparenza decisionale, progetti e decisioni, annunci, documenti, contatti, bilancio. Sono obbligatorie, si verificano e non si negoziano. Per questo le costruiamo fin dall’inizio, come struttura, non le aggiungiamo alla fine — aggiunte in coda risultano formali e inutili, e questo si vede subito.

La seconda condizione è più pratica: l’istituzione deve poter pubblicare da sola. Un avviso di gara, un progetto di decisione messo in consultazione, una foto da un evento — se tutto passa attraverso uno sviluppatore, l’informazione di interesse pubblico resta su carta o in un gruppo di social network, e il sito diventa una vetrina morta. Abbiamo separato intenzionalmente due tipi di contenuto: quello editoriale che cambia raramente — geografia, storia, istituzioni, contatti, bilancio — sta in un unico file di configurazione letto direttamente dai modelli; quello che cambia spesso sta nel database e si modifica dal pannello.

La terza condizione è quella che nessuno chiede nel capitolato: che cosa succede con i dati. Un pannello di amministrazione pubblica ha bisogno di un limite ai tentativi di autenticazione — alla sesta richiesta in un minuto dallo stesso indirizzo, la risposta è 429, e questo è coperto da un test automatico, non supposto. Il registro di audit contiene indirizzi IP, quindi è dato personale: un’attività programmata lo pulisce ogni giorno da tutto ciò che ha più di dodici mesi, con la base giuridica scritta nel commento del codice, non in un documento separato che nessuno apre.

E, infine, la parte di cui preferiamo parlare prima della gara: l’interoperabilità con i servizi governativi. L’autenticazione federata e la firma elettronica sono scritte e testate da noi, ma disattivate tramite un interruttore, perché mancano il contratto con l’autorità e il certificato di sistema — manca la carta, non il codice. Per la piattaforma di pagamento dello Stato, la dorsale di interoperabilità e l’area personale del cittadino non abbiamo alcun codice, in alcun repository, e lo scriviamo come tale.

Cosa comprende

Cosa cambia concretamente in istituzioni e amministrazione

Le sezioni obbligatorie, costruite come struttura fin dall’inizio

Trasparenza decisionale, progetti e decisioni, annunci, documenti, contatti, bilancio, più la dichiarazione di accessibilità, l’informativa sul trattamento dei dati, la sezione dei dati aperti e la mappa del sito. La conformità alla delibera di governo è scritta nel codice — nei modelli e nella configurazione — non solo affermata nell’offerta.

Due tipi di contenuto, due luoghi diversi

Ciò che cambia raramente — dati sulla località, storia, istituzioni, composizione del consiglio, contatti, bilancio — sta in un unico file di configurazione di 1.613 righe, letto direttamente dai template; ciò che cambia spesso — avvisi, galleria, progetti e decisioni, documenti, impostazioni di trasparenza — sta nel database ed è modificato dal pannello. La separazione non è estetica: riduce al minimo ciò che qualcuno può rovinare con una modifica errata.

Il funzionario pubblica da solo, senza sviluppatore in catena

Il pannello copre esattamente le operazioni che si fanno settimanalmente in un comune: un nuovo avviso, un progetto di decisione messo in consultazione, un documento caricato, alcune fotografie. Ogni azione di amministrazione entra in una tabella di audit — chi, cosa, quando — perché in un ente pubblico la domanda „chi ha pubblicato questo” ha, prima o poi, una risposta che conta.

Limite all’autenticazione, verificato da un test

Cinque richieste al minuto dallo stesso indirizzo per il modulo di autenticazione; la sesta riceve 429. Non è un’impostazione che affermiamo: esiste un test automatico che verifica esattamente la restituzione del codice 429. La differenza tra una misura configurata e una testata si vede solo quando qualcuno cambia una rotta e se ne dimentica.

Intestazioni di sicurezza presenti nella risposta reale, non solo nella configurazione

In produzione si leggono dall’esterno: divieto di incorniciamento, `nosniff`, politica di riferimento rigorosa, trasporto sicuro imposto per un anno con sottodomini, politica dei permessi che chiude geolocalizzazione, microfono e fotocamera, oltre a una politica di contenuto esplicita. Le verifichiamo con una richiesta, non con una promessa.

Minimizzazione dei dati come attività programmata, con la base giuridica accanto

I registri di audit contengono indirizzi IP. Un’attività viene eseguita ogni giorno ed elimina tutto ciò che è più vecchio di dodici mesi, con il richiamo alla base giuridica scritto nel commento del codice. È la differenza tra una politica di riservatezza che dice „conserviamo quanto necessario” e un sistema in cui il termine si applica davvero da solo.

Accessibilità verificata automaticamente a ogni consegna

Nella piattaforma civica, la verifica viene eseguita nei test automatici sui criteri WCAG 2.0 A e AA più 2.1 A e AA, con una linea di riferimento per pagina: qualsiasi problema nuovo blocca la consegna, anche se il livello generale non è cambiato. Per un ente pubblico l’accessibilità non è un’opzione d’immagine, e la dichiarazione di accessibilità non si scrive senza aver fatto girare qualcosa.

Dati strutturati che dicono a una macchina che siete un’istituzione

La pagina iniziale pubblica dati strutturati di tipo organizzazione governativa, con l’indirizzo postale. Conta per come appare l’istituzione nei risultati e per i sistemi che leggono automaticamente; è anche una delle poche categorie per cui la documentazione del motore mostra ancora il risultato arricchito con domande frequenti — ma „ben noto e autorevole” non è una casella che spuntiamo noi, quindi non lo vendiamo come deliverable.

Ciò che non facciamo, detto prima della gara d’appalto

Non dichiariamo come consegnato il collegamento con la piattaforma di pagamenti dello Stato, con il bus di interoperabilità o con il gabinetto del cittadino: non abbiamo codice per essi in alcun repository. L’autenticazione federata e la firma elettronica le abbiamo scritte e testate, ma tenute ferme — mancano il contratto con l’autorità e il certificato di sistema. E l’hosting sull’infrastruttura statale, dove è obbligatorio, è un requisito procedurale, non un’opzione tecnica.

Traseul

Come passa una richiesta attraverso il sistema.

01

Mappiamo i requisiti prima del design

La prima consegna è l’elenco delle sezioni obbligatorie per il tuo tipo di istituzione e la loro corrispondenza con ciò che pubblicate oggi. Da qui si vede cosa manca, cosa esiste sulla carta e cosa è pubblicato in un luogo che non si può citare. Il design viene dopo l’elenco, non prima.

02

Separiamo il contenuto editoriale da quello operativo

Ciò che cambia raramente va nella configurazione, ciò che cambia spesso va nel database, con pannello. Consegniamo la struttura completata con i dati reali dell’istituzione — non con testo riempitivo — perché un sito di un’istituzione con contenuto provvisorio non può essere valutato da nessuno e, di solito, resta così.

03

Impostiamo le gate: limite di autenticazione, audit, header, termini

Il limite nel modulo di autenticazione con test che lo verifica, il journal di audit con cancellazione programmata alla scadenza, gli header di sicurezza verificati dall’esterno, la pagina informativa sul trattamento dei dati con le basi legali indicate. Consegniamo l’esito delle verifiche, non solo la configurazione.

04

Consegniamo con formazione per chi pubblica

Consegniamo il repository, il documento di messa in esercizio e gli accessi, oltre a una formazione per la persona che pubblicherà gli annunci. La consegna non si considera conclusa finché un funzionario non ha pubblicato da solo un annuncio che appare sul sito.

1Server web cu antete verificate din exterior2aplicație cu rutele publice și panoul3conținut editorial într-un fișier de configurare, conținutoperațional în bază4jurnal de audit cu ștergere programată la 12 luni
4 straturi

I dati

Cosa tocchiamo, dove risiedono e quanto rimangono

Le regole differiscono da un settore all’altro. Queste sono quelle che si applicano in istituzioni & amministrazione.

I contenuti sono dell’istituzione; noi costruiamo la struttura
I dati sulla località, la composizione del consiglio, i contatti di servizio e il bilancio sono forniti dall’istituzione e restano suoi. I numeri di telefono di servizio e i nomi dei funzionari sono pubblici sul sito dell’istituzione, ma non vengono ripresi nei materiali di marketing — né da noi, né nel portfolio.
Il journal di audit contiene dati personali
L’indirizzo IP nel journal è dato personale. Per questo ha un termine: ogni giorno viene cancellato tutto ciò che è più vecchio di dodici mesi, con la base legale scritta accanto al codice. Il journal conserva l’attore, il suo ruolo, il tipo di evento e se è interno o pubblico — questa separazione conta quando una parte delle registrazioni deve essere mostrata al cittadino.
Cosa viene pubblicato e cosa resta nel dossier interno
Nella piattaforma civica, gli elementi di identificazione — per esempio un numero di immatricolazione — vanno nel dossier verso l’autorità e non compaiono mai pubblicamente; la posizione pubblica è arrotondata; nessuna fotografia arriva sul sito senza una sfocatura approvata da un umano, e chi redige non è chi approva. Le regole sono vincoli nel database, non istruzioni per l’operatore.
I termini di conservazione, con il testo pubblicato accanto
Ogni termine conserva, nella stessa tabella, il testo pubblicato parola per parola e la base legale — media grezza 90 giorni, media redatta 3 anni, identità di chi segnala 3 anni, scansioni di etichetta 12 mesi. La funzione di pulizia riporta implicitamente cosa cancellerebbe; la cancellazione reale richiede un argomento esplicito.
I diritti dell'interessato come percorsi, non come indirizzo e-mail
L’esportazione, la cancellazione e la registrazione delle richieste esistono come funzioni. Un’istituzione che riceve una richiesta di accesso deve poterla soddisfare senza aprire manualmente il database — altrimenti il termine legale si consuma nell’attesa di uno sviluppatore.

Un caso

Un termine di conservazione che si applica da solo, ogni notte

La situazione

Il pannello di amministrazione di un sito di un municipio tiene un registro di audit: chi ha pubblicato, che cosa e quando. Il registro contiene indirizzi IP, quindi contiene dati personali. Quasi tutti i siti di questo tipo risolvono il problema in una frase dell’informativa sulla privacy — “conserviamo i dati per il tempo necessario” — e con questo si conclude.

Cosa abbiamo costruito

Abbiamo scritto il termine come attività programmata: una routine esegue ogni giorno e cancella dal journal tutto ciò che è più vecchio di dodici mesi, con il richiamo alla base legale scritto nel commento sopra il codice. Nella stessa fase abbiamo impostato il limite nel modulo di autenticazione — cinque richieste al minuto dallo stesso indirizzo — e un test automatico che verifica il ritorno del codice 429, così la misura non scompare in silenzio durante un refactoring.

Cosa è emerso

La politica pubblicata e il comportamento del sistema dicono la stessa cosa, e la differenza si può verificare: il termine è una riga di codice che viene eseguita ogni notte, non un’intenzione. Le intestazioni di sicurezza si leggono dall’esterno con una sola richiesta.

Cosa non dice il caso

L’hosting, gli artefatti di pubblicazione e la configurazione del server restano informazioni interne. E i contenuti — i dati sulla località, la composizione del consiglio, il bilancio — appartengono all’istituzione e sono forniti da essa: noi abbiamo costruito la struttura e il pannello, non i dati.

Domande

Cosa chiede qualcuno da istituzioni & amministrazione

Quali sezioni sono obbligatorie e chi verifica?

L’elenco deriva dalla Hotărârea de Guvern 728/2023: trasparenza decisionale, progetti e decisioni, avvisi, documenti, contatti, bilancio, più le pagine di accessibilità e di informazione sul trattamento dei dati. Le costruiamo come struttura fin dall’inizio. Nel lavoro che citiamo, la conformità è scritta nel codice — nei modelli e nella configurazione — non solo dichiarata nell’offerta.

Possiamo pubblicare da soli un avviso, senza chiamarvi?

Sì, e questa è metà del lavoro. Gli avvisi, i progetti di decisione, i documenti e la galleria si modificano dal pannello. Ciò che resta nella configurazione è il contenuto che cambia raramente — storia, geografia, composizione del consiglio — proprio perché una modifica di routine non possa rovinare la struttura.

Chi ha pubblicato un avviso e quando — si può sapere?

Sì. Ogni azione di amministrazione entra in una tabella di audit, con l’attore, il ruolo, il tipo di evento e il momento. Il registro contiene anche l’indirizzo IP, quindi è un dato personale e ha un termine: viene eliminato ogni giorno tutto ciò che è più vecchio di dodici mesi.

Cosa succede se qualcuno prova a indovinare la password del pannello?

Alla sesta richiesta in un minuto dallo stesso indirizzo riceve 429. Non è un’affermazione: un test automatico verifica esattamente questo codice di risposta. Inoltre, le intestazioni di sicurezza nella risposta reale si possono leggere dall’esterno — il divieto di framing, `nosniff`, la politica di referrer, il trasporto sicuro imposto e una politica di contenuto esplicita.

Potete collegare il sito all’autenticazione governativa e alla firma elettronica?

Il codice è scritto e testato, ma disattivato da un interruttore, e il test predefinito verifica proprio che lo stato disattivato non perda nulla. Ciò che manca non è il codice: mancano il contratto con l’autorità e il certificato di sistema. La variante che funziona oggi è che il cittadino firmi sul portale ufficiale e carichi il documento firmato indietro. Preferiamo dirlo prima della gara d’appalto, non dopo.

Ma i pagamenti al bilancio, tramite la piattaforma dello Stato?

Non abbiamo codice per essa, in nessun repository — lo stesso per il bus di interoperabilità e per il gabinetto del cittadino. Lo abbiamo verificato con una ricerca per parola intera in tutti i nostri progetti. Quando un’istituzione ne ha bisogno, è un lavoro di integrazione con le sue proprie condizioni e il suo proprio calendario di accordi, e così lo scriviamo nell’offerta.

Il sito deve essere ospitato sull’infrastruttura dello Stato?

Laddove è obbligatorio per decisione del governo, sì, ed è un requisito di procedura, non una scelta tecnica. Lo trattiamo come tale fin dall’inizio, perché cambia il modo di pubblicazione e l’elenco degli accordi necessari, non solo l’indirizzo del server.

Come dimostrate che il sito è accessibile?

Con una verifica che viene eseguita nei test automatici, sui criteri WCAG 2.0 A e AA più 2.1 A e AA, con una linea di riferimento per pagina: qualsiasi problema nuovo blocca la consegna. La dichiarazione di accessibilità si scrive dopo che la verifica viene eseguita, non prima — altrimenti è un testo che contraddice la pagina su cui si trova.

Cosa succede alle fotografie inviate dai cittadini?

Nella piattaforma civica, la fotografia grezza rimane una prova privata; diventa pubblica solo la versione redatta, con la provenienza preservata e con l’approvazione esplicita di un moderatore, e chi redige non è lo stesso che approva. Se lo stato di un’immagine diventa non sicuro, il dossier viene ritirato automaticamente dal pubblico. Sono vincoli nel database, non istruzioni per l’operatore.

Cosa vorresti che funzionasse meglio?

Raccontaci il tuo processo. Insieme stabiliamo cosa vale la pena costruire, cosa possiamo collegare e come verifichiamo il risultato.

Parliamone