atomic identity
Manage identities for signing changes.
Synopsis
atomic identity <COMMAND> [OPTIONS]
atomic identity new <NAME> [OPTIONS]
atomic identity list [OPTIONS]
atomic identity show <NAME> [OPTIONS]
atomic identity default [NAME] [OPTIONS]
atomic identity delete <NAME> [OPTIONS]
atomic identity whoami [OPTIONS]
atomic identity register <SERVER_URL> [OPTIONS]
atomic identity sign [OPTIONS]
atomic identity verify --signature <SIGNATURE> --public-key <PUBLIC_KEY>
Description
The identity command manages the Ed25519 identities used to sign changes in
Atomic. Each identity has a name, an optional email, a type, and a usage
context, along with a public/private key pair.
Identities can be created, listed, inspected, set as default, deleted, and
registered with a remote atomic-storage server. The sign and verify
subcommands provide low-level access to the underlying Ed25519 signing
primitives.
Every subcommand accepts the global flags -v, --verbose (emit extra
diagnostic output) and --no-color (disable ANSI color in output).
Subcommands
identity new — Create a new identity
atomic identity new <NAME> [OPTIONS]
Arguments
<NAME>— Name for the new identity.
Options
-e, --email <EMAIL>— Email address for the identity.-t, --type <IDENTITY_TYPE>— Identity type. [default:user]-u, --usage <USAGE>— Usage context for this identity. [default:personal]-d, --description <DESCRIPTION>— Description of the identity.--set-default— Set this identity as the default.--set-default-for-usage— Set this identity as the default for its usage context.
Examples
# Create a basic identity
atomic identity new alice
# Create an identity with an email and set it as the default
atomic identity new alice --email alice@example.com --set-default
# Create an identity with a description and usage context
atomic identity new work \
--email alice@company.com \
--usage work \
--description "Work identity" \
--set-default-for-usage
identity list — List all identities
atomic identity list [OPTIONS]
Options
-u, --usage <USAGE>— Filter by usage context.-t, --type <IDENTITY_TYPE>— Filter by identity type.-v, --verbose— Show additional details.-f, --format <FORMAT>— Output format. [default:table]
Examples
# List all identities
atomic identity list
# List identities filtered by usage context
atomic identity list --usage work
# List with extra detail
atomic identity list --verbose
identity show — Show identity details
atomic identity show <NAME> [OPTIONS]
Arguments
<NAME>— Name of the identity to show.
Options
-f, --format <FORMAT>— Output format. [default:default]--show-public-key— Show the full public key.
Examples
# Show details for an identity
atomic identity show alice
# Include the full public key
atomic identity show alice --show-public-key
identity default — Set the default identity
atomic identity default [NAME] [OPTIONS]
Arguments
[NAME]— Name of the identity to set as default.
Options
-u, --usage <USAGE>— Usage context to set the default for.--clear— Clear the default identity instead of setting one.
Examples
# Set the default identity
atomic identity default alice
# Set the default for a specific usage context
atomic identity default work --usage work
# Clear the default identity
atomic identity default --clear
identity delete — Delete an identity
atomic identity delete <NAME> [OPTIONS]
Arguments
<NAME>— Name of the identity to delete.
Options
-f, --force— Delete without confirmation.
Examples
# Delete an identity (with confirmation)
atomic identity delete old-identity
# Delete without confirmation
atomic identity delete old-identity --force
identity whoami — Show the current default identity
atomic identity whoami [OPTIONS]
Options
-u, --usage <USAGE>— Show identity for a specific usage context.-f, --format <FORMAT>— Output format. [default:default]
Examples
# Show the current default identity
atomic identity whoami
# Show the default identity for a usage context
atomic identity whoami --usage work
identity register — Register with a remote server
Register an identity with a remote atomic-storage server.
atomic identity register <SERVER_URL> [OPTIONS]
Arguments
<SERVER_URL>— URL of the atomic-storage server.
Options
-i, --identity <IDENTITY>— Name of the identity to register.--server-name <SERVER_NAME>— Custom name for the auto-created server profile.
Examples
# Register the default identity with a server
atomic identity register https://atomic.storage
# Register a specific identity
atomic identity register https://atomic.storage --identity alice
# Register and name the auto-created server profile
atomic identity register https://atomic.storage \
--identity alice \
--server-name production
identity sign — Sign bytes from stdin
Sign bytes from stdin and output a JSON signature object.
atomic identity sign [OPTIONS]
Options
-i, --identity <IDENTITY>— Identity to sign with. Defaults to the current default identity.
Examples
# Sign data with the default identity
echo -n "hello" | atomic identity sign
# Sign data with a specific identity
echo -n "hello" | atomic identity sign --identity alice
identity verify — Verify a signature
Verify an Ed25519 signature against bytes from stdin.
atomic identity verify --signature <SIGNATURE> --public-key <PUBLIC_KEY>
Options
--signature <SIGNATURE>— Base64-encoded signature to verify.--public-key <PUBLIC_KEY>— Base32-encoded public key to verify against.
Examples
# Verify a signature against bytes from stdin
echo -n "hello" | atomic identity verify \
--signature "BASE64_SIGNATURE" \
--public-key "BASE32_PUBLIC_KEY"
Examples
Set up your first identity
# Create an identity and make it the default
atomic identity new alice --email alice@example.com --set-default
# Confirm it is the current default
atomic identity whoami
# List all identities
atomic identity list
Register an identity with a server
atomic identity new alice --email alice@example.com --set-default
atomic identity register https://atomic.storage
Sign and verify data
# Produce a JSON signature object
echo -n "hello" | atomic identity sign --identity alice
# Verify a signature against a known public key
echo -n "hello" | atomic identity verify \
--signature "BASE64_SIGNATURE" \
--public-key "BASE32_PUBLIC_KEY"
See Also
atomic server— Manage remote server configuration