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

  1. 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
  2. Said no? Turn it on later:
    hermes plugins enable hermes-tenuo
  3. 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_WARRANT TENUO_SIGNING_KEY API 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

← All plugins