# Formati dei file

A meno che non si scelga una base dati relazionale, &kmymoney; salverà tutte le proprie informazioni finanziarie in un file con estensione `.kmy`. Inoltre, a meno che non si usi un' opzione da riga di comando che specifica diversamente, quando si lancia &kmymoney; sarà riaperto l'ultimo file aperto. È importante sapere che esiste più di un tipo di file in cui &kmymoney; può memorizzare i dati finanziari.

Questo capitolo descrive i formati in cui &kmymoney; memorizza i dati in modo permanente sul dispositivo di archiviazione dell'utente. In generale, &kmymoney; salva le informazioni come documento &XML;. In base al formato effettivo, questo documento &XML; può essere salvato come:

- file di testo semplice, con codifica UTF-8, o

- file compresso con GZIP, o

- file cifrato con la cifratura GPG, o

- file di testo semplice anonimo codificato in UTF-8 senza dati personali.

## File di testo semplice

Questo è il formato supportato che occupa più spazio su disco, perché non viene applicata alcuna compressione. Non è pensato per essere usato normalmente, ma per scopi di debug e per la possibilità di modificare manualmente il file. Se il nome del file ha estensione `.xml` sarà salvato in questo formato.

La modifica manuale del file non è raccomandata agli utenti normali, e dovrebbe essere fatta solo se si conosce il funzionamento interno di &kmymoney; o se gli sviluppatori danno istruzioni precise. Non dare la colpa agli sviluppatori di &kmymoney; se perdi dati: sei stato avvisato!

## File compresso con GZIP

Questo è il formato usato solitamente da &kmymoney; quando si salva un file con l'estensione `.kmy`.

Se è stata selezionata la cifratura, questo file verrà memorizzato in modo cifrato.

Se si vuole vedere il contenuto di un file compresso con GZIP, rinominarlo con l'estensione `.gz` (⪚, da `miefinanze.kmy` a `miefinanze.kmy.gz`) e poi usare `gunzip` per scompattarlo e vedere il contenuto. Non è necessario comprimerlo per caricarlo in &kmymoney; la volta successiva, perché &kmymoney;è in grado di leggere anche i dati non compressi. Comunque, quando lo si salva tornerà ad essere memorizzato in modo compresso. Utilizzare l'estensione `.xml` per scriverlo in formato non compresso.

## File cifrato con GPG

L'uso del formato cifrato con GPG è un modo molto sicuro di archiviare i propri dati finanziari sui dispositivi di memorizzazione. Una volta impostato &kmymoney; per la memorizzazione cifrata dei dati nella finestra di configurazione, cifrerà i dati prima di memorizzarli, utilizzando GPG e la chiave fornita. Quando si apre un file cifrato, si deve inserire la password necessaria per aprire il portachiavi. Il file cifrato sarà memorizzato nel formato &ASCII; con cifratura corazzata di GPG.

Quando si usa la cifratura GPG il file viene anche compresso da GPG, quindi non è necessaria una compressione aggiuntiva.

### Chiavi GPG

Se non l'hai già fatto per la cifratura dei messaggi email, devi generare una coppia di chiavi prima di usare la funzione di cifratura GPG presente in &kmymoney;. È necessario anche avere installato il programma GPG

Questo documento non ha come obiettivo la spiegazione dei dettagli su come generare e generare una coppia di chiavi. Si può trovare una piccola guida passo passo per questo argomento all'indirizzo https://www.gnupg.org/documentation/howtos.it.html.

### Impostazione delle chiavi in &kmymoney;

Nella pagina Cifratura della finestra delle impostazioni, c'è un menu a discesa in cui si può selezionare la chiave da usare per la cifratura e la decifratura. Inoltre, c'è un campo in cui si può inserire l'id di una chiave non presente nel menu a discesa. Si può inserire in questo campo l'id della chiave, l'indirizzo email associato alla chiave o qualsiasi altra identificazione valida di una chiave GPG. Quando si inserisce l'id, &kmymoney; controllerà la sua validità e visualizzerà un semaforo verde nella finestra se viene trovata una chiave.

Assicurarsi di avere sia la chiave pubblica sia quella privata per questo id. Se non si possiede la chiave privata, non si sarà più in grado di aprire il file, una volta salvato.

### La chiave di ripristino di &kmymoney;

In questa pagina di impostazioni è possibile anche selezionare una cifratura supplementare con la chiave di ripristino di &kmymoney;. Questa opzione è disponibile se la chiave è memorizzata nel portachiavi di GPG. Selezionando questa opzione, sarà possibile ripristinare i dati anche se si perde la chiave privata. Questo è possibile perché i dati non vengono cifrati solo con la propria chiave, ma anche con quella di ripristino di &kmymoney;. Questa chiave è disponibile solo ad alcuni sviluppatori di &kmymoney; (al momento della scrittura di questo manuale, solo l'autore). Dal rilascio della versione 4.7 di &kmymoney;, la chiave è stata impostata per scadere il 3 gennaio 2015.

Nelle normali circostanze, si può aprire, salvare e chiudere il file come al solito. In caso di perdita della chiave, si può contattare uno degli sviluppatori che possiede la chiave di ripristino di &kmymoney; e chiedere aiuto per il ripristino dei dati. È possibile contattare gli sviluppatori tramite email scrivendo alla lista di distribuzione degli sviluppatori di &kmymoney;: &devlist;.

## File anonimo

Questo formato non è pensato per la normale archiviazione dei dati. È supportato solo perché, in caso di problemi, puoi fornire alla squadra di sviluppo di &kmymoney; il tuo file, senza svelare i dettagli confidenziali presenti nei tuoi dati finanziari. Ad esempio, i nomi degli istituti, dei beneficiari e dei conti sono sostituiti da stringhe come «I000001» e «A000001». Vengono apportate modifiche simili a tutti i dati, come i numeri dei conti, e modificati in modo casuale gli importi delle transazioni.

Se gli sviluppatori indicano di farlo, usare la voce di menu Salva come... per memorizzare i dati in formato anonimo, selezionando `File anonimi` come filtro. Questo imposta anche l'estensione del file a `.anon.xml`.

Per verificare che il problema persiste, ricarica questo file reso anonimo e prova a replicare il problema. Se il problema rimane, invia il file alla mailing list degli sviluppatori: &devlist;, in modo che venga analizzato. Se il problema non si ripresenta... beh, adesso non ho voglia di pensare a questo caso .