Skip to main content

Full schema


[start]


[tools]

Per-tool configuration, [tools.<name>]

The five booleans are tool labels. Rules read labels rather than tool names, which is what lets one rule govern any application whose operator has labelled their tools. The name in [tools.<name>] must exactly match the function name used in the @tool decorator or #[nanny::tool] macro.

[rules]

Every entry is pinned. An unpinned entry is a config error, not a request for the newest version: a control that changes without you deciding to change it is not a control, and it would mean past evidence no longer describes what ran. A pack named here but not installed stops the run before it starts. Add it with nanny rules add.

[observability]


Cloud sync

Cloud sync has no config block. It turns on wherever the NANNY_API_KEY environment variable is set, and there is no field to flip. No key, endpoint, or org lives in nanny.toml, because it is committed, and a committed file must never hold a secret or differ between your staging and production deploys. See Connect to Nanny Cloud for the full flow, and Deploying a governed app for containers and CI.