OSS-Local mode runs the open-source Sigilum API and gateway locally—no hosted services required. Use this for local development, testing, or fully self-hosted deployments.
Prerequisites
Node.js
Version 20 or higher
pnpm
Version 10.29.3 (installed via Corepack)
Go
Version 1.23 or higher
Python
Version 3.11+ (optional, for Python SDK tests)
Installation
Bootstrap dependencies
Enable Corepack and install dependencies:
This installs all monorepo dependencies and builds the TypeScript SDK, which is required for the API and other packages.
Start the local stack
- Sigilum API on
http://127.0.0.1:8787 - Sigilum Gateway on
http://127.0.0.1:38100
Low-Memory Environments
To avoid this, build gateway binaries separately before starting the stack:Configuration
Set Source Home for Global CLI
If you installed thesigilum CLI globally but want to use local API workflows:
.zshrc or .bashrc to make it permanent.
Working with Services
Register a Native Service
Native services are Sigilum-aware—they verify signatures directly:Register a Gateway-Routed Service
Gateway-routed services use the gateway as a proxy (for existing APIs like OpenAI, Linear, etc.):List Services
OpenClaw Integration
Install Sigilum hooks and agent key bootstrap for OpenClaw:In
oss-local mode, the installer:- Auto-issues a local namespace-owner JWT
- Prints the dashboard URL
- Prints the passkey setup URL for attaching a passkey to the seeded namespace
Verify OpenClaw Status
Testing
Run End-to-End Tests
- Boots demo services
- Seeds test authorization state
- Runs the agent simulator to verify:
- Signed approved requests succeed
- Unsigned requests are rejected
- Signed unapproved requests fail
Run Diagnostics
Local Data Paths
| Path | Contents |
|---|---|
./.sigilum-workspace | Workspace identities and bootstrap keys |
./.local/gateway-data | Gateway local data store (BadgerDB) |
./.local/bin | Prebuilt gateway binaries |
./apps/api/.wrangler/state/ | API local D1 SQLite files |
Managing the Stack
Stop the Stack
Restart Services
View Logs
Authentication Management
Issue/Refresh Local Owner JWT
Show Stored Token
In
oss-local mode, owner JWTs are issued locally with no passkey requirement. This is for development only—never use this mode in production.Development Workflows
Fast Iteration on Gateway
For rapid gateway development, usego run mode:
Fast Iteration on API
The API runs via Wrangler in dev mode—changes are hot-reloaded automatically. Edit files inapps/api/src/ and refresh your browser.
Testing SDK Changes
After modifying the TypeScript SDK:Running SDK Tests
Architecture
In OSS-local mode: Everything runs locally:- Sigilum API: Cloudflare Workers via Wrangler with local D1 SQLite
- Sigilum Gateway: Go binary with BadgerDB for local storage
- Your Agent: Test agent or SDK integration tests
- CLI:
./sigilumwrapper script for local workflows
Next Steps
Explore the API
Learn the REST API for approvals, revocations, and authorization management
Build with SDKs
Integrate Sigilum signing into your agents with TypeScript, Python, or Go
CLI Reference
Complete command reference for the
sigilum CLIProtocol Specs
DID method specification and SDK signing profile
Troubleshooting
Port already in use
Port already in use
If port 8787 or 38100 is already in use:
Build failures
Build failures
- Ensure you’re using the correct Node.js version:
- Clean and reinstall:
- Check Go version:
OOM errors
OOM errors
If you see out-of-memory errors:
- Build gateway binaries separately (see “Low-Memory Environments” above)
- Reduce concurrent processes:
- Close other applications to free up RAM
Gateway won't start
Gateway won't start
- Check if BadgerDB is locked:
- Rebuild gateway:
- Check logs:
API database errors
API database errors
Reset the local D1 database:
Repository Structure
Key Files
./sigilum: Main CLI wrapper for local workflowsapps/api/wrangler.toml: Wrangler configuration for local APIapps/gateway/service/: Go source for gatewaysdks/sdk-ts/: TypeScript SDK (built todist/)./.sigilum-workspace/: Local identities and keys (git-ignored)./.local/gateway-data/: Gateway database (git-ignored)
Learn More
- API Reference: Full REST API documentation
- Gateway Reference: Gateway configuration and admin API
- Protocol Specs: DID method and signing profile
- Contributing: How to contribute to Sigilum
- Manifesto: Why Sigilum exists