Deployment
August 6, 2026 ยท View on GitHub
Production hardening
sondera serve binds 127.0.0.1:50051 by default, so it is reachable only from
the local host. Whichever process binds the address first controls adjudication
for all hook clients, and neither surface authenticates its caller: adjudication
is plain HTTP/2 gRPC, while the console returns the whole local store and
exposes agent deletion.
Keep the bind address on loopback (or a private interface) and do not expose it
publicly without an authenticating proxy in front. Point hook clients at the
harness with SONDERA_HARNESS_ENDPOINT.
sondera mcp binds nothing: it speaks JSON-RPC over the stdio pipes of whatever
client launched it, so its reach is that client's.
Fail-closed behaviour
A hook that cannot reach the harness denies preventive events; it never proceeds unadjudicated. Losing the server therefore blocks the agent rather than silently ungoverning it.
Data handling
With the LLM guardrails enabled, event content is sent to the configured provider โ see Configuration for exactly what leaves the host.