diff options
Diffstat (limited to 'content')
| -rw-r--r-- | content/en/hardenedpass/_index.md | 33 | ||||
| -rw-r--r-- | content/en/hardenedpass/reference/_index.md | 8 | ||||
| -rw-r--r-- | content/en/hardenedpass/reference/security/index.md | 59 | ||||
| -rw-r--r-- | content/en/hardenedpass/reference/settings/index.md | 65 | ||||
| -rw-r--r-- | content/en/hardenedpass/reference/troubleshooting/index.md | 76 | ||||
| -rw-r--r-- | content/en/hardenedpass/using/autofill/index.md | 5 | ||||
| -rw-r--r-- | content/en/hardenedpass/using/sync/index.md | 2 | ||||
| -rw-r--r-- | content/it/hardenedpass/_index.md | 33 | ||||
| -rw-r--r-- | content/it/hardenedpass/reference/_index.md | 8 | ||||
| -rw-r--r-- | content/it/hardenedpass/reference/security/index.md | 60 | ||||
| -rw-r--r-- | content/it/hardenedpass/reference/settings/index.md | 65 | ||||
| -rw-r--r-- | content/it/hardenedpass/reference/troubleshooting/index.md | 84 | ||||
| -rw-r--r-- | content/it/hardenedpass/using/autofill/index.md | 5 | ||||
| -rw-r--r-- | content/it/hardenedpass/using/sync/index.md | 2 |
14 files changed, 455 insertions, 50 deletions
diff --git a/content/en/hardenedpass/_index.md b/content/en/hardenedpass/_index.md index b3421a0..6175565 100644 --- a/content/en/hardenedpass/_index.md +++ b/content/en/hardenedpass/_index.md @@ -1,12 +1,37 @@ +++ title = "HardenedPass" date = 2026-11-05T00:00:00Z -description = "" +description = "HardenedPass is an Android client for pass, the standard Unix password manager: OpenPGP-encrypted files in a git repository, no Google Play Services, no telemetry." draft = true +++ -Placeholder. +{{< image src="/uppies/2026/11/hardenedpass-banner.png" alt="The HardenedPass banner: a shield-shaped padlock with a git branch cut through it, next to the app's name." />}} -## First heading +I keep my passwords in [pass](https://www.passwordstore.org/): plain files, encrypted +with OpenPGP, in a git repository I host myself. On the phone I used Android Password +Store, until it was archived in October 2024. My phone runs GrapheneOS, I wanted a +client I could trust there, and I did not want to go shopping for a password manager +with a cloud. So I forked it. -Text. +HardenedPass picks up from upstream's last commit. The goal is simple: work flawlessly +on GrapheneOS, with no Google Play Services and no telemetry. All the credit for the +original work goes to the Android Password Store authors. + +## What is different from upstream + +- Reads what modern GnuPG writes. Upstream rejected the OCB messages GnuPG 2.3 and later + produce by default. +- Rejects keys that have no encryption subkey when you import them. +- Updated cryptography libraries, fixing known advisories. +- Other apps can no longer reach the decrypt screen with arbitrary file paths. +- No crash reporting, no Google Play Services, one single FOSS build. +- A new interface, built with Jetpack Compose. +- Its own application ID: it installs next to upstream instead of over it. + +## Where to start + +- Never used `pass`? Start with [Concepts]({{< relref "/hardenedpass/getting-started/concepts" >}}). +- Have a store already? [Install]({{< relref "/hardenedpass/getting-started/install" >}}) the app, then [connect it]({{< relref "/hardenedpass/getting-started/connect" >}}). + +The code is on [GitHub](https://github.com/danixland/HardenedPass), under the GPL-3.0. +Bugs and ideas go on the [issue tracker](https://github.com/danixland/HardenedPass/issues). diff --git a/content/en/hardenedpass/reference/_index.md b/content/en/hardenedpass/reference/_index.md index 9a07df6..7b14a54 100644 --- a/content/en/hardenedpass/reference/_index.md +++ b/content/en/hardenedpass/reference/_index.md @@ -1,13 +1,9 @@ +++ title = "Reference" date = 2026-11-05T00:00:00Z -description = "" +description = "Reference pages for HardenedPass: every setting, the security model and fixes for common errors." weight = 30 draft = true +++ -Placeholder. - -## First heading - -Text. +Look things up here when you need them. There is no need to read these pages in order. diff --git a/content/en/hardenedpass/reference/security/index.md b/content/en/hardenedpass/reference/security/index.md index 0c1ba30..c865c1d 100644 --- a/content/en/hardenedpass/reference/security/index.md +++ b/content/en/hardenedpass/reference/security/index.md @@ -1,13 +1,64 @@ +++ title = "Security" date = 2026-11-05T00:00:00Z -description = "" +description = "What HardenedPass protects, where each secret lives, what it sends over the network and which threats it does not cover." weight = 100 draft = true +++ -Placeholder. +This page says what the app does for you and, just as important, what it does not do. -## First heading +## Where your secrets live + +| Secret | Where it is | How it is protected | +|---|---|---| +| Entries | Files in the app's private storage, and on your git server | OpenPGP, the same as `pass` on a computer | +| OpenPGP private key | The app's private storage | Its own passphrase | +| Key passphrase | Nowhere, unless you enable caching | If cached: AES-GCM under an Android Keystore key | +| Git and proxy passwords | The app's private storage, if you tell it to remember them | AES-GCM under an Android Keystore key | +| SSH key made on the phone | Android Keystore | The system, plus your screen lock if you ask for it | +| SSH key you imported | The app's private storage | Its own passphrase, if it has one | + +Android Keystore keys are held by the system and cannot be copied out of the phone, even +by the app that uses them. + +## What the app does + +- **No telemetry.** No analytics, no crash reports, no Google Play Services. The app + only connects to the git server you configured, and to your proxy if you set one. +- **Blocks screenshots of secrets.** Entries, the editor, the generator, passphrase + dialogs and autofill windows cannot be captured by screenshots, and do not appear in + the recent apps view. +- **Clears the clipboard.** A copied password is removed after a timeout. +- **Checks the SSH server.** The server's host key is saved on first connection and + checked after that. The first connection is trusted without asking, so make it on a + network you trust. +- **Trusts known browsers only.** Autofill works only in browsers whose signing + certificate the app recognizes, and warns you if an app's publisher changes. See + [Autofill]({{< relref "/hardenedpass/using/autofill" >}}). +- **Refuses outside files.** Other apps can open the app, but it only opens paths that + really are inside your store. + +## What the app does not protect you from + +- **A compromised phone.** Malware that controls an unlocked phone can see what you + see. Keep the system up to date. +- **Your keyboard.** A keyboard app sees everything you type, the passphrase included. + Use one you trust, with network access off if your system allows that. +- **Other apps reading the clipboard** before the timeout runs out. Autofill avoids the + clipboard altogether. +- **A weak passphrase.** If someone gets your key file, the passphrase is all that is + left. +- **Your git server seeing names.** Entry and folder names are file names, and they are + not encrypted, so the server can read them, along with the dates of your commits. +- **Biometric lock as encryption.** **Enable biometric authentication** is a gate at app + start. It keeps out someone holding your unlocked phone for a moment, and it does not + encrypt anything. +- **Losing your key.** No one can recover a store without its private key and passphrase. + +## Passphrase caching + +Caching is convenient, but while the passphrase is cached, anyone who gets into the +unlocked app can open every entry. It is experimental. If you use it, turn on +**Automatically clear passphrase cache** as well. -Text. diff --git a/content/en/hardenedpass/reference/settings/index.md b/content/en/hardenedpass/reference/settings/index.md index 81a68ad..d856f93 100644 --- a/content/en/hardenedpass/reference/settings/index.md +++ b/content/en/hardenedpass/reference/settings/index.md @@ -1,13 +1,70 @@ +++ title = "Settings" date = 2026-11-05T00:00:00Z -description = "" +description = "Every HardenedPass setting and what it does, section by section: general, autofill, passwords, repository, misc and PGP." weight = 90 draft = true +++ -Placeholder. +Open **Settings** from the three dots in the list's search bar, or from the welcome +screen. Settings are grouped in six sections. -## First heading +## General -Text. +| Setting | What it does | +|---|---| +| **App theme** | Light, dark or following the battery saver. | +| **Password file organization** | How autofill names the files it saves, for example `work/example.org.gpg` or `work/example.org/alice@example.org.gpg`. | +| **Password sort order** | Folders first, or recently used first. | +| **Disable pull to sync action** | Stops the pull down gesture on the list from starting a sync. | +| **Recursive filtering** | Search also looks inside the folders below the current one. | +| **Open search on start** | Opens the search bar when the app starts. | +| **Show all files and folders** | Lists files that are not passwords as well. | +| **Enable biometric authentication** | Asks for your fingerprint when the app starts. See [Security]({{< relref "/hardenedpass/reference/security" >}}) for what this does and does not protect. | + +## Autofill + +| Setting | What it does | +|---|---| +| **Enable Autofill** | Makes HardenedPass the autofill service. See [Autofill]({{< relref "/hardenedpass/using/autofill" >}}). | +| **Default username** | Used when autofill cannot find a username in the entry or its path. | +| **Custom domains** | Domains whose subdomains autofill treats as separate sites. | + +## Passwords + +| Setting | What it does | +|---|---| +| **Password generator type** | The generator that opens first: Classic (the Random tab) or Diceware. | +| **Password copy timeout** | Seconds a copied password stays in the clipboard, 45 by default. 0 means forever. | +| **Show the password** | Whether a decrypted password is visible right away. Copying still works when it is hidden. | +| **Automatically copy password** | Copies the password as soon as an entry is decrypted. | + +## Repository + +| Setting | What it does | +|---|---| +| **Rebase on pull** | On, your local commits go on top of the server's. Off, a merge commit is made instead. On by default. | +| **Edit Git server settings** | Changes the repository URL and how you log in. | +| **HTTP(S) proxy settings** | Sets a proxy. Shown for HTTPS remotes only. | +| **Local Git config & utilities** | Commit name and email, commit log, and the recovery tools described in [Sync]({{< relref "/hardenedpass/using/sync" >}}). | +| **Import SSH key** | Reads a private SSH key from a file. | +| **Generate SSH key pair** | Makes a new SSH key on the phone. | +| **View generated public SSH key** | Shows the public half, to add to your server. | +| **Delete repository** | Deletes the local copy of the store. The server's copy is not touched, and neither are local commits you did not sync: those are gone. | + +## Misc + +| Setting | What it does | +|---|---| +| **Export passwords** | Copies the store, still encrypted, to a folder you choose. | +| **Workaround clipboard history feature** | On phones with a clipboard history, fills it with numbers to push passwords out. | +| **Debug logging** | Turns on debug logs, after an app restart. Release builds only. | + +## PGP settings + +| Setting | What it does | +|---|---| +| **Key manager** | Lists imported keys, imports new ones and deletes old ones. | +| **Encrypt in ASCII armor mode** | Writes entries as text instead of binary. Leave it off unless you know you need it. | +| **Enable passphrase caching** | Remembers the key's passphrase, so that entries open without asking. Experimental, and needs an active screen lock. | +| **Automatically clear passphrase cache** | Forgets the passphrase when the screen turns off. | diff --git a/content/en/hardenedpass/reference/troubleshooting/index.md b/content/en/hardenedpass/reference/troubleshooting/index.md index 4221c83..3dfce92 100644 --- a/content/en/hardenedpass/reference/troubleshooting/index.md +++ b/content/en/hardenedpass/reference/troubleshooting/index.md @@ -1,13 +1,81 @@ +++ title = "Troubleshooting" date = 2026-11-05T00:00:00Z -description = "" +description = "Common HardenedPass errors, what they mean and how to fix them: passphrase, keys, SSH, push rejected, detached head, autofill." weight = 110 draft = true +++ -Placeholder. +## Keys and passphrases -## First heading +**The app asks for the passphrase again and says it is wrong.** The passphrase does not +match the private key. If you changed the key's passphrase on a computer, the app +needs the new one. If caching is on, it asks again and replaces the old value. -Text. +**`Failed to import PGP key`.** The file is not a key the app can use. Keys without an +encryption subkey are rejected, because they could not decrypt anything. Check that you +exported the **private** key, with `gpg --armor --export-secret-keys`. + +**An entry will not open and no key matches.** The store is encrypted for a key that is +not imported. Compare **Store recipients** on the import screen, or the `.gpg-id` file, +with the keys in **Key manager**. A public key alone cannot decrypt: import the private +one. + +**The key is on a smartcard.** GnuPG exports a stub for such a key, with no secret +material in it. The app cannot decrypt with that. It needs the real private key. + +**`Found .gpg-id, but it contains an invalid key ID, fingerprint or user ID`.** The +`.gpg-id` file has something the app does not understand. Check it on a computer: one +key ID, fingerprint or address per line. + +## Connecting + +**`The provided repository URL is not valid`.** See the address forms in +[Connect the app]({{< relref "/hardenedpass/getting-started/connect" >}}). + +**`Wrong password` or `Wrong passphrase`.** For a repository password or an SSH key's +passphrase. Many hosting services want an access token rather than the account password. + +**`Selected file does not appear to be an SSH private key`.** You picked the public key, +or a file in another format. Choose the file without `.pub`. + +**The sync fails after the server was reinstalled or moved.** Its host key changed. If +you are sure why, use **Clear saved host key** on the repository screen, under **Edit +Git server settings**. If you are not, treat it as an attack until you know better. + +**SSH login is refused.** Check that the public key is on the server, for the right +account. **View generated public SSH key** shows it for a key made on the phone. + +## Syncing + +**`Push was rejected by remote, run pull before pushing again`.** The server has commits +you do not have. Use **Synchronize repository**, which pulls and then pushes. + +**`Pull has failed, you're in a detached head`.** A conflict stopped the rebase. +[Sync]({{< relref "/hardenedpass/using/sync" >}}) has the steps. + +**`Merge has failed, you're in a conflicting state`.** The same conflict, with **Rebase +on pull** off. The way out is the hard reset in +[Sync]({{< relref "/hardenedpass/using/sync" >}}), after saving anything you need. + +**`The repository must be cloned before syncing changes`.** The store on the phone has no +remote. Set one under **Edit Git server settings** and clone it. + +## Autofill + +**No suggestions appear.** Check that HardenedPass is the selected autofill service in +Android's settings, and that the browser is on the list in +[Autofill]({{< relref "/hardenedpass/using/autofill" >}}). + +**Only the password gets filled.** That is the browser's support level, as with Vanadium. + +**`This app is currently not supported`.** The app cannot save from there. You can still +add the entry by hand. + +**Nothing happens after tapping Save.** Android 14 and later hold back background +windows, and the app has a workaround: update to the latest version. + +## Still stuck? + +Open an issue on the [tracker](https://github.com/danixland/HardenedPass/issues). Say +which version you run and what you did. Never paste passwords, keys or real entry names. diff --git a/content/en/hardenedpass/using/autofill/index.md b/content/en/hardenedpass/using/autofill/index.md index 43b7855..7455c23 100644 --- a/content/en/hardenedpass/using/autofill/index.md +++ b/content/en/hardenedpass/using/autofill/index.md @@ -11,7 +11,7 @@ not need to copy anything. ## Turn it on -Open **Settings** and turn on **Enable Autofill**. The app explains what will happen and +Open **Settings**, then **Autofill**, and turn on **Enable Autofill**. The app explains what will happen and lists your installed browsers with how well each one is supported. Tap OK, choose HardenedPass in Android's autofill settings and confirm. @@ -52,7 +52,8 @@ filled in. Save the entry there, then remember to [sync]({{< relref "/hardenedpass/using/sync" >}}). Firefox also shows its own save prompt. That one is Firefox's password manager, not -HardenedPass, and you can dismiss it. +HardenedPass, and you can dismiss it. To stop it for good, turn off saving passwords in +Firefox's settings: only the HardenedPass prompt remains. ## The phishing warning diff --git a/content/en/hardenedpass/using/sync/index.md b/content/en/hardenedpass/using/sync/index.md index 2351d5b..fe00355 100644 --- a/content/en/hardenedpass/using/sync/index.md +++ b/content/en/hardenedpass/using/sync/index.md @@ -32,7 +32,7 @@ pick a winner. The app uses a rebase by default (**Rebase on pull**), and the sy stops with an error saying the pull failed and that you are in a detached head. Your work is not lost. -Open **Settings**, then **Local Git config & utilities**. You have two ways out: +Open **Settings**, then **Repository**, then **Local Git config & utilities**. You have two ways out: ### Keep your changes 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 |
