Two Entry Points
- secure_agent()
- TrustRuntime
secure_agent() detects your framework and applies identity, content Guards, tool-permission enforcement, and audit. It supports LangGraph, Google ADK, and Strands.agent_id (required): the Agent’s identifier, used to fetch constraints and attest identity.mode: "warn" (default) or "enforce".constraints: an explicit constraints dict. When omitted, the runtime fetches them from the Vijil Console.manifest: a signed tool manifest (path or object) for attestation.client: a Vijil client object, used to resolve identity from an API key.See Framework Integrations for per-framework details.Constraints
Constraints define the Agent’s tool permissions and Guard configuration. The runtime resolves them in this precedence order:1
Explicit
A
constraints dict passed to secure_agent() or TrustRuntime() wins over everything else.2
Vijil Console
When you pass a
client, the runtime fetches constraints from the Console for the given agent_id.3
Minimal default
With neither, the runtime falls back to a minimal, permissive default (useful for local development).
denied_tools) apply globally and override an individual Agent’s permissions.
Enforcement Modes
The mode is set once, through the
mode argument, and drives every block-versus-log decision.
Manifests and Attestation
A signed tool manifest lists every tool the Agent may call and each tool’s expected SPIFFE identity. Pass one to verify tool identities at startup:vijil manifest CLI (the trust-cli extra):
Audit
The runtime emits a structured audit event for every Guard pass, permission decision, and attestation check. Pass anaudit_sink callable to route events to your own logging or telemetry pipeline:
Next Steps
Framework Integrations
Per-framework
secure_agent() guidesTrust Runtime Concept
Identity, MAC, manifests, and attestation
Installation
The
trust and trust-adapters extrasObserve
Audit events and telemetry