summaryrefslogtreecommitdiffstats
path: root/content/en/hardenedpass/reference/security
diff options
context:
space:
mode:
Diffstat (limited to 'content/en/hardenedpass/reference/security')
-rw-r--r--content/en/hardenedpass/reference/security/index.md59
1 files changed, 55 insertions, 4 deletions
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.