Authentication Commands
Namespace-owner JWT tokens are used by thesigilum-authz-notify hook to send authorization notifications to the Sigilum API.
auth login
Bootstrap and store a namespace-owner JWT token.Usage
Options
| Option | Default | Description |
|---|---|---|
--mode <mode> | managed | Sigilum mode: managed or oss-local |
--namespace <value> | Auto-detected | Target namespace |
--email <value> | <namespace>@local.sigilum | Owner email |
--api-url <url> | Mode default | API base URL |
--owner-token <jwt> | - | Explicit owner token (managed mode) |
--owner-token-stdin | false | Read owner token from stdin |
--ttl-seconds <n> | 604800 (7 days) | Token TTL in seconds |
--openclaw-home <path> | ~/.openclaw | OpenClaw home directory |
--config <path> | <openclaw-home>/openclaw.json | OpenClaw config path |
--token-file <path> | Auto-generated | Token file path |
--write-openclaw <bool> | true | Update openclaw.json |
--enable-authz-notify | preserve | Set hook enabled state (bool or preserve) |
--print-token <bool> | true | Print token in output |
--token-only | false | Print only the JWT token |
Examples
OSS-local mode login:Managed Mode Flow
- Sign in at sigilum.id
- Complete passkey authentication
- Copy the JWT token from your account page or CLI helper
- Run
sigilum auth login --mode managed --namespace johndee --owner-token-stdin - Paste the token
OSS-Local Mode Flow
In oss-local mode, the command:- Ensures the local API database is initialized
- Creates or updates the namespace owner user
- Issues a new JWT token signed with the local JWT secret
- Stores the token in
~/.openclaw/.sigilum/owner-token-<namespace>.jwt - Optionally updates
openclaw.jsonto include the token in thesigilum-authz-notifyhook
auth refresh
Issue a new local JWT token (oss-local mode) and store it.Usage
Options
Same asauth login.
Examples
Refresh local token:auth show
Display the stored namespace-owner JWT token.Usage
Options
| Option | Default | Description |
|---|---|---|
--namespace <value> | Auto-detected | Target namespace |
--openclaw-home <path> | ~/.openclaw | OpenClaw home directory |
--token-file <path> | Auto-generated | Token file path override |
Examples
Show stored token:login (alias)
Thelogin command is an alias for auth login:
Service Management Commands
Service management commands register services with the Sigilum API and configure gateway connections.service add
Register a service in the local API database, create/store service API keys, and (for gateway mode) create/update gateway connections with upstream secrets.Usage
Required Options
| Option | Description |
|---|---|
--service-slug <slug> | Unique service identifier |
General Options
| Option | Default | Description |
|---|---|---|
--service-name <name> | Same as slug | Human-readable service name |
--description <text> | - | Service description |
--domain <domain> | localhost | Service domain |
--namespace <namespace> | Auto-detected | Target namespace |
--email <email> | <namespace>@local.sigilum | Service owner email |
--mode <mode> | native | Service mode: native or gateway |
Gateway Mode Options
| Option | Default | Description |
|---|---|---|
--upstream-base-url <url> | - | Upstream API base URL (required) |
--auth-mode <mode> | bearer | Auth mode: bearer, header_key, query_param |
--upstream-header <name> | - | Upstream auth header name |
--auth-prefix <value> | - | Auth header prefix (e.g., Bearer ) |
--upstream-secret-key <key> | - | Secret key name in gateway secrets map |
--upstream-secret <value> | - | Provide secret directly |
--upstream-secret-env <name> | - | Read secret from environment variable |
--upstream-secret-file <path> | - | Read secret from file |
--reveal-secrets | false | Print raw secret values in output |
--gateway-admin-url <url> | http://127.0.0.1:38100 | Gateway admin endpoint |
--gateway-data-dir <path> | - | Fallback gateway data directory |
--gateway-master-key <value> | - | Fallback gateway master key |
Examples
Add native service:Authentication Modes
bearer: Authorization header with Bearer token- Example:
Authorization: Bearer <token>
- Example:
header_key: Custom header with key- Example:
X-API-Key: <token>
- Example:
query_param: Query parameter- Example:
?API_KEY=<token>
- Example:
Secret Sources
You can provide the upstream secret using one of these options:--upstream-secret <value>: Provide directly (not recommended for sensitive values)--upstream-secret-env <name>: Read from environment variable (recommended)--upstream-secret-file <path>: Read from file
Credential Storage
- Service API keys:
.sigilum-workspace/service-api-key-<slug> - Gateway connection secrets:
.sigilum-workspace/gateway-connection-secret-<slug> - Files are created with mode
0600(owner read/write only)
service list
List services registered in the local API database for a namespace.Usage
Options
| Option | Default | Description |
|---|---|---|
--namespace <namespace> | Auto-detected | Target namespace |
--json | false | Output as JSON |
Examples
List services:service secret set
Rotate or set an upstream secret for an existing gateway connection.Usage
Required Options
| Option | Description |
|---|---|
--service-slug <slug> | Target service identifier |
Options
| Option | Default | Description |
|---|---|---|
--upstream-secret-key <key> | - | Secret key name override |
--upstream-secret <value> | - | Provide secret directly |
--upstream-secret-env <name> | - | Read secret from environment variable |
--upstream-secret-file <path> | - | Read secret from file |
--reveal-secrets | false | Print raw secret values in output |
--gateway-admin-url <url> | http://127.0.0.1:38100 | Gateway admin endpoint |
Examples
Rotate Linear token:Environment Variables
| Variable | Description |
|---|---|
SIGILUM_NAMESPACE | Default namespace |
GATEWAY_SIGILUM_NAMESPACE | Gateway-specific namespace |
SIGILUM_MODE | Sigilum mode (managed or oss-local) |
SIGILUM_API_URL | API base URL |
SIGILUM_OWNER_TOKEN | Namespace-owner JWT token |
SIGILUM_OWNER_EMAIL | Owner email |
SIGILUM_OWNER_TOKEN_TTL_SECONDS | Token TTL in seconds |
GATEWAY_ADMIN_URL | Gateway admin endpoint URL |
GATEWAY_DATA_DIR | Gateway data directory |
GATEWAY_MASTER_KEY | Gateway master encryption key |
JWT_SECRET | Local JWT signing secret (oss-local) |
Troubleshooting
”Unable to resolve JWT_SECRET”
For oss-local mode, ensureapps/api/.dev.vars contains:
“Token file not found”
The token file is missing. Run login or refresh:“Managed mode requires an explicit owner JWT”
For managed mode, you must provide a token from the dashboard:Service add fails: “Gateway admin not reachable”
Ensure the gateway is running:Secret not set in gateway connection
Check the connection file:Next Steps
Gateway Commands
Manage the Sigilum gateway
OpenClaw Integration
Integrate with OpenClaw agents