Source Code
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
npm install -g @true-and-useful/janee
janee init
Add a Service
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:
# 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:
openclaw plugins install @true-and-useful/janee-openclaw
Your agent now has:
janee_list_servicesβ see available APIsjanee_executeβ make requests through Janeejanee_reload_configβ hot-reload after config changes
Example: Secure Moltbook Access
Instead of storing your Moltbook key in ~/.config/moltbook/credentials.json:
janee add moltbook -u https://www.moltbook.com/api/v1 -k YOUR_KEY
Then use Janee to post:
# 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
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