summaryrefslogtreecommitdiffstats
path: root/content/it/hardenedpass
diff options
context:
space:
mode:
Diffstat (limited to 'content/it/hardenedpass')
-rw-r--r--content/it/hardenedpass/_index.md33
-rw-r--r--content/it/hardenedpass/reference/_index.md8
-rw-r--r--content/it/hardenedpass/reference/security/index.md60
-rw-r--r--content/it/hardenedpass/reference/settings/index.md65
-rw-r--r--content/it/hardenedpass/reference/troubleshooting/index.md84
-rw-r--r--content/it/hardenedpass/using/autofill/index.md5
-rw-r--r--content/it/hardenedpass/using/sync/index.md2
7 files changed, 232 insertions, 25 deletions
diff --git a/content/it/hardenedpass/_index.md b/content/it/hardenedpass/_index.md
index b3421a0..ab4e027 100644
--- a/content/it/hardenedpass/_index.md
+++ b/content/it/hardenedpass/_index.md
@@ -1,12 +1,37 @@
+++
title = "HardenedPass"
date = 2026-11-05T00:00:00Z
-description = ""
+description = "HardenedPass è un client Android per pass, il gestore di password standard di Unix: file cifrati con OpenPGP in un repository git, senza Google Play Services e senza telemetria."
draft = true
+++
-Placeholder.
+{{< image src="/uppies/2026/11/hardenedpass-banner.png" alt="Il banner di HardenedPass: un lucchetto a forma di scudo attraversato da un ramo git, accanto al nome dell'app." />}}
-## First heading
+Tengo le mie password in [pass](https://www.passwordstore.org/): semplici file, cifrati con
+OpenPGP, in un repository git che ospito io. Sul telefono usavo Android Password Store, finché
+non è stato archiviato a ottobre 2024. Il mio telefono usa GrapheneOS, volevo un client di cui
+fidarmi lì, e non avevo voglia di andare a cercare un gestore di password con il suo cloud.
+Così ne ho fatto un fork.
-Text.
+HardenedPass riparte dall'ultimo commit di upstream. L'obiettivo è semplice: funzionare in modo
+impeccabile su GrapheneOS, senza Google Play Services e senza telemetria. Tutto il merito del
+lavoro originale va agli autori di Android Password Store.
+
+## Cosa cambia rispetto a upstream
+
+- Legge quello che scrive il GnuPG moderno. Upstream rifiutava i messaggi OCB che GnuPG 2.3 e
+ successivi producono di default.
+- Rifiuta in fase di importazione le chiavi senza sottochiave di cifratura.
+- Librerie crittografiche aggiornate, che risolvono vulnerabilità note.
+- Le altre app non possono più raggiungere la schermata di decifratura con percorsi arbitrari.
+- Niente report di crash, niente Google Play Services, un'unica build FOSS.
+- Una nuova interfaccia, fatta con Jetpack Compose.
+- Un application ID tutto suo: si installa accanto a upstream, non sopra.
+
+## Da dove partire
+
+- Non hai mai usato `pass`? Parti da [Concetti]({{< relref "/hardenedpass/getting-started/concepts" >}}).
+- Hai già un archivio? [Installa]({{< relref "/hardenedpass/getting-started/install" >}}) l'app, poi [collegala]({{< relref "/hardenedpass/getting-started/connect" >}}).
+
+Il codice è su [GitHub](https://github.com/danixland/HardenedPass), sotto licenza GPL-3.0.
+Bug e idee vanno sul [tracker](https://github.com/danixland/HardenedPass/issues).
diff --git a/content/it/hardenedpass/reference/_index.md b/content/it/hardenedpass/reference/_index.md
index 9c2811b..5b27491 100644
--- a/content/it/hardenedpass/reference/_index.md
+++ b/content/it/hardenedpass/reference/_index.md
@@ -1,13 +1,9 @@
+++
title = "Riferimento"
date = 2026-11-05T00:00:00Z
-description = ""
+description = "Le pagine di riferimento di HardenedPass: ogni impostazione, il modello di sicurezza e le soluzioni agli errori più comuni."
weight = 30
draft = true
+++
-Placeholder.
-
-## First heading
-
-Text.
+Consulta queste pagine quando ti servono. Non c'è bisogno di leggerle in ordine.
diff --git a/content/it/hardenedpass/reference/security/index.md b/content/it/hardenedpass/reference/security/index.md
index 7b8cd2b..aef0f43 100644
--- a/content/it/hardenedpass/reference/security/index.md
+++ b/content/it/hardenedpass/reference/security/index.md
@@ -1,13 +1,65 @@
+++
title = "Sicurezza"
date = 2026-11-05T00:00:00Z
-description = ""
+description = "Cosa protegge HardenedPass, dove sta ogni segreto, cosa invia in rete e quali minacce non copre."
weight = 100
draft = true
+++
-Placeholder.
+Questa pagina dice cosa fa l'app per te e, altrettanto importante, cosa non fa.
-## First heading
+## Dove stanno i tuoi segreti
-Text.
+| Segreto | Dove sta | Come è protetto |
+|---|---|---|
+| Voci | File nella memoria privata dell'app e sul tuo server git | OpenPGP, come `pass` su un computer |
+| Chiave privata OpenPGP | Memoria privata dell'app | La sua passphrase |
+| Passphrase della chiave | Da nessuna parte, a meno che attivi la memorizzazione | Se memorizzata: AES-GCM con una chiave Android Keystore |
+| Password di git e del proxy | Memoria privata dell'app, se le fai ricordare | AES-GCM con una chiave Android Keystore |
+| Chiave SSH creata sul telefono | Android Keystore | Il sistema, più il blocco schermo se lo richiedi |
+| Chiave SSH importata | Memoria privata dell'app | La sua passphrase, se ne ha una |
+
+Le chiavi di Android Keystore sono custodite dal sistema e non si possono copiare fuori dal
+telefono, nemmeno dall'app che le usa.
+
+## Cosa fa l'app
+
+- **Nessuna telemetria.** Niente analytics, niente report di crash, niente Google Play
+ Services. L'app si collega solo al server git che hai configurato, e al proxy se ne
+ hai impostato uno.
+- **Blocca gli screenshot dei segreti.** Voci, editor, generatore, finestre della
+ passphrase e finestre della compilazione automatica non si possono catturare con uno
+ screenshot e non appaiono tra le app recenti.
+- **Pulisce gli appunti.** Una password copiata viene rimossa dopo un timeout.
+- **Controlla il server SSH.** La chiave host del server viene salvata alla prima
+ connessione e controllata in seguito. La prima connessione viene accettata senza
+ chiedere, quindi falla da una rete di cui ti fidi.
+- **Si fida solo dei browser noti.** La compilazione automatica funziona solo nei browser
+ di cui l'app riconosce il certificato di firma, e ti avvisa se l'editore di un'app
+ cambia. Vedi [Autofill]({{< relref "/hardenedpass/using/autofill" >}}).
+- **Rifiuta i file esterni.** Altre app possono aprire l'app, ma questa apre solo percorsi
+ che stanno davvero dentro il tuo archivio.
+
+## Da cosa l'app non ti protegge
+
+- **Un telefono compromesso.** Un malware che controlla un telefono sbloccato vede quello
+ che vedi tu. Tieni aggiornato il sistema.
+- **La tua tastiera.** Un'app tastiera vede tutto quello che digiti, passphrase compresa.
+ Usane una di cui ti fidi, senza accesso alla rete se il sistema lo permette.
+- **Altre app che leggono gli appunti** prima che scada il timeout. La compilazione
+ automatica evita del tutto gli appunti.
+- **Una passphrase debole.** Se qualcuno ottiene il file della chiave, la passphrase è
+ tutto quello che resta.
+- **Il server git che vede i nomi.** I nomi di voci e cartelle sono nomi di file, non sono
+ cifrati, quindi il server li può leggere, insieme alle date dei commit.
+- **Il blocco biometrico come cifratura.** **Abilita autenticazione biometrica** è un
+ cancello all'avvio dell'app. Ferma chi ha in mano per un attimo il tuo telefono sbloccato,
+ ma non cifra nulla.
+- **La perdita della chiave.** Nessuno può recuperare un archivio senza chiave privata e
+ passphrase.
+
+## Memorizzare la passphrase
+
+È comodo, ma finché la passphrase è memorizzata chiunque entri nell'app sbloccata può aprire
+ogni voce. La funzione è sperimentale. Se la usi, attiva anche **Cancella automaticamente le
+frasi segrete memorizzate**.
diff --git a/content/it/hardenedpass/reference/settings/index.md b/content/it/hardenedpass/reference/settings/index.md
index c21dade..d0f8733 100644
--- a/content/it/hardenedpass/reference/settings/index.md
+++ b/content/it/hardenedpass/reference/settings/index.md
@@ -1,13 +1,70 @@
+++
title = "Impostazioni"
date = 2026-11-05T00:00:00Z
-description = ""
+description = "Ogni impostazione di HardenedPass e cosa fa, sezione per sezione: generale, autofill, password, repository, varie e PGP."
weight = 90
draft = true
+++
-Placeholder.
+Apri **Impostazioni** dai tre puntini nella barra di ricerca dell'elenco, o dalla
+schermata di benvenuto. Le impostazioni sono divise in sei sezioni.
-## First heading
+## Generale
-Text.
+| Impostazione | Cosa fa |
+|---|---|
+| **Tema dell'App** | Chiaro, scuro, o secondo il risparmio energetico. |
+| **Organizzazione dei file delle password** | Come la compilazione automatica nomina i file che salva, per esempio `work/example.org.gpg` o `work/example.org/alice@example.org.gpg`. |
+| **Ordine password** | Prima le cartelle, oppure prima le usate di recente. |
+| **Disattiva la sincronizzazione trascinando** | Il gesto di trascinare in basso l'elenco non avvia più una sincronizzazione. |
+| **Filtro ricorsivo** | La ricerca guarda anche nelle cartelle sotto quella corrente. |
+| **Apri ricerca all'avvio** | Apre la barra di ricerca all'avvio dell'app. |
+| **Mostra tutti i file e cartelle** | Elenca anche i file che non sono password. |
+| **Abilita autenticazione biometrica** | Chiede l'impronta all'avvio dell'app. In [Sicurezza]({{< relref "/hardenedpass/reference/security" >}}) trovi cosa protegge e cosa no. |
+
+## Autofill
+
+| Impostazione | Cosa fa |
+|---|---|
+| **Attiva la compilazione automatica** | Rende HardenedPass il servizio di compilazione automatica. Vedi [Autofill]({{< relref "/hardenedpass/using/autofill" >}}). |
+| **Nome utente predefinito** | Usato quando la compilazione automatica non trova un nome utente nella voce o nel suo percorso. |
+| **Domini personalizzati** | Domini i cui sottodomini vengono trattati come siti separati. |
+
+## Password
+
+| Impostazione | Cosa fa |
+|---|---|
+| **Tipo di generatore di password** | Il generatore che si apre per primo: Classic (la scheda Casuale) o Diceware. |
+| **Timeout copia della password** | Per quanti secondi una password copiata resta negli appunti, 45 di default. 0 significa per sempre. |
+| **Mostra la password** | Se una password decifrata è subito visibile. La copia funziona anche quando è nascosta. |
+| **Copia automaticamente la password** | Copia la password appena una voce viene decifrata. |
+
+## Repository
+
+| Impostazione | Cosa fa |
+|---|---|
+| **Rebase al pull** | Attivo, i tuoi commit locali vanno sopra quelli del server. Spento, viene creato un merge commit. Attivo di default. |
+| **Modifica impostazioni del server di Git** | Cambia l'URL del repository e il modo di accedere. |
+| **Impostazioni proxy HTTP(S)** | Imposta un proxy. Appare solo per i remote HTTPS. |
+| **Configurazione Git locale e utilità** | Nome ed email dei commit, cronologia e gli strumenti di recupero descritti in [Sincronizzazione]({{< relref "/hardenedpass/using/sync" >}}). |
+| **Importa chiave SSH** | Legge una chiave SSH privata da un file. |
+| **Genera coppia di chiavi SSH** | Crea una nuova chiave SSH sul telefono. |
+| **Visualizza la chiave SSH pubblica generata** | Mostra la metà pubblica, da aggiungere al server. |
+| **Elimina repository** | Elimina la copia locale dell'archivio. Quella sul server non viene toccata, ma i commit locali non sincronizzati vanno persi. |
+
+## Varie
+
+| Impostazione | Cosa fa |
+|---|---|
+| **Esporta password** | Copia l'archivio, sempre cifrato, in una cartella a tua scelta. |
+| **Aggira la cronologia degli appunti** | Sui telefoni con una cronologia degli appunti, la riempie di numeri per farne uscire le password. |
+| **Registrazione di debug** | Attiva i log di debug, dopo un riavvio dell'app. Solo nelle build di release. |
+
+## Impostazioni PGP
+
+| Impostazione | Cosa fa |
+|---|---|
+| **Gestione chiavi** | Elenca le chiavi importate, ne importa di nuove ed elimina le vecchie. |
+| **Cifra in formato ASCII armor** | Scrive le voci come testo invece che in binario. Lascialo spento se non sai di averne bisogno. |
+| **Memorizza le frasi segrete** | Ricorda la passphrase della chiave, così le voci si aprono senza chiederla. Sperimentale, e richiede un blocco schermo attivo. |
+| **Cancella automaticamente le frasi segrete memorizzate** | Dimentica la passphrase allo spegnimento dello schermo. |
diff --git a/content/it/hardenedpass/reference/troubleshooting/index.md b/content/it/hardenedpass/reference/troubleshooting/index.md
index c87671c..43253b9 100644
--- a/content/it/hardenedpass/reference/troubleshooting/index.md
+++ b/content/it/hardenedpass/reference/troubleshooting/index.md
@@ -1,13 +1,89 @@
+++
title = "Risoluzione dei problemi"
date = 2026-11-05T00:00:00Z
-description = ""
+description = "Gli errori più comuni di HardenedPass, cosa significano e come risolverli: passphrase, chiavi, SSH, push rifiutato, detached HEAD, autofill."
weight = 110
draft = true
+++
-Placeholder.
+I messaggi qui sotto sono riportati in inglese, come nel codice dell'app. Con l'app in
+italiano ne vedi la traduzione.
-## First heading
+## Chiavi e passphrase
-Text.
+**L'app chiede di nuovo la passphrase e dice che è sbagliata.** La passphrase non
+corrisponde alla chiave privata. Se hai cambiato la passphrase della chiave su un computer,
+l'app vuole quella nuova. Con la memorizzazione attiva, la richiede e sostituisce il vecchio
+valore.
+
+**`Failed to import PGP key`.** Il file non è una chiave che l'app può usare. Le chiavi senza
+una sottochiave di cifratura vengono rifiutate, perché non potrebbero decifrare nulla.
+Controlla di aver esportato la chiave **privata**, con `gpg --armor --export-secret-keys`.
+
+**Una voce non si apre e nessuna chiave corrisponde.** L'archivio è cifrato per una chiave
+non importata. Confronta **Destinatari dell'archivio** nella schermata di importazione, o il
+file `.gpg-id`, con le chiavi in **Gestione chiavi**. Una chiave pubblica da sola non può
+decifrare: importa quella privata.
+
+**La chiave sta su una smartcard.** Per una chiave così GnuPG esporta uno stub, senza alcun
+materiale segreto. Con quello l'app non può decifrare: serve la vera chiave privata.
+
+**`Found .gpg-id, but it contains an invalid key ID, fingerprint or user ID`.** Il file
+`.gpg-id` contiene qualcosa che l'app non capisce. Controllalo su un computer: un ID chiave,
+fingerprint o indirizzo per riga.
+
+## Connessione
+
+**`The provided repository URL is not valid`.** Guarda le forme di indirizzo in
+[Collega l'app]({{< relref "/hardenedpass/getting-started/connect" >}}).
+
+**`Wrong password` o `Wrong passphrase`.** Riguarda la password del repository o la passphrase
+di una chiave SSH. Molti servizi di hosting vogliono un token di accesso invece della password
+dell'account.
+
+**`Selected file does not appear to be an SSH private key`.** Hai scelto la chiave pubblica,
+o un file in un altro formato. Scegli il file senza `.pub`.
+
+**La sincronizzazione fallisce dopo che il server è stato reinstallato o spostato.** La sua
+chiave host è cambiata. Se sei sicuro del motivo, usa **Cancella la chiave host salvata**
+nella schermata del repository, in **Modifica impostazioni del server di Git**. Se non lo sei,
+consideralo un attacco finché non ne sai di più.
+
+**L'accesso SSH viene rifiutato.** Controlla che la chiave pubblica sia sul server, per
+l'account giusto. **Visualizza la chiave SSH pubblica generata** la mostra per una chiave
+creata sul telefono.
+
+## Sincronizzazione
+
+**`Push was rejected by remote, run pull before pushing again`.** Il server ha commit che tu
+non hai. Usa **Sincronizza repository**, che fa pull e poi push.
+
+**`Pull has failed, you're in a detached head`.** Un conflitto ha fermato il rebase. I passi
+sono in [Sincronizzazione]({{< relref "/hardenedpass/using/sync" >}}).
+
+**`Merge has failed, you're in a conflicting state`.** Lo stesso conflitto, con **Rebase al
+pull** spento. La via d'uscita è l'hard reset descritto in
+[Sincronizzazione]({{< relref "/hardenedpass/using/sync" >}}), dopo aver salvato ciò che ti
+serve.
+
+**`The repository must be cloned before syncing changes`.** L'archivio sul telefono non ha un
+remote. Impostane uno in **Modifica impostazioni del server di Git** e clonalo.
+
+## Autofill
+
+**Non appare nessun suggerimento.** Controlla che HardenedPass sia il servizio di compilazione
+automatica scelto nelle impostazioni di Android, e che il browser sia nell'elenco in
+[Autofill]({{< relref "/hardenedpass/using/autofill" >}}).
+
+**Viene compilata solo la password.** È il livello di supporto del browser, come per Vanadium.
+
+**`This app is currently not supported`.** Da lì l'app non può salvare. Puoi comunque
+aggiungere la voce a mano.
+
+**Non succede nulla dopo aver toccato Salva.** Android 14 e successivi trattengono le finestre
+in background, e l'app ha un rimedio: aggiorna all'ultima versione.
+
+## Ancora bloccato?
+
+Apri una segnalazione sul [tracker](https://github.com/danixland/HardenedPass/issues). Indica
+quale versione usi e cosa hai fatto. Non incollare mai password, chiavi o nomi di voci reali.
diff --git a/content/it/hardenedpass/using/autofill/index.md b/content/it/hardenedpass/using/autofill/index.md
index eb9b4e0..f14113a 100644
--- a/content/it/hardenedpass/using/autofill/index.md
+++ b/content/it/hardenedpass/using/autofill/index.md
@@ -11,7 +11,7 @@ app e nei browser, senza bisogno di copiare nulla.
## Attivala
-Apri **Impostazioni** e attiva **Attiva la compilazione automatica**. L'app spiega cosa
+Apri **Impostazioni**, poi **Autofill**, e attiva **Attiva la compilazione automatica**. L'app spiega cosa
succederà ed elenca i browser installati con il livello di supporto di ciascuno. Tocca
OK, scegli HardenedPass nelle impostazioni di compilazione automatica di Android e
conferma.
@@ -54,7 +54,8 @@ password già compilati. Salva lì la voce, poi ricordati di
[sincronizzare]({{< relref "/hardenedpass/using/sync" >}}).
Firefox mostra anche una sua richiesta di salvataggio. Quella è del gestore di password di
-Firefox, non di HardenedPass, e puoi ignorarla.
+Firefox, non di HardenedPass, e puoi ignorarla. Per non vederla più, disattiva il salvataggio
+delle password nelle impostazioni di Firefox: resta solo la richiesta di HardenedPass.
## L'avviso di phishing
diff --git a/content/it/hardenedpass/using/sync/index.md b/content/it/hardenedpass/using/sync/index.md
index 7a2e1de..d931c00 100644
--- a/content/it/hardenedpass/using/sync/index.md
+++ b/content/it/hardenedpass/using/sync/index.md
@@ -32,7 +32,7 @@ può scegliere un vincitore. L'app usa di default un rebase (**Rebase al pull**)
sincronizzazione si ferma con un errore che dice che il pull non è riuscito e che sei in
detached HEAD. Il tuo lavoro non è perso.
-Apri **Impostazioni**, poi **Configurazione Git locale e utilità**. Hai due vie d'uscita:
+Apri **Impostazioni**, poi **Repository**, poi **Configurazione Git locale e utilità**. Hai due vie d'uscita:
### Tieni le tue modifiche