From fde0add1e8719fac089ad26d11082b615a8fa6bc Mon Sep 17 00:00:00 2001 From: thePR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> Date: Fri, 4 Jul 2025 19:42:21 -0400 Subject: [PATCH] docs: add entry type summary and custom field info --- README.md | 9 +++++++++ docs/json_entries.md | 27 +++++++++++++++++++++------ 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index bfcaee4..6626ce6 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,7 @@ SeedPass now uses the `portalocker` library for cross-platform file locking. No - [Usage](#usage) - [Running the Application](#running-the-application) - [Managing Multiple Seeds](#managing-multiple-seeds) + - [Additional Entry Types](#additional-entry-types) - [Security Considerations](#security-considerations) - [Contributing](#contributing) - [License](#license) @@ -256,6 +257,14 @@ When **Secret Mode** is enabled, SeedPass copies retrieved passwords directly to 2. Choose how many seconds to keep passwords on the clipboard. 3. Retrieve an entry and SeedPass will confirm the password was copied. +### Additional Entry Types + +SeedPass supports storing more than just passwords and 2FA secrets. You can also create entries for: +- **SSH Key** – deterministically derive an Ed25519 key pair for servers or git hosting platforms. +- **Seed Phrase** – generate a BIP-39 mnemonic and keep it encrypted until needed. +- **PGP Key** – derive an OpenPGP key pair from your master seed. +- **Nostr Key Pair** – store the index used to derive an `npub`/`nsec` pair for Nostr clients. + ### Managing Multiple Seeds diff --git a/docs/json_entries.md b/docs/json_entries.md index 1225f90..9d09834 100644 --- a/docs/json_entries.md +++ b/docs/json_entries.md @@ -87,12 +87,13 @@ Each SeedPass entry is stored as an individual JSON file, promoting isolated man - **fingerprint** (`string`): A unique identifier generated from the seed associated with the entry. This fingerprint ensures that each seed's data is isolated and securely managed. -- **kind** (`string`): Specifies the type of entry. Initial kinds include: - - `generated_password` - - `stored_password` - - `managed_user` - - `12_word_seed` - - `nostr_keys` +- **kind** (`string`): Specifies the type of entry. Supported kinds include: + - `password` + - `totp` + - `ssh` + - `seed` + - `pgp` + - `nostr` - `note` - **data** (`object`): Contains fields specific to the `kind`. This allows for extensibility as new kinds are introduced. @@ -104,6 +105,17 @@ Each SeedPass entry is stored as an individual JSON file, promoting isolated man - **updated_at** (`string`): ISO 8601 format timestamp of the last update. - **checksum** (`string`): A checksum value to ensure data integrity. +- **custom_fields** (`array`, optional): A list of user-defined name/value pairs + to store extra information. + Example: + + ```json + "custom_fields": [ + {"name": "account_id", "value": "123"}, + {"name": "recovery_hint", "value": "mother's maiden name"} + ] + ``` + ### Example Entries #### 1. Generated Password @@ -121,6 +133,9 @@ Each SeedPass entry is stored as an individual JSON file, promoting isolated man "url": "https://example.com", "password": "" }, + "custom_fields": [ + {"name": "department", "value": "finance"} + ], "timestamp": "2024-04-27T12:34:56Z", "metadata": { "created_at": "2024-04-27T12:34:56Z",