npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, πŸ‘‹, I’m Ryan HefnerΒ  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you πŸ™

Β© 2026 – Pkg Stats / Ryan Hefner

closedclaw

v0.1.0

Published

πŸ” Encrypted credential vault and security layer for OpenClaw

Readme

πŸ” ClosedClaw

Encrypted Credential Vault & Security Layer for OpenClaw

ClosedClaw protects your API keys and sensitive credentials by storing them in an AES-256-GCM encrypted vault. It runs as a daemon that sits between you and OpenClaw, injecting credentials at runtime without ever storing them in plaintext.

πŸš€ Quick Start

# Install globally
npm install -g closedclaw

# Initialize your vault
closedclaw init

# Store your API keys
closedclaw store anthropic sk-ant-api03-xxxxx
closedclaw store openai sk-xxxxx
closedclaw store elevenlabs xxxxx

# Start the daemon
closedclaw start

# Check status
closedclaw status

πŸ“– How It Works

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   You/Apps   β”‚ ───▢ β”‚  ClosedClaw   β”‚ ───▢ β”‚   OpenClaw   β”‚
β”‚              β”‚      β”‚   (Daemon)    β”‚      β”‚   Gateway    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                              β–Ό
                      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                      β”‚  Encrypted    β”‚
                      β”‚    Vault      β”‚
                      β”‚  (AES-256)    β”‚
                      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  1. Initialize: Create an encrypted vault with your master passphrase
  2. Store: Add API keys - they're encrypted immediately
  3. Start: Launch the daemon, unlock with your passphrase
  4. Use: The daemon injects credentials into OpenClaw requests

πŸ›‘οΈ Security Features

| Feature | Description | |---------|-------------| | AES-256-GCM | Military-grade encryption for all stored data | | scrypt KDF | Passphrase-derived keys with high memory cost | | Secure Permissions | Files created with 0600 mode (owner-only) | | Memory Safety | Credentials cleared from memory when locked | | No Plaintext | API keys never written to disk unencrypted |

πŸ“‹ CLI Commands

closedclaw init

Initialize a new encrypted vault. You'll create a master passphrase.

closedclaw store <provider> <key>

Store an API key for a provider (e.g., anthropic, openai, elevenlabs).

closedclaw list

List all stored providers (keys are never displayed).

closedclaw delete <provider>

Remove a stored credential.

closedclaw start [-f|--foreground]

Start the daemon. Use -f to run in foreground.

closedclaw stop

Stop the running daemon.

closedclaw status

Show vault and daemon status.

closedclaw config [options]

View or update configuration.

  • --daemon-port <port>: Set ClosedClaw's port (default: 3847)
  • --openclaw-port <port>: Set OpenClaw gateway port (default: 3000)

βš™οΈ Configuration

ClosedClaw stores its config at ~/.closedclaw/config.json:

{
  "daemon": {
    "port": 3847,
    "host": "127.0.0.1"
  },
  "openclaw": {
    "gatewayUrl": "http://127.0.0.1",
    "gatewayPort": 3000
  }
}

πŸ”§ Integration with OpenClaw

Update your OpenClaw configuration to use ClosedClaw as the gateway:

{
  "gateway": {
    "port": 3847
  }
}

Or set the environment variable:

export OPENCLAW_GATEWAY_URL=http://127.0.0.1:3847

πŸ“ File Locations

| File | Location | Purpose | |------|----------|---------| | Config | ~/.closedclaw/config.json | Settings & preferences | | Vault | ~/.closedclaw/vault.enc | Encrypted credentials | | PID | ~/.closedclaw/closedclaw.pid | Daemon process ID |

πŸ—οΈ Development

# Clone the repo
git clone https://github.com/closedclaw/closedclaw.git
cd closedclaw

# Install dependencies
pnpm install

# Run in dev mode
pnpm dev

# Build
pnpm build

# Test
pnpm test

πŸ“œ License

MIT Β© ClosedClaw Team