Come nascondere informazioni sensibili da un file di Microsoft Project

Capita più spesso di quanto si pensi: il cliente, o un reparto della tua stessa organizzazione, chiede di ricevere periodicamente il «Gantt» del progetto nel formato nativo di Microsoft Project, il file .mpp. A volte è scritto nel contratto, e non c’è modo di sottrarsi.

Il problema è che quel file non contiene solo le barre. Porta con sé le tariffe orarie del personale, i costi dei subappalti e dei materiali, nomi e cognomi delle persone, le note interne, lo stato di avanzamento e ogni previsione mai salvata. Perché il cliente dovrebbe sapere chi impieghi e quanto ti costa, o fare le pulci ai tuoi margini? Questa guida mostra come nascondere le informazioni sensibili da un file di Microsoft Project, quali sono i punti che la pulizia ovvia non tocca, e come controllare alla fine che siano sparite davvero.

Nascondere non basta: che cosa si porta dietro un .mpp

L’errore più comune è nascondere. Togliere la colonna dei costi da una visualizzazione la toglie dallo schermo, non dal file: lo stesso vale per i filtri, i riepiloghi compressi e le tabelle nascoste. Chi riceve il file rimette la colonna e i valori sono lì. (Per il quadro normativo, cioè perché nomi e tariffe sono dati personali, c’è l’articolo su Microsoft Project e GDPR.)

Questi sono i punti che contengono qualcosa, nell’ordine in cui conviene ripulirli.

DoveChe cosa può rivelareDove si ripulisce
Proprietà del fileTitolo, oggetto, autore, responsabile, società, parole chiave, commenti; le proprietà personalizzate aggiunte da te o da un modelloFile > Informazioni > Informazioni progetto > Proprietà avanzate. Il Titolo è anche il nome che mostra l’attività di riepilogo del progetto
AttivitàNomi che citano clienti, fornitori e prodotti; note; collegamenti ipertestualiIl foglio delle attività e la scheda Note di ciascuna
Campi personalizzatiI valori di Testo, Numero, Costo, Data, Flag e dei codici struttura. E anche il nome del campo e la sua tabella di ricerca, che restano quando tutti i valori sono vuoti: una colonna che si chiama «Cliente» è già un’informazioneClic destro sull’intestazione di una colonna > Campi personalizzati: Rinomina con un nome neutro e svuota la Ricerca
RisorseNomi, Iniziali, Gruppo, Codice, Indirizzo posta elettronica, note. Il calendario di ogni risorsa porta il nome della personaElenco risorse e Informazioni risorsa. Rinominando la risorsa, il suo calendario cambia nome con lei
TariffeLa colonna Tariffa standard mostra una tariffa sola: quella della tabella A, oggi. Le tabelle B, C, D ed E, e gli aumenti con una data futura, restano anche dopo averla svuotataInformazioni risorsa > Costi, una scheda per tabella, da A (Predefinito) a E, con la colonna Data di validità
Previsioni e piani provvisoriFino a 11 previsioni, con costi e lavoro, e fino a 10 piani provvisori di date di inizio e fine: tutto quello che il piano ha promesso nel tempoProgetto > Imposta linea di base > Cancella previsione, una volta per ogni previsione e piano provvisorio usato
Collegamenti ad altri fileUn piano master conserva il percorso di ogni sottoprogetto; un piano che condivide un pool di risorse conserva il percorso del poolInvia un piano che non li ha, o togli i collegamenti prima
Percorsi delle cartelleLe cartelle da cui il file è stato aperto e in cui è stato salvato, che spesso contengono il nome utente di Windows e quello del clienteNessun campo li mostra: la procedura qui sotto li rende neutri
Le righe di tariffe, calendari e percorsi sono state verificate su piani veri con Project desktop; i menu seguono la documentazione Microsoft in italiano.
Schema a due colonne: svuotare Tariffa standard lascia le tabelle dei costi da B a E e gli aumenti futuri; cancellare i valori di Testo1 lascia il nome del campo, per esempio Cliente, e la sua tabella di ricerca; rinominare le attività e fare Salva lascia i nomi vecchi nei byte; Salva con nome dalla solita cartella lascia i percorsi delle cartelle
Quattro casi verificati: a sinistra l’intervento ovvio, a destra ciò che resta nel file.

Lo strumento che in Project non c’è

Se chiedi a un assistente di intelligenza artificiale come ripulire un .mpp, può capitare che ti mandi a File > Informazioni > Verifica della presenza di problemi > Controlla documento. È Controllo documento, e Microsoft lo documenta per Word, Excel, PowerPoint e Visio. Project non è nell’elenco, e nemmeno il suo modello a oggetti prevede uno strumento del genere.

Project ha qualcosa di più limitato: l’opzione per rimuovere le informazioni personali dalle proprietà del file al salvataggio, nel Centro protezione, scheda Opzioni privacy, fra le impostazioni specifiche del documento. Riguarda le proprietà del file, non il piano. Tutto quello che sta dentro il piano è affar tuo.

La procedura, passo per passo

L’ordine conta: alcuni passi cambiano il risultato di quelli successivi.

  1. Copia l’originale in una cartella neutra, con un nome neutro, per esempio C:\Condivisi\piano.mpp. Nelle nostre prove ogni copia fatta con Salva con nome conservava il percorso completo del file da cui era stata aperta e quello della cartella in cui era stata salvata. Aperta e salvata in una cartella neutra, conservava solo quella.
  2. Apri la copia, e non il pool di risorse. Se il piano condivide un pool, apri per primo il file del progetto: il pool si aprirà in sola lettura, e resterà fuori dalle modifiche che stai per fare.
  3. Azzera le tariffe. Nell’Elenco risorse seleziona le celle della colonna Tariffa standard, dalla prima all’ultima, e premi CANC; fai lo stesso con Tariffa straordinario e Costo per uso. Attenzione: seleziona le celle, non l’intestazione della colonna, altrimenti nascondi la colonna e i valori restano. Poi apri Informazioni risorsa > Costi e controlla le schede da B a E e ogni riga della tabella A: un aumento già datato per l’anno prossimo è una seconda riga, e la colonna non lo mostra.
  4. Elimina le assegnazioni. Nel Diagramma di Gantt seleziona tutte le celle della colonna Nomi risorse e premi CANC. Con le assegnazioni spariscono anche i costi delle risorse di tipo Costi, che esistono solo assegnati alle attività.
  5. Azzera l’avanzamento. Fai doppio clic sull’attività di riepilogo del progetto, quella con ID 0, e nella scheda Generale di Informazioni attività porta la % completamento a 0. Sparisce l’avanzamento di tutte le attività, senza ripercussioni sulle barre: provato su un piano con 14 attività avviate, dopo nessuna risultava iniziata.
  6. Rinomina le risorse. E qui casca l’asino: con dieci risorse è un attimo, con cento è un pomeriggio. Il trucco che uso e consiglio evita la macro: in Excel scrivi «Risorsa 1» e «Risorsa 2» in due celle, selezionale e trascina il quadratino in basso a destra per quante risorse ti servono. Poi nell’Elenco risorse filtra la colonna Tipo sulle sole risorse Lavoro, copia da Excel lo stesso numero di celle e incollale nella colonna Nome risorsa partendo dalla prima. Il calendario di ogni risorsa prende il nome nuovo da solo. Restano da svuotare Iniziali, Gruppo, Codice e Indirizzo posta elettronica.
  7. Ripulisci il resto della tabella qui sopra: note, campi personalizzati con il loro nome e la loro tabella di ricerca, previsioni e piani provvisori, proprietà del file. Se azzeri anche lavoro e costi delle attività, imposta prima le attività a Durata fissa: con i tipi predefiniti, togliere il lavoro cambia le durate che volevi tenere.
  8. Accendi l’opzione privacy del Centro protezione, per le informazioni personali nelle proprietà del file. È un’impostazione di questo file, quindi viaggia con lui.
  9. Fai File > Salva con nome, con un nome nuovo nella stessa cartella neutra, e non Salva. Salvare sopra un .mpp che esiste già può lasciare dentro il testo vecchio, invisibile in ogni visualizzazione: su uno dei nostri tre piani di prova i nomi delle attività che avevamo rinominato erano ancora leggibili nel file salvato. Con Salva con nome su un file nuovo, nessuno. Se il piano usa un pool, Project ti chiede se aggiornarlo: rispondi Annulla, altrimenti le modifiche finiscono anche nel pool condiviso.
  10. Chiudi il file nuovo, riaprilo e guarda di nuovo: l’Elenco risorse, la scheda Costi di una risorsa, l’elenco dei campi personalizzati.
  11. Controlla i byte, come nella sezione che segue, cercando le tre o quattro parole che meno vorresti far leggere al cliente.
Finestra di Microsoft Project che chiede se aggiornare il pool di risorse in base alle modifiche apportate nei progetti condivisori aperti, con i pulsanti OK e Annulla
Passo 9: se il piano usa un pool, al salvataggio si risponde Annulla.
Foglio di Excel con una colonna di nomi neutri da Risorsa 1 a Risorsa 15, ottenuta trascinando il quadratino di riempimento
Passo 6: la colonna di nomi neutri preparata in Excel.
Elenco risorse di Microsoft Project con i nomi sostituiti da Risorsa 1 a Risorsa 15 e le colonne Tariffa standard, Tariffa straordinario e Costo per uso a zero
Passo 6: l’Elenco risorse dopo l’incolla, con le tariffe già azzerate.

Controlla che cosa c’è davvero nel file

Le visualizzazioni mostrano quello che Project decide di mostrare. Per sapere se un nome è ancora nel file bisogna cercarlo nel file stesso. Incolla queste righe in Windows PowerShell e metti le tue parole nell’ultima:

function Test-MppText([string]$Path, [string]$Text) {
    $bytes = [IO.File]::ReadAllBytes($Path)
    $all = [Text.Encoding]::Unicode.GetString($bytes) +
           [Text.Encoding]::Unicode.GetString($bytes, 1, $bytes.Length - 1) +
           [Text.Encoding]::Default.GetString($bytes)
    $all.Contains($Text)
}
"Acme", "Rossi", "C:\Users" | ForEach-Object { "$_ : " + (Test-MppText "C:\Condivisi\piano-cliente.mpp" $_) }

Il risultato che vuoi è False per ogni parola. La funzione legge il testo in due modi perché Project salva quasi tutto il testo in UTF-16, due byte per carattere, e una stringa può cominciare su un byte dispari. È anche il motivo per cui il più comodo Select-String -Encoding Unicode non basta: nelle nostre prove non ha trovato un nome di attività che nel file c’era.

Che cosa questa procedura non copre

  • La forma del piano. Durate, date, numero di attività e struttura dicono molto da sole: il cronoprogramma di un’offerta mostra quanto in fretta pensi di costruire.
  • Il nome del file, che scegli tu, e le date di creazione e di ultimo salvataggio, che Project conserva.
  • Visualizzazioni, tabelle, filtri ed eccezioni di calendario a cui hai dato un nome. Quei nomi possono citare un cliente o una persona: guardali prima di inviare.
  • I piani su Project Online o Project Server, i cui campi enterprise seguono altre regole.

E se il cliente deve solo leggere il cronoprogramma, il .mpp è il formato sbagliato: un PDF della visualizzazione, o un’esportazione in Excel delle sole colonne che gli servono, porta con sé molto meno. Il .mpp si ripulisce quando chi lo riceve ci deve davvero lavorare.

Se qualcosa va storto

  • Una tariffa compare ancora dopo che hai svuotato Tariffa standard. Apri Informazioni risorsa > Costi e guarda le tabelle da B a E, e tutte le righe della tabella A: l’aumento dell’anno prossimo è una seconda riga.
  • Il controllo sui byte trova ancora un nome che avevi sostituito. Il file è stato salvato sopra invece che con nome, oppure il nome sta in un punto fuori dalla tabella: una visualizzazione, un filtro, un’eccezione di calendario. Rinominalo e rifai Salva con nome su un nome nuovo.
  • Le durate sono cambiate dopo aver tolto le assegnazioni. Le attività che seguivano il calendario di una risorsa ora si misurano sul calendario del progetto. Confronta le date di fine con l’originale prima di inviare.

Domande frequenti

Microsoft Project ha Controllo documento?

No. Microsoft documenta Controllo documento per Word, Excel, PowerPoint e Visio. Project ha solo l’opzione che rimuove le informazioni personali dalle proprietà del file al salvataggio, e lascia a te il contenuto del piano.

Basta nascondere le colonne dei costi?

No. Una visualizzazione decide che cosa si vede, non che cosa è memorizzato. Chiunque apra il file può rimettere la colonna, e i valori sono lì.

Perché Salva con nome e non Salva?

Perché salvare sopra un .mpp che esiste già può lasciare nel file il testo precedente, dove nessuna visualizzazione lo mostra. Salva con nome su un nome nuovo scrive un file nuovo.

Le schermate sono di una versione vecchia di Project: vale ancora?

Sì. Le schermate vengono dalla prima versione di questo articolo, del 2019; i comandi descritti si trovano negli stessi punti nelle versioni desktop successive, compresa quella di Microsoft 365. Le verifiche su tariffe, calendari, salvataggio e percorsi sono state rifatte nel settembre 2026.

Questo articolo fa parte della guida Il piano che regge: le buone pratiche di Microsoft Project.


Trasparenza: oltre alla consulenza di pianificazione e controllo sviluppo anche software di project control, e il paragrafo che segue va letto per quello che è. Nulla della procedura descritta sopra richiede il nostro strumento, né alcuno strumento: bastano Microsoft Project, un foglio di Excel e qualche riga di PowerShell.

Se lo fai ogni mese, GanttShield applica una parte di questo elenco a una copia del piano in un solo passaggio: rinomina attività e risorse, svuota le note delle attività e le proprietà del documento, toglie tariffe, costi e tutte e undici le previsioni, e non tocca mai l’originale. Nella copia .mpp non copre ogni riga della tabella — i campi di testo personalizzati, i piani provvisori e i percorsi delle cartelle fra gli altri. Dalla versione 1.2.0 può anche scrivere la copia in XML di Project, senza Microsoft Project: quell’uscita svuota anche i campi personalizzati (Testo1–30, Data1–10, Inizio e Fine1–10, dove stanno i piani provvisori, Durata1–10, Flag1–20) e i loro nomi, e non porta percorsi di cartella. In tutti e due i casi il controllo sui byte resta valido.

#MicrosoftProject #ProjectManagement #GDPR #MSProject

Lascia un commento