Skip to content

User Configuration

Kānuka stores your personal identity and preferences in a user configuration file. This file is local to your machine and is never shared with others.

Your user configuration is stored at:

PlatformLocation
Linux~/.config/kanuka/config.toml
macOS~/Library/Application Support/kanuka/config.toml
Windows%APPDATA%\kanuka\config.toml
[user]
name = "Alice Smith"
uuid = "6ba7b810-9dad-11d1-80b4-00c04fd430c8"
default_device_name = "MacBook-Pro"
[projects]
[projects."550e8400-e29b-41d4-a716-446655440000"]
device_name = "workstation"
project_name = "my-awesome-project"
[projects."7ba7b810-9dad-11d1-80b4-00c04fd430c8"]
device_name = "laptop"
project_name = "another-project"
FieldRequiredDescription
emailYesYour email address, used as your identifier across all projects. This is how teammates recognize you when granting access.
nameNoYour display name for audit log features (future functionality).
uuidYesA unique identifier generated automatically. This links your identity across projects without exposing your email in file names.
default_device_nameNoThe default name for your devices when creating keys. Defaults to your computer’s hostname.

The [projects] section maps project UUIDs to your device information for each project you’ve joined. Each entry contains:

FieldDescription
device_nameThe device name you use for this specific project.
project_nameA human-readable name for the project.

This allows you to use different device names for different projects if needed.

Your user configuration is created when you run:

  1. kanuka config init - Explicit setup of your identity
  2. kanuka secrets init - Automatically prompts for setup if not configured

During setup, you provide:

  • Your email address (required)
  • A display name (optional)
  • A default device name (defaults to hostname)

Kānuka generates a UUID automatically to uniquely identify you.

Kānuka uses UUIDs instead of emails for file naming because:

  1. Uniqueness - Guaranteed unique identifiers avoid naming conflicts
  2. Flexibility - You can change your email without renaming files

The email is stored in the project configuration to provide a human-readable way to identify users.

If you work on the same project from multiple computers, each device gets its own:

  • RSA key pair (stored locally)
  • Entry in the project configuration
  • Encrypted symmetric key

Your user configuration tracks which device name you use for each project.

Terminal window
# Show user configuration
kanuka config show
# Show as JSON (for scripts)
kanuka config show --json
Terminal window
# Update email
kanuka config init --email [email protected]
# Update device name
kanuka config init --device new-laptop
# Update multiple fields
kanuka config init --email [email protected] --name "Alice Smith" --device macbook

Only the fields you specify are updated; other fields remain unchanged.