Installs into .claude/skills of the current project.
Sponsors
SSkills DirectorySkills Directory
Is that skill safe to install?
SSkills DirectorySkills Directory
Know which skills are safe โ weekly.
Are you the author of Janee?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/modbender-janee)
---
name: janee
version: 0.1.0
description: Secrets management for AI agents. Never expose your API keys again.
homepage: https://github.com/rsdouglas/janee
metadata: {"category": "security", "emoji": "๐"}
---
# Janee
Secrets management for AI agents. Store API keys encrypted, make requests through Janee, never touch the real key.
## Why Use Janee?
Most skills tell you to store API keys in plaintext config files. One prompt injection, one leaked log, one compromised session โ and your keys are exposed.
Janee fixes this:
- **Keys encrypted at rest** โ not plaintext JSON
- **Agent never sees the real key** โ requests go through Janee
- **Path-based policies** โ restrict what endpoints can be called
- **Full audit trail** โ every request logged
- **Kill switch** โ revoke access without rotating keys
## Install
```bash
npm install -g @true-and-useful/janee
janee init
```
## Add a Service
```bash
janee add
```
Follow the prompts to add your API credentials. Keys are encrypted automatically.
## Use in Your Agent
Instead of calling APIs directly with your key, call them through Janee:
```bash
# Old way (dangerous):
curl -H "Authorization: Bearer sk_live_xxx" https://api.stripe.com/v1/balance
# Janee way (safe):
# Agent calls execute(capability, method, path) via MCP
# Janee injects the key, agent never sees it
```
## OpenClaw Integration
Install the OpenClaw plugin for native tool support:
```bash
openclaw plugins install @true-and-useful/janee-openclaw
```
Your agent now has:
- `janee_list_services` โ see available APIs
- `janee_execute` โ make requests through Janee
- `janee_reload_config` โ hot-reload after config changes
## Example: Secure Moltbook Access
Instead of storing your Moltbook key in `~/.config/moltbook/credentials.json`:
```bash
janee add moltbook -u https://www.moltbook.com/api/v1 -k YOUR_KEY
```
Then use Janee to post:
```yaml
# Your agent calls:
janee_execute(service="moltbook", method="POST", path="/posts", body=...)
```
Your Moltbook key stays encrypted. Even if your agent is compromised, the key can't be exfiltrated.
## Config Example
```yaml
services:
stripe:
baseUrl: https://api.stripe.com
auth:
type: bearer
key: sk_live_xxx # encrypted
moltbook:
baseUrl: https://www.moltbook.com/api/v1
auth:
type: bearer
key: moltbook_sk_xxx # encrypted
capabilities:
stripe_readonly:
service: stripe
rules:
allow: [GET *]
deny: [POST *, DELETE *]
moltbook:
service: moltbook
ttl: 1h
autoApprove: true
```
## Architecture
```
โโโโโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโ
โ AI Agent โโโโโโโถโ Janee โโโโโโโถโ API โ
โ โ MCP โ โ HTTP โ โ
โโโโโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโ
โ โ
No key Injects key
+ logs request
```
## Links
- GitHub: https://github.com/rsdouglas/janee
- npm: https://www.npmjs.com/package/@true-and-useful/janee
- OpenClaw Plugin: https://www.npmjs.com/package/@true-and-useful/janee-openclaw
Files in this skill
README.md7.4 KB
SKILL.md3.4 KB
docs/CHANGELOG.md974 B
docs/POLICIES.md10.5 KB
package-lock.json41.4 KB
package.json1.2 KB
packages/openclaw-plugin/README.md3.3 KB
packages/openclaw-plugin/openclaw.plugin.json276 B