Tenuo
Security guardrails for Hermes tool calls: per-call authorization, so a prompt injection cannot make the agent do more than you allowed. Each call is checked against a signed, expiring permission slip (a warrant) before the handler runs, down to the arguments (file paths, search queries, spending limits), and every decision lands in a local audit log. Give cron jobs, delegate_task subagents and gateway users their own policy.
Good to know before installing
Hermes-tenuo is a no-op until a warrant is configured and blocks every tool call in a kanban worker that has no per-task warrant; it appends every tool call's name and full arguments to $HERMES_HOME/tenuo/audit.jsonl (disable with audit_log: false); when TENUO_CONNECT_TOKEN or TENUO_CONTROL_PLANE_URL are set, the bundled tenuo SDK (compiled Rust core) streams those decisions, including arguments, to that control plane.
From the plugin's catalog listing.
How to install
- Install it. Hermes asks for any API keys it needs (this one needs
TENUO_WARRANT,TENUO_SIGNING_KEY), then asks whether to turn it on.hermes plugins install hermes-tenuo - Said no? Turn it on later:
hermes plugins enable hermes-tenuo - Restart Hermes so it loads the plugin.
Some plugins also need a sign-in or settings: see Full setup & settings. Memory plugins ask whether to become your memory provider instead. Steps follow the official plugins guide (opens in a new tab).
- Category
- Security & privacy
- Maintained by
- tenuo-ai (Community)
- Needs
TENUO_WARRANTTENUO_SIGNING_KEYAPI keys- Needs Hermes
- 0.20 or newer
- Version
- 0.1.3
- In the catalog
- 2026-10-06, updated 2026-10-08
- GitHub stars
- 2
Full setup & settings ↗Source code ↗
More in security & privacy
All security & privacy plugins
New Hermes Agent updates every day on X. Follow @HermesWatcher