Files
seedPass/landing/docs/advanced_cli.html
2025-07-09 22:08:31 -04:00

614 lines
24 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>advanced_cli</title>
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
/* The extra [class] is a hack that increases specificity enough to
override a similar rule in reveal.js */
ul.task-list[class]{list-style: none;}
ul.task-list li input[type="checkbox"] {
font-size: inherit;
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
/* CSS for syntax highlighting */
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
{ counter-reset: source-line 0; }
pre.numberSource code > span
{ position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::before
{ content: counter(source-line);
position: relative; left: -1em; text-align: right; vertical-align: baseline;
border: none; display: inline-block;
-webkit-touch-callout: none; -webkit-user-select: none;
-khtml-user-select: none; -moz-user-select: none;
-ms-user-select: none; user-select: none;
padding: 0 4px; width: 4em;
color: #aaaaaa;
}
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
div.sourceCode
{ }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
code span.at { color: #7d9029; } /* Attribute */
code span.bn { color: #40a070; } /* BaseN */
code span.bu { color: #008000; } /* BuiltIn */
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
code span.ch { color: #4070a0; } /* Char */
code span.cn { color: #880000; } /* Constant */
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
code span.dt { color: #902000; } /* DataType */
code span.dv { color: #40a070; } /* DecVal */
code span.er { color: #ff0000; font-weight: bold; } /* Error */
code span.ex { } /* Extension */
code span.fl { color: #40a070; } /* Float */
code span.fu { color: #06287e; } /* Function */
code span.im { color: #008000; font-weight: bold; } /* Import */
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
code span.op { color: #666666; } /* Operator */
code span.ot { color: #007020; } /* Other */
code span.pp { color: #bc7a00; } /* Preprocessor */
code span.sc { color: #4070a0; } /* SpecialChar */
code span.ss { color: #bb6688; } /* SpecialString */
code span.st { color: #4070a0; } /* String */
code span.va { color: #19177c; } /* Variable */
code span.vs { color: #4070a0; } /* VerbatimString */
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
</style>
<link rel="stylesheet" href="theme.css" />
</head>
<body>
<h1 id="seedpass-advanced-cli-and-api-documentation">SeedPass Advanced
CLI and API Documentation</h1>
<h2 id="overview">Overview</h2>
<p>Welcome to the <strong>Advanced CLI and API Documentation</strong>
for <strong>SeedPass</strong>, a secure, deterministic password manager
built on Bitcoins BIP85 standard. This guide is designed for power
users, developers, and system administrators who wish to leverage the
full capabilities of SeedPass through the command line for scripting,
automation, and integration.</p>
<p>SeedPass uses a <code>noun-verb</code> command structure (e.g.,
<code>seedpass entry get &lt;query&gt;</code>) for a clear, scalable,
and discoverable interface. You can explore the available actions for
any command group with the <code>--help</code> flag (for example,
<code>seedpass entry --help</code>).</p>
<p>The commands in this document reflect the Typer-based CLI shipped
with SeedPass. Each command accepts the optional
<code>--fingerprint</code> flag to operate on a specific seed
profile.</p>
<hr />
<h2 id="table-of-contents">Table of Contents</h2>
<ol type="1">
<li><a href="#global-options">Global Options</a></li>
<li><a href="#command-group-reference">Command Group Reference</a>
<ul>
<li><a href="#entry-commands">Entry Commands</a></li>
<li><a href="#vault-commands">Vault Commands</a></li>
<li><a href="#nostr-commands">Nostr Commands</a></li>
<li><a href="#config-commands">Config Commands</a></li>
<li><a href="#fingerprint-commands">Fingerprint Commands</a></li>
<li><a href="#utility-commands">Utility Commands</a></li>
<li><a href="#api-commands">API Commands</a></li>
</ul></li>
<li><a href="#detailed-command-descriptions">Detailed Command
Descriptions</a></li>
<li><a href="#api-integration">API Integration</a></li>
<li><a href="#usage-guidelines">Usage Guidelines</a></li>
</ol>
<hr />
<h2 id="global-options">Global Options</h2>
<p>These options can be used with any command.</p>
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr class="header">
<th style="text-align: left;">Flag</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;"><code>--fingerprint &lt;fp&gt;</code></td>
<td style="text-align: left;">Specify which seed profile to use. If
omitted, the most recently used profile is selected.</td>
</tr>
<tr class="even">
<td style="text-align: left;"><code>--help</code>, <code>-h</code></td>
<td style="text-align: left;">Display help information for a command or
subcommand.</td>
</tr>
</tbody>
</table>
<hr />
<h2 id="command-group-reference">Command Group Reference</h2>
<h3 id="entry-commands">Entry Commands</h3>
<p>Manage individual entries within a vault.</p>
<table>
<colgroup>
<col style="width: 33%" />
<col style="width: 33%" />
<col style="width: 33%" />
</colgroup>
<thead>
<tr class="header">
<th style="text-align: left;">Action</th>
<th style="text-align: left;">Command</th>
<th style="text-align: left;">Examples</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">List entries</td>
<td style="text-align: left;"><code>entry list</code></td>
<td
style="text-align: left;"><code>seedpass entry list --sort label</code></td>
</tr>
<tr class="even">
<td style="text-align: left;">Search for entries</td>
<td style="text-align: left;"><code>entry search</code></td>
<td
style="text-align: left;"><code>seedpass entry search "GitHub"</code></td>
</tr>
<tr class="odd">
<td style="text-align: left;">Retrieve an entrys secret (password or
TOTP code)</td>
<td style="text-align: left;"><code>entry get</code></td>
<td
style="text-align: left;"><code>seedpass entry get "GitHub"</code></td>
</tr>
<tr class="even">
<td style="text-align: left;">Add a password entry</td>
<td style="text-align: left;"><code>entry add</code></td>
<td
style="text-align: left;"><code>seedpass entry add Example --length 16</code></td>
</tr>
<tr class="odd">
<td style="text-align: left;">Add a TOTP entry</td>
<td style="text-align: left;"><code>entry add-totp</code></td>
<td
style="text-align: left;"><code>seedpass entry add-totp Email --secret JBSW...</code></td>
</tr>
<tr class="even">
<td style="text-align: left;">Add an SSH key entry</td>
<td style="text-align: left;"><code>entry add-ssh</code></td>
<td
style="text-align: left;"><code>seedpass entry add-ssh Server --index 0</code></td>
</tr>
<tr class="odd">
<td style="text-align: left;">Add a PGP key entry</td>
<td style="text-align: left;"><code>entry add-pgp</code></td>
<td
style="text-align: left;"><code>seedpass entry add-pgp Personal --user-id me@example.com</code></td>
</tr>
<tr class="even">
<td style="text-align: left;">Add a Nostr key entry</td>
<td style="text-align: left;"><code>entry add-nostr</code></td>
<td
style="text-align: left;"><code>seedpass entry add-nostr Chat</code></td>
</tr>
<tr class="odd">
<td style="text-align: left;">Add a seed phrase entry</td>
<td style="text-align: left;"><code>entry add-seed</code></td>
<td
style="text-align: left;"><code>seedpass entry add-seed Backup --words 24</code></td>
</tr>
<tr class="even">
<td style="text-align: left;">Add a key/value entry</td>
<td style="text-align: left;"><code>entry add-key-value</code></td>
<td
style="text-align: left;"><code>seedpass entry add-key-value "API Token" --value abc123</code></td>
</tr>
<tr class="odd">
<td style="text-align: left;">Add a managed account entry</td>
<td
style="text-align: left;"><code>entry add-managed-account</code></td>
<td
style="text-align: left;"><code>seedpass entry add-managed-account Trading</code></td>
</tr>
<tr class="even">
<td style="text-align: left;">Modify an entry</td>
<td style="text-align: left;"><code>entry modify</code></td>
<td
style="text-align: left;"><code>seedpass entry modify 1 --username alice</code></td>
</tr>
<tr class="odd">
<td style="text-align: left;">Archive an entry</td>
<td style="text-align: left;"><code>entry archive</code></td>
<td style="text-align: left;"><code>seedpass entry archive 1</code></td>
</tr>
<tr class="even">
<td style="text-align: left;">Unarchive an entry</td>
<td style="text-align: left;"><code>entry unarchive</code></td>
<td
style="text-align: left;"><code>seedpass entry unarchive 1</code></td>
</tr>
<tr class="odd">
<td style="text-align: left;">Export all TOTP secrets</td>
<td style="text-align: left;"><code>entry export-totp</code></td>
<td
style="text-align: left;"><code>seedpass entry export-totp --file totp.json</code></td>
</tr>
<tr class="even">
<td style="text-align: left;">Show all TOTP codes</td>
<td style="text-align: left;"><code>entry totp-codes</code></td>
<td
style="text-align: left;"><code>seedpass entry totp-codes</code></td>
</tr>
</tbody>
</table>
<h3 id="vault-commands">Vault Commands</h3>
<p>Manage the entire vault for a profile.</p>
<table>
<colgroup>
<col style="width: 33%" />
<col style="width: 33%" />
<col style="width: 33%" />
</colgroup>
<thead>
<tr class="header">
<th style="text-align: left;">Action</th>
<th style="text-align: left;">Command</th>
<th style="text-align: left;">Examples</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">Export the vault</td>
<td style="text-align: left;"><code>vault export</code></td>
<td
style="text-align: left;"><code>seedpass vault export --file backup.json</code></td>
</tr>
<tr class="even">
<td style="text-align: left;">Import a vault</td>
<td style="text-align: left;"><code>vault import</code></td>
<td
style="text-align: left;"><code>seedpass vault import --file backup.json</code></td>
</tr>
<tr class="odd">
<td style="text-align: left;">Change the master password</td>
<td style="text-align: left;"><code>vault change-password</code></td>
<td
style="text-align: left;"><code>seedpass vault change-password</code></td>
</tr>
<tr class="even">
<td style="text-align: left;">Lock the vault</td>
<td style="text-align: left;"><code>vault lock</code></td>
<td style="text-align: left;"><code>seedpass vault lock</code></td>
</tr>
<tr class="odd">
<td style="text-align: left;">Show profile statistics</td>
<td style="text-align: left;"><code>vault stats</code></td>
<td style="text-align: left;"><code>seedpass vault stats</code></td>
</tr>
<tr class="even">
<td style="text-align: left;">Reveal or back up the parent seed</td>
<td style="text-align: left;"><code>vault reveal-parent-seed</code></td>
<td
style="text-align: left;"><code>seedpass vault reveal-parent-seed --file backup.enc</code></td>
</tr>
</tbody>
</table>
<h3 id="nostr-commands">Nostr Commands</h3>
<p>Interact with the Nostr network for backup and synchronization.</p>
<table>
<thead>
<tr class="header">
<th style="text-align: left;">Action</th>
<th style="text-align: left;">Command</th>
<th style="text-align: left;">Examples</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">Sync with relays</td>
<td style="text-align: left;"><code>nostr sync</code></td>
<td style="text-align: left;"><code>seedpass nostr sync</code></td>
</tr>
<tr class="even">
<td style="text-align: left;">Get public key</td>
<td style="text-align: left;"><code>nostr get-pubkey</code></td>
<td
style="text-align: left;"><code>seedpass nostr get-pubkey</code></td>
</tr>
</tbody>
</table>
<h3 id="config-commands">Config Commands</h3>
<p>Manage profilespecific settings.</p>
<table>
<colgroup>
<col style="width: 33%" />
<col style="width: 33%" />
<col style="width: 33%" />
</colgroup>
<thead>
<tr class="header">
<th style="text-align: left;">Action</th>
<th style="text-align: left;">Command</th>
<th style="text-align: left;">Examples</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">Get a setting value</td>
<td style="text-align: left;"><code>config get</code></td>
<td
style="text-align: left;"><code>seedpass config get inactivity_timeout</code></td>
</tr>
<tr class="even">
<td style="text-align: left;">Set a setting value</td>
<td style="text-align: left;"><code>config set</code></td>
<td
style="text-align: left;"><code>seedpass config set inactivity_timeout 300</code></td>
</tr>
</tbody>
</table>
<h3 id="fingerprint-commands">Fingerprint Commands</h3>
<p>Manage seed profiles (fingerprints).</p>
<table>
<colgroup>
<col style="width: 33%" />
<col style="width: 33%" />
<col style="width: 33%" />
</colgroup>
<thead>
<tr class="header">
<th style="text-align: left;">Action</th>
<th style="text-align: left;">Command</th>
<th style="text-align: left;">Examples</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">List all profiles</td>
<td style="text-align: left;"><code>fingerprint list</code></td>
<td
style="text-align: left;"><code>seedpass fingerprint list</code></td>
</tr>
<tr class="even">
<td style="text-align: left;">Add a profile</td>
<td style="text-align: left;"><code>fingerprint add</code></td>
<td style="text-align: left;"><code>seedpass fingerprint add</code></td>
</tr>
<tr class="odd">
<td style="text-align: left;">Remove a profile</td>
<td style="text-align: left;"><code>fingerprint remove</code></td>
<td
style="text-align: left;"><code>seedpass fingerprint remove &lt;fp&gt;</code></td>
</tr>
<tr class="even">
<td style="text-align: left;">Switch profile</td>
<td style="text-align: left;"><code>fingerprint switch</code></td>
<td
style="text-align: left;"><code>seedpass fingerprint switch &lt;fp&gt;</code></td>
</tr>
</tbody>
</table>
<h3 id="utility-commands">Utility Commands</h3>
<p>Miscellaneous helper commands.</p>
<table>
<colgroup>
<col style="width: 33%" />
<col style="width: 33%" />
<col style="width: 33%" />
</colgroup>
<thead>
<tr class="header">
<th style="text-align: left;">Action</th>
<th style="text-align: left;">Command</th>
<th style="text-align: left;">Examples</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">Generate a password</td>
<td style="text-align: left;"><code>util generate-password</code></td>
<td
style="text-align: left;"><code>seedpass util generate-password --length 24</code></td>
</tr>
<tr class="even">
<td style="text-align: left;">Verify script checksum</td>
<td style="text-align: left;"><code>util verify-checksum</code></td>
<td
style="text-align: left;"><code>seedpass util verify-checksum</code></td>
</tr>
<tr class="odd">
<td style="text-align: left;">Update script checksum</td>
<td style="text-align: left;"><code>util update-checksum</code></td>
<td
style="text-align: left;"><code>seedpass util update-checksum</code></td>
</tr>
</tbody>
</table>
<h3 id="api-commands">API Commands</h3>
<p>Run or stop the local HTTP API.</p>
<table>
<colgroup>
<col style="width: 33%" />
<col style="width: 33%" />
<col style="width: 33%" />
</colgroup>
<thead>
<tr class="header">
<th style="text-align: left;">Action</th>
<th style="text-align: left;">Command</th>
<th style="text-align: left;">Examples</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">Start the API</td>
<td style="text-align: left;"><code>api start</code></td>
<td
style="text-align: left;"><code>seedpass api start --host 0.0.0.0 --port 8000</code></td>
</tr>
<tr class="even">
<td style="text-align: left;">Stop the API</td>
<td style="text-align: left;"><code>api stop</code></td>
<td style="text-align: left;"><code>seedpass api stop</code></td>
</tr>
</tbody>
</table>
<hr />
<h2 id="detailed-command-descriptions">Detailed Command
Descriptions</h2>
<h3 id="entry-commands-1"><code>entry</code> Commands</h3>
<ul>
<li><strong><code>seedpass entry list</code></strong> List entries in
the vault, optionally sorted or filtered.</li>
<li><strong><code>seedpass entry search &lt;query&gt;</code></strong>
Search across labels, usernames, URLs and notes.</li>
<li><strong><code>seedpass entry get &lt;query&gt;</code></strong>
Retrieve the password or TOTP code for one matching entry, depending on
the entrys type.</li>
<li><strong><code>seedpass entry add &lt;label&gt;</code></strong>
Create a new password entry. Use <code>--length</code> to set the
password length and optional <code>--username</code>/<code>--url</code>
values.</li>
<li><strong><code>seedpass entry add-totp &lt;label&gt;</code></strong>
Create a TOTP entry. Use <code>--secret</code> to import an existing
secret or <code>--index</code> to derive from the seed.</li>
<li><strong><code>seedpass entry add-ssh &lt;label&gt;</code></strong>
Create an SSH key entry derived from the seed.</li>
<li><strong><code>seedpass entry add-pgp &lt;label&gt;</code></strong>
Create a PGP key entry. Provide <code>--user-id</code> and
<code>--key-type</code> as needed.</li>
<li><strong><code>seedpass entry add-nostr &lt;label&gt;</code></strong>
Create a Nostr key entry for decentralised chat.</li>
<li><strong><code>seedpass entry add-seed &lt;label&gt;</code></strong>
Store a derived seed phrase. Use <code>--words</code> to set the word
count.</li>
<li><strong><code>seedpass entry add-key-value &lt;label&gt;</code></strong>
Store arbitrary data with <code>--value</code>.</li>
<li><strong><code>seedpass entry add-managed-account &lt;label&gt;</code></strong>
Store a BIP85 derived account seed.</li>
<li><strong><code>seedpass entry modify &lt;id&gt;</code></strong>
Update an entrys label, username, URL or notes.</li>
<li><strong><code>seedpass entry archive &lt;id&gt;</code></strong>
Mark an entry as archived so it is hidden from normal lists.</li>
<li><strong><code>seedpass entry unarchive &lt;id&gt;</code></strong>
Restore an archived entry.</li>
<li><strong><code>seedpass entry export-totp --file &lt;path&gt;</code></strong>
Export all stored TOTP secrets to a JSON file.</li>
<li><strong><code>seedpass entry totp-codes</code></strong> Display
all current TOTP codes with remaining time.</li>
</ul>
<p>Example retrieving a TOTP code:</p>
<div class="sourceCode" id="cb1"><pre
class="sourceCode bash"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="ex">$</span> seedpass entry get <span class="st">&quot;email&quot;</span></span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a><span class="ex">[##########----------]</span> 15s</span>
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a><span class="ex">Code:</span> 123456</span></code></pre></div>
<h3 id="vault-commands-1"><code>vault</code> Commands</h3>
<ul>
<li><strong><code>seedpass vault export</code></strong> Export the
entire vault to an encrypted JSON file.</li>
<li><strong><code>seedpass vault import</code></strong> Import a vault
from an encrypted JSON file.</li>
<li><strong><code>seedpass vault change-password</code></strong>
Change the master password used for encryption.</li>
<li><strong><code>seedpass vault lock</code></strong> Clear sensitive
data from memory and require reauthentication.</li>
<li><strong><code>seedpass vault stats</code></strong> Display
statistics about the active seed profile.</li>
<li><strong><code>seedpass vault reveal-parent-seed</code></strong>
Print the parent seed or write an encrypted backup with
<code>--file</code>.</li>
</ul>
<h3 id="nostr-commands-1"><code>nostr</code> Commands</h3>
<ul>
<li><strong><code>seedpass nostr sync</code></strong> Perform a
twoway sync with configured Nostr relays.</li>
<li><strong><code>seedpass nostr get-pubkey</code></strong> Display
the Nostr public key for the active profile.</li>
</ul>
<h3 id="config-commands-1"><code>config</code> Commands</h3>
<ul>
<li><strong><code>seedpass config get &lt;key&gt;</code></strong>
Retrieve a configuration value such as <code>inactivity_timeout</code>,
<code>secret_mode</code>, or <code>auto_sync</code>.</li>
<li><strong><code>seedpass config set &lt;key&gt; &lt;value&gt;</code></strong>
Update a configuration option. Example:
<code>seedpass config set inactivity_timeout 300</code>.</li>
<li><strong><code>seedpass config toggle-secret-mode</code></strong>
Interactively enable or disable Secret Mode and set the clipboard
delay.</li>
</ul>
<h3 id="fingerprint-commands-1"><code>fingerprint</code> Commands</h3>
<ul>
<li><strong><code>seedpass fingerprint list</code></strong> List
available profiles by fingerprint.</li>
<li><strong><code>seedpass fingerprint add</code></strong> Create a
new seed profile.</li>
<li><strong><code>seedpass fingerprint remove &lt;fp&gt;</code></strong>
Delete the specified profile.</li>
<li><strong><code>seedpass fingerprint switch &lt;fp&gt;</code></strong>
Switch the active profile.</li>
</ul>
<h3 id="util-commands"><code>util</code> Commands</h3>
<ul>
<li><strong><code>seedpass util generate-password</code></strong>
Generate a strong password of the requested length.</li>
<li><strong><code>seedpass util verify-checksum</code></strong> Verify
the SeedPass script checksum.</li>
<li><strong><code>seedpass util update-checksum</code></strong>
Regenerate the script checksum file.</li>
</ul>
<hr />
<h2 id="api-integration">API Integration</h2>
<p>SeedPass provides a small REST API for automation. Run
<code>seedpass api start</code> to launch the server. The command prints
a onetime token which clients must include in the
<code>Authorization</code> header.</p>
<p>Set the <code>SEEDPASS_CORS_ORIGINS</code> environment variable to a
commaseparated list of allowed origins when you need crossorigin
requests:</p>
<div class="sourceCode" id="cb2"><pre
class="sourceCode bash"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="va">SEEDPASS_CORS_ORIGINS</span><span class="op">=</span>http://localhost:3000 <span class="ex">seedpass</span> api start</span></code></pre></div>
<p>Shut down the server with <code>seedpass api stop</code>.</p>
<hr />
<h2 id="usage-guidelines">Usage Guidelines</h2>
<ul>
<li>Use the <code>--help</code> flag for details on any command.</li>
<li>Set a strong master password and regularly export encrypted
backups.</li>
<li>Adjust configuration values like <code>inactivity_timeout</code> or
<code>secret_mode</code> through the <code>config</code> commands.</li>
<li><code>entry get</code> is scriptfriendly and can be piped into
other commands.</li>
</ul>
</body>
</html>