Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Major enhancements to documentation #11745

Open
wants to merge 3 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@
- Browser: Revert code causing connection problems [#8665]
- Browser: Fix socket file symbolic link on Linux [#8656]
- Flatpak: Fix launching browser proxy service [#8680]
- SSH Agent: Fix paegent support on Windows [#8619]
- SSH Agent: Fix pageant support on Windows [#8619]

## 2.7.3 (2022-10-23)

Expand Down Expand Up @@ -1061,7 +1061,7 @@
- Compare window title to entry URLs #556
- Implemented inline error messages #162
- Ignore group expansion and other minor changes when making database "dirty" #464
- Updated license and copyright information on souce files #632
- Updated license and copyright information on source files #632
- Added contributors list to about dialog #629

## 2.1.4 (2017-04-09)
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,13 @@ KeePassXC has numerous features for novice and power users alike. Our goal is to
* Password generator
* Auto-Type passwords into applications
* Browser integration with Google Chrome, Mozilla Firefox, Microsoft Edge, Chromium, Vivaldi, Brave, and Tor-Browser
* Support for passkeys using the browser integration
* Entry icon download
* Import databases from CSV, 1Password, and KeePass1 formats
* Import databases from CSV, 1Password, Bitwarden, Proton Pass, and KeePass1 formats

### Advanced
* Database reports (password health, HIBP, and statistics)
* Database export to CSV and HTML formats
* Database export to CSV, XML, and HTML formats
* TOTP storage and generation
* Field references between entries
* File attachments and custom attributes
Expand Down
6 changes: 3 additions & 3 deletions docs/GettingStarted.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ include::topics/DownloadInstall.adoc[tags=*;!advanced]

include::topics/UserInterface.adoc[tags=*;!advanced]

include::topics/PasswordGenerator.adoc[tags=*;!advanced]

include::topics/DatabaseOperations.adoc[tags=*;!advanced]

include::topics/BrowserPlugin.adoc[tags=*;!advanced]
include::topics/PasswordGenerator.adoc[tags=*;!advanced]

include::topics/BrowserIntegration.adoc[tags=*;!advanced]
9 changes: 5 additions & 4 deletions docs/UserGuide.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ KeePassXC Team <[email protected]>
:imagesdir: images
:stylesheet: styles/dark.css
:toc: left
:sectanchors:
ifdef::backend-pdf[]
:title-page:
:title-logo-image: {imagesdir}/kpxc_logo.png
Expand All @@ -23,18 +24,18 @@ include::topics/UserInterface.adoc[tags=*]

include::topics/DatabaseOperations.adoc[tags=*]

include::topics/PasswordGenerator.adoc[tags=*]

include::topics/ImportExport.adoc[tags=*]

include::topics/PasswordGenerator.adoc[tags=*]
include::topics/KeeShare.adoc[tags=*]

include::topics/BrowserPlugin.adoc[tags=*]
include::topics/BrowserIntegration.adoc[tags=*]

include::topics/Passkeys.adoc[tags=*]

include::topics/AutoType.adoc[tags=*]

include::topics/KeeShare.adoc[tags=*]

include::topics/SSHAgent.adoc[tags=*]

include::topics/Reference.adoc[tags=*]
Binary file modified docs/images/database_security_encryption.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/database_security_encryption_advanced.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/database_settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/database_view.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/export_database.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/main_interface.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/new_db_wizard_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/open_database.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/save_database_backup.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/theme_selection.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/toolbar.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/unlock_database.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/welcome_screen.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/styles/dark.css
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ body.toc2.toc-right{padding-left:0;padding-right:20em}}
.sect1{padding-bottom:1.25em}}
.sect1:last-child{padding-bottom:0}
.sect1+.sect1{border-top:1px solid #efefed}
#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:2.0ex;margin-left:-1.8ex;margin-top:0.08ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
#content h1>a.anchor::before,h2>a.anchor::before,h3>a.anchor::before,#toctitle>a.anchor::before,.sidebarblock>.content>.title>a.anchor::before,h4>a.anchor::before,h5>a.anchor::before,h6>a.anchor::before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
Expand Down
389 changes: 199 additions & 190 deletions docs/topics/BrowserPlugin.adoc → docs/topics/BrowserIntegration.adoc

Large diffs are not rendered by default.

222 changes: 118 additions & 104 deletions docs/topics/DatabaseOperations.adoc

Large diffs are not rendered by default.

21 changes: 17 additions & 4 deletions docs/topics/ImportExport.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@ include::.sharedheader[]
:imagesdir: ../images

// tag::content[]
== Importing External Databases
== Importing Databases
KeePassXC allows you to import external databases from the following options:

* Comma Separated Values (.csv)
* 1Password Export (.1pux)
* 1Password Vault (.opvault)
* Bitwarden (.json)
* Proton Pass (.json)
* KeePass 1 Database (.kdb)
* Remote database (.kdbx)

Expand All @@ -32,14 +33,17 @@ image::csv_import.png[]

3. Click `Done` to complete the import. If you chose to create a new database, the New Database dialog will appear. Otherwise your entries will be nested under the group you chose for the existing database.

=== Importing 1Password Export
=== Importing from Other Applications
KeePassXC allows you to import databases from various applications including 1Password (1PUX and OPVault), Bitwarden, and Proton Pass. Each import option involves selecting the file, providing necessary credentials (if required), and choosing to import into a new or existing database. Note that CSV, 1Password Export, Bitwarden, and Proton Pass files are unencrypted and should be securely deleted after import.

==== 1Password Export
WARNING: A 1Password Export file is unencrypted and you should securely delete this file after successfully importing it into KeePassXC.

1. Open the Import Wizard as shown above. Select the 1Password Export option.

2. Click `Continue` to unlock and preview the import. Click `Done` to complete the import.

=== Importing 1Password OPVault
==== 1Password OPVault
NOTE: You must have 1Password version 7 or 8 to export your data to an OPVault. If you are using a newer version of 1Password, you should use the 1Password Export (1PUX) format instead.

Save your 1Password Vault locally to create an OPVault directory. Please see 1Password instructions on how to do this. Once an OPVault is created, perform the following steps:
Expand All @@ -48,7 +52,7 @@ Save your 1Password Vault locally to create an OPVault directory. Please see 1Pa

2. Enter the password for your vault and click `Continue` to unlock and preview the import. Click `Done` to complete the import.

=== Importing Bitwarden
==== Bitwarden
WARNING: A Bitwarden Export file may be unencrypted and you should securely delete this file after successfully importing it into KeePassXC.

1. Open the Import Wizard as shown above. Select the Bitwarden option.
Expand All @@ -57,6 +61,13 @@ WARNING: A Bitwarden Export file may be unencrypted and you should securely dele

3. Click `Continue` to unlock and preview the import. Click `Done` to complete the import.

==== Proton Pass
WARNING: A Proton Pass Export file is unencrypted and you should securely delete this file after successfully importing it into KeePassXC.

1. Open the Import Wizard as shown above. Select the Proton Pass option.

2. Click `Continue` to preview the import. Click `Done` to complete the import.

=== Importing KeePass 1 Database
KeePass 1 database is an older format of the database created using a legacy version of KeePass. KeePassXC lets your import this older format of the database and you can seamlessly start using this database in your new KeePassXC application.

Expand Down Expand Up @@ -86,6 +97,8 @@ Opening without importing a remote database is possible by selecting Temporary D
== Exporting Databases
KeePassXC supports multiple ways to export your database for transfer to another program or to print out and archive.

WARNING: These exports do not contain all the information in your database due to various limitations in the export format. For example, the CSV export does not support attachments, advanced attributes, Auto-Type settings, or custom icons. The XML export does not support attachments. The HTML export is mainly for printing and does not support attachments and some custom data fields.

WARNING: Exporting your database will result in all of your passwords and sensitive information being stored in an unencrypted format. We do not recommend saving your exported database for long periods of time as that can cause a compromise of sensitive information.

.Database export menu
Expand Down
2 changes: 1 addition & 1 deletion docs/topics/KeeShare.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ To use sharing, you need to enable it for the application.
.KeeShare Application Settings
image::keeshare_application_settings.png[]

=== Sharing Credentials
=== Setup a Shared Group
If you checked _Allow export_ in the Sharing settings you can now share a group of passwords. Sharing is always defined on a particular group. If you enable sharing on a group, every entry under this group, and its children, are shared. If you enable sharing on the root node, **every password** inside your database gets shared!

NOTE: KeeShare does not synchronize group structure after the initial share is created. At this time, KeeShare operates at the entry level; shared entries moved outside of a shared group are still synchronized.
Expand Down
3 changes: 2 additions & 1 deletion docs/topics/KeyboardShortcuts.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ NOTE: On macOS please substitute `Ctrl` with `Cmd` (aka `⌘`).
|Save Database As | Ctrl + Shift + S
|New Database | Ctrl + Shift + N
|Close Database | Ctrl + W ; Ctrl + F4
|Lock All Databases | Ctrl + L
|Lock Current Database | Ctrl + L
|Lock All Databases | Ctrl + Shift + L
|Database Settings | Ctrl + Shift + ,
|Database Reports | Ctrl + Shift + R
|Quit | Ctrl + Q
Expand Down
42 changes: 21 additions & 21 deletions docs/topics/Passkeys.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -5,56 +5,56 @@ include::.sharedheader[]
// tag::content[]
== Passkeys

Passkeys are a secure way for replacing passwords that is supported by all major browser vendors and an increasing number of websites. For more information on what Passkeys are and how they work, please go to the FIDO Alliance's documentation: https://fidoalliance.org/passkeys/
Passkeys are a secure way for replacing passwords that is supported by all major browser vendors and an increasing number of websites. For more information on what passkeys are and how they work, please go to the FIDO Alliance's documentation: https://fidoalliance.org/passkeys/

=== Enabling Passkey Support
=== Browser Passkey Support

KeePassXC supports Passkeys directly through the Browser Integration service. Passkeys are only supported with the use of the KeePassXC Browser Extension and a properly connected database. To enable Passkey support on the extension, you must check the _Enable Passkeys_ option in the extension settings page.
KeePassXC supports passkeys directly through the Browser Integration service. Passkeys are only supported with the use of the KeePassXC Browser Extension and a properly connected database. To enable passkey support on the extension, you must check the _Enable Passkeys_ option in the extension settings page.

.Enable Passkey Support in the KeePassXC Browser Extension
image::passkeys_enable_from_extension.png[,75%]

Optionally, you can disable falling back to the built-in Passkey support from your browser and operating system. If left enabled, the extension will show the default Passkey dialogs if KeePassXC cannot handle the request or the request is canceled.
Optionally, you can disable falling back to the built-in passkey support from your browser and operating system. If left enabled, the extension will show the default passkey dialogs if KeePassXC cannot handle the request or the request is canceled.

=== Create a New Passkey

Creating a new Passkey and authenticating with it is a simple process. This workflow will be demonstrated using GitHub as an example site. Please note that GitHub allows two use cases for Passkeys, one for 2FA only and the other for replacement of username and password entirely. We will be configuring the latter use case in this example.
Creating a new passkey and authenticating with it is a simple process. This workflow will be demonstrated using GitHub as an example site. Please note that GitHub allows two use cases for passkeys, one for 2FA only and the other for replacement of username and password entirely. We will be configuring the latter use case in this example.

After navigating to GitHub's _Settings_ -> _Password and authentication_, there is a separate section shown for Passkeys.
After navigating to GitHub's _Settings_ -> _Password and authentication_, there is a separate section shown for passkeys.

.GitHub's Passkey Registration
image::passkeys_github_1.png[]

After clicking the _Add a Passkey_ button, the user is redirected to another page showing the actual configuration option.
After clicking the _Add a passkey_ button, the user is redirected to another page showing the actual configuration option.

.Configure Passwordless Authentication
image::passkeys_github_2.png[,50%]

Clicking the _Add Passkey_ button now shows the following popup dialog for the user, asking confirmation for creating a new Passkey.
Clicking the _Add passkey_ button now shows the following popup dialog for the user, asking confirmation for creating a new passkey.

.Passkey Registration Confirmation Dialog
image::passkeys_register_dialog.png[,30%]

After the Passkey has been registered, a new entry is created to the database under _KeePassXC-Browser Passwords_ with _(Passkey)_ added to the entry title. The entry holds additional attributes that are used for authenticating the Passkey.
After the passkey has been registered, a new entry is created to the database under _KeePassXC-Browser Passwords_ with _(passkey)_ added to the entry title. The entry holds additional attributes that are used for authenticating the passkey.

After registration, GitHub will ask a name for the Passkey. This is only relevant for the server.
After registration, GitHub will ask a name for the passkey. This is only relevant for the server.

.GitHub's Passkey Nickname
image::passkeys_github_3.png[,50%]

Now the Passkey should be shown on the GitHub's Passkey section.
Now the passkey should be shown on the GitHub's passkey section.

.Registered Passkeys on GitHub
image::passkeys_github_4.png[]

=== Login With a Passkey

The Passkey created in the previous section can now be used to login to GitHub. Instead of logging in with normal credentials, choose _Sign in with a passkey_ at the bottom of GitHub's login page.
The passkey created in the previous section can now be used to login to GitHub. Instead of logging in with normal credentials, choose _Sign in with a passkey_ at the bottom of GitHub's login page.

.GitHub's login page with a Passkey option
image::passkeys_github_5.png[,50%]

After clicking the button, KeePassXC-Browser detects the Passkeys authentication and KeePassXC shows the following dialog for confirmation.
After clicking the button, KeePassXC-Browser detects the passkeys authentication and KeePassXC shows the following dialog for confirmation.

.Passkey authentication confirmation dialog
image::passkeys_authentication_dialog.png[,50%]
Expand All @@ -66,36 +66,36 @@ After confirmation user is now authenticated and logged into GitHub.

==== Multiple Passkeys for a Site

Multiple Passkeys can be created for a single site. When registering a new Passkey with a different username, KeePassXC shows an option to register a new Passkey or update the previous one. Updating a Passkey will override the existing entry, so this option should be only used when actually needed.
Multiple passkeys can be created for a single site. When registering a new passkey with a different username, KeePassXC shows an option to register a new passkey or update the previous one. Updating a passkey will override the existing entry, so this option should be only used when actually needed.

.Passkey authentication confirmation dialog
image::passkeys_update_dialog.png[,50%]

==== Exporting Passkeys

All Passkeys in a database can be viewed and accessed from the _Database_ -> _Passkeys..._ menu item. The page shows both _Import_ and _Export_ buttons for Passkeys.
All passkeys in a database can be viewed and accessed from the _Database_ -> _Passkeys..._ menu item. The page shows both _Import_ and _Export_ buttons for passkeys.

.Passkeys Overview
image::passkeys_all_passkeys.png[]

After selecting one or more entries, the following dialog is shown. One or multiple Passkeys can be selected for export from the previously selected list of entries.
After selecting one or more entries, the following dialog is shown. One or multiple passkeys can be selected for export from the previously selected list of entries.

.Passkeys Export Dialog
image::passkeys_export_dialog.png[,65%]

Exported Passkeys are stored in JSON format using the `.passkey` file extension. The file includes all relevant information for importing a Passkey to another database or saving a backup.
Exported passkeys are stored in JSON format using the `.passkey` file extension. The file includes all relevant information for importing a passkey to another database or saving a backup.

WARNING: The exported Passkey file is unencrypted and should be securely stored.
WARNING: The exported passkey file is unencrypted and should be securely stored.

==== Importing Passkeys

An exported Passkey can be imported directly to a database or to an entry. To import directly, use the _Database_ -> _Import Passkey_ menu item.
When right-clicking an entry, a separate menu item for _Import Passkey_ is shown. This is useful if user wants to import a previously created Passkey to an existing entry.
An exported passkey can be imported directly to a database or to an entry. To import directly, use the _Database_ -> _Import Passkey_ menu item.
When right-clicking an entry, a separate menu item for _Import Passkey_ is shown. This is useful if user wants to import a previously created passkey to an existing entry.

.Import Passkey to an Entry
image::passkeys_import_passkey_to_entry.png[,50%]

After selecting a Passkey file to import, a separate dialog is shown where you can select which database, group, and entry to target. By default, the group is set to _Imported Passkeys_. The default action is to create a new entry that contains the imported Passkey.
After selecting a passkey file to import, a separate dialog is shown where you can select which database, group, and entry to target. By default, the group is set to _Imported Passkeys_. The default action is to create a new entry that contains the imported passkey.

.Passkey import dialog
image::passkeys_import_dialog.png[,65%]
Expand Down
2 changes: 0 additions & 2 deletions docs/topics/PasswordGenerator.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ image::password_generator.png[]
4. Select the character-sets that you want to include in your password.
5. Use the regenerate button (Ctrl + R) to make a new password using the chosen options.
6. Use the clipboard button (Ctrl + C) to copy the generated password to the clipboard.
// tag::advanced[]
7. Click the Advanced button to specify additional conditions for your desired password.
+
.Advanced Password Generator Options
Expand All @@ -42,5 +41,4 @@ Word Count slider.
5. _(Optional)_ You can also load your own custom word lists. Click the plus sign button to the right of the wordlist selection dialog to choose a custom word list. You can download alternative lists from the https://www.eff.org/deeplinks/2016/07/new-wordlists-random-passphrases[EFF's Website] or from https://github.com/redacted/XKCD-password-generator#additional-languages[GitHub].
6. Click the Regenerate button (Ctrl + R) to generate a new random passphrase.
7. Click the Clipboard button (Ctrl + C) to copy the passphrase to the clipboard.
// end::advanced[]
// end::content[]
Loading
Loading