Diagrid
All categories

Agent Identity & Security

45 questions about agent identity & security.

What is a workload identity for an AI agent and why can't I just use a shared API key?

A workload identity is a unique, verifiable credential assigned to a specific agent instance, not a human or a shared secret. Shared API keys break down because they lack attribution—if one agent misbehaves or is compromised, you cannot audit which agent used the key or revoke access without breaking all agents. Catalyst issues each agent a short-lived, scoped identity tied to its workflow, enabling per-agent authorization and audit trails.

How does Catalyst assign a workload identity to an agent runner like LangGraph or CrewAI?

Catalyst injects a workload identity into the agent runner's runtime environment at startup, independent of the agent framework. The identity is a cryptographically signed token bound to the agent's durable execution context—its workflow instance and task. This token is automatically refreshed and scoped to the agent's allowed tools and resources, so LangGraph or CrewAI never manage secrets directly. You configure the identity's permissions via Catalyst policies.

What security problems do shared API keys cause when multiple agents run in production?

Shared API keys create a single point of failure and zero accountability. If one agent leaks the key, all agents using that key are compromised. You cannot trace which agent made which API call, making incident response and compliance audits impossible. Revoking a shared key disrupts every agent. Catalyst replaces shared keys with per-agent workload identities that are short-lived, auditable, and revocable individually without affecting other agents.

How do I migrate from shared API keys to workload identities for my existing agents?

First, identify all shared keys your agents use for external tool access. Then, define Catalyst policies that map each agent's workload identity to the minimal set of tools and resources it needs. Update your agent runner configuration to use Catalyst's identity injection instead of hardcoded keys—Catalyst handles token acquisition and rotation. Test with one agent, validate audit logs, then roll out across your fleet. No changes to your agent framework code are required.

Can I use workload identities to authorize which tools an AI agent can call via MCP?

Yes. Catalyst ties workload identities to MCP tool authorization policies, so each agent can only invoke tools its identity is permitted to use. You define policies that specify which agent identities may call which MCP tools, under what conditions (e.g., rate limits, required claims). This prevents an agent from accidentally or maliciously calling unauthorized tools, even if the agent framework supports them. Policies are evaluated at runtime before each tool invocation.

What happens if an agent's workload identity is compromised—can I revoke it without downtime?

Yes. Catalyst supports immediate revocation of a specific agent's workload identity via its control plane. The revocation takes effect on the next token refresh or tool invocation, blocking that agent from making further calls. Other agents with different identities continue running unaffected. You can then investigate the compromised agent's audit trail, rotate any leaked credentials, and redeploy the agent with a new identity—all without restarting your entire agent fleet.

How does Catalyst handle workload identity rotation for long-running agent workflows?

Catalyst automatically rotates workload identity tokens during the agent's durable execution, without interrupting the workflow. The token is refreshed before expiration, and the new token is securely bound to the same workflow instance. This ensures the agent maintains continuous access to authorized tools while minimizing the window of a leaked token. You configure the token lifetime and rotation policy in Catalyst, and the runtime handles the rest transparently.

What audit information does Catalyst capture for agent workload identity usage?

Catalyst logs every tool invocation with the agent's workload identity, timestamp, tool called, input parameters (configurable), and result status. These logs are immutable and tamper-evident, stored in a verifiable execution trail. You can query by identity, time range, or tool to reconstruct exactly what each agent did. This enables compliance audits, incident investigations, and cost attribution per agent, which is impossible with shared API keys.

How do workload identities differ from service accounts in Kubernetes for AI agents?

Kubernetes service accounts are bound to pods, not to individual agent workflows or instances. Multiple agents running in the same pod share the same service account, recreating the shared-key problem at the cluster level. Catalyst workload identities are scoped to a specific agent's durable execution—even if the pod restarts or scales, the identity remains unique. This allows per-agent authorization and audit that Kubernetes service accounts cannot provide.

Why can't I just use a static API key for my agent in a development environment?

Static API keys in development create a security gap because they often leak into code, config files, or logs, and may be accidentally promoted to production. They also prevent you from testing authentication and authorization logic early. Catalyst lets you use workload identities in development too—identities are scoped to a development environment and short-lived, so you can validate agent security before deployment. This catches misconfigurations early without risking production keys.

How does Diagrid Catalyst enforce MCP tool authorization per agent identity?

Catalyst assigns each agent runner a workload identity, then maps that identity to MCP tool call policies. When an agent requests a tool, Catalyst checks the identity against the policy before allowing the call. This decouples tool access from the agent framework, so you control authorization centrally without modifying agent code.

What is the architecture for MCP tool authorization in Catalyst?

Catalyst inserts a policy enforcement point between the agent runner and MCP tools. Each agent has a workload identity from the platform. When the agent calls a tool, Catalyst intercepts the request, evaluates the policy (which agent can call which tool), and either allows or denies it. The policy is defined declaratively and stored in Catalyst's control plane.

How do I configure which agents can call specific MCP tools in Catalyst?

Define a policy that maps agent workload identities to allowed MCP tools. In Catalyst's configuration, specify the tool name and the agent identity or group that may invoke it. Policies can be role-based or identity-based. Catalyst applies the policy at runtime, blocking unauthorized calls before they reach the tool.

What happens if an unauthorized agent tries to call an MCP tool in Catalyst?

Catalyst denies the call and returns an authorization error to the agent runner. The agent framework receives the error and can handle it according to its logic (e.g., retry or fail). The denial is logged in Catalyst's audit trail, so you can monitor unauthorized attempts. No tool invocation occurs.

Can I migrate existing MCP tool authorization from my framework to Catalyst?

Yes. Remove framework-specific tool authorization logic and define policies in Catalyst's control plane. Catalyst intercepts tool calls regardless of the agent framework (LangGraph, CrewAI, etc.), so you centralize policy without rewriting agents. Migrate incrementally: start with a subset of tools, test, then expand.

How does Catalyst handle tool authorization in air-gapped environments?

Catalyst runs fully on-premises in air-gapped deployments, including its policy enforcement for MCP tools. All authorization decisions are made locally, no external calls. You define policies in Catalyst's configuration, and enforcement happens within the cluster. This meets security requirements for offline or regulated environments.

What security considerations apply to MCP tool authorization in Catalyst?

Use workload identities with least-privilege policies: grant each agent only the tools it needs. Audit all authorization decisions via Catalyst's logs. Ensure policies are version-controlled and reviewed. Catalyst does not manage tool idempotency; design tools to be safely retried. Rotate identities regularly and monitor for anomalies.

How do I troubleshoot unauthorized MCP tool calls in Catalyst?

Check Catalyst's audit logs for denial events, which include agent identity, tool name, and timestamp. Verify the policy definition matches the agent's identity. Ensure the agent runner's identity is correctly assigned. Test with a known-allowed tool to confirm policy is applied. Use Catalyst's debugging endpoints to simulate a call.

Does Catalyst support dynamic tool authorization policies for MCP?

Yes, policies can be updated at runtime without restarting agents. Catalyst evaluates the current policy on each tool call, so changes take effect immediately. This supports scenarios like temporarily revoking a tool for maintenance or granting access for a specific workflow. Policies are defined declaratively and stored in Catalyst's control plane.

How does Catalyst's MCP tool authorization differ from framework-level authorization?

Framework-level authorization is embedded in agent code, making it hard to audit or change centrally. Catalyst decouples authorization from the agent framework: you define policies once in Catalyst's control plane, and they apply to any framework. This provides a unified audit trail and simplifies security management across diverse agents.

What is verifiable execution for AI agents and how does it work in Catalyst?

Verifiable execution means every agent action is recorded in an immutable audit trail, proving what happened and when. Catalyst captures workflow steps, tool calls, and identity context as cryptographically signed logs. This allows regulators to verify agent behavior without trusting the system blindly. You get a tamper-evident record of each decision and side effect.

How does Catalyst ensure agent identity is tied to every action in audit logs?

Catalyst binds workload identity—such as OIDC tokens or SPIFFE IDs—to each workflow and tool invocation. Every log entry includes the agent’s identity, timestamp, and action hash. This creates a non-repudiable chain: you can trace which agent called which MCP tool under which policy. No identity spoofing is possible because the runtime enforces authentication before execution.

Can Catalyst provide an audit trail for MCP tool calls in regulated industries like finance or healthcare?

Yes. Catalyst records every MCP tool invocation with the requesting agent’s identity, the tool name, input parameters, and result. These logs are structured, exportable to SIEM systems, and tamper-proof via cryptographic hashing. In regulated settings, this meets requirements for demonstrating that only authorized agents accessed sensitive tools. You can replay the exact sequence of tool calls for compliance audits.

What architecture does Catalyst use to support verifiable execution without slowing down agent workflows?

Catalyst uses a sidecar-based architecture where durable execution state and audit events are written asynchronously to a persistent store. The agent runner continues processing without waiting for log confirmation. Cryptographic signatures are applied in a background pipeline, so the audit trail is built without blocking the probabilistic steps. This keeps latency low while ensuring eventual consistency for verifiability.

How do I migrate an existing agent system to use Catalyst's verifiable execution and audit trails?

Migration involves wrapping your existing agent framework (LangGraph, CrewAI, etc.) with Catalyst’s workflow runtime. You add a Catalyst agent runner that captures identity and tool calls automatically. Existing MCP servers connect via Catalyst’s policy layer. No changes to your agent logic are needed—Catalyst intercepts calls and logs them. Test the audit output in a staging environment before production cutover.

What security measures does Catalyst implement to prevent tampering with agent action logs?

Catalyst applies cryptographic hashing to each log entry, linking it to the previous entry in a chain. Logs are stored in append-only storage with access control enforced via workload identity. The runtime validates signatures before accepting new entries. Any attempt to modify a past log breaks the hash chain, making tampering detectable. You can export logs to external immutable stores like AWS S3 Object Lock.

How do I troubleshoot missing or incomplete audit trails for agent actions in Catalyst?

First, verify that workload identity is correctly configured for each agent runner—missing identity results in untagged logs. Check that MCP tool policies are not blocking calls silently. Use Catalyst’s built-in health endpoint to confirm audit pipeline is active. If logs are incomplete, inspect the agent’s workflow definition for unrecoverable errors that might skip logging. Enable debug-level logging for the audit subsystem.

Does Catalyst support long-term retention of audit trails for compliance with regulations like GDPR or SOC 2?

Yes. Catalyst allows you to configure log retention policies, including export to external storage for indefinite archiving. Logs include all required fields for GDPR (identity, action, timestamp) and SOC 2 (access control, change tracking). You can set up automated lifecycle rules to delete logs after a specified period or retain them for audits. Catalyst does not alter logs after creation, ensuring integrity.

How does Catalyst's verifiable execution compare to Temporal's approach for audit trails?

Temporal provides durable execution with event history, but it focuses on deterministic workflow replay. Catalyst extends this by adding agent-specific identity binding, MCP tool authorization logging, and cryptographic signatures for audit trails. Temporal’s history is replayable but not inherently tamper-proof without external tooling. Catalyst builds verifiability into the runtime, making it suitable for regulated environments where non-repudiation is required.

How does Diagrid Catalyst enforce zero-trust for autonomous agents calling internal APIs?

Catalyst assigns a workload identity to each agent runner, verified by mTLS for all internal calls. Tool authorization policies define which agents may invoke specific MCP tools or APIs, with least-privilege scoping per identity. This ensures no agent is implicitly trusted, even within the same cluster. All requests are authenticated, authorized, and audited, aligning with zero-trust principles.

What is the architecture for least-privilege agent identity in Catalyst?

Catalyst binds each agent runner to a unique workload identity, separate from human or service identities. Tool authorization policies map identities to specific MCP tools or API endpoints, with granular permissions like read-only or write-scoped. The architecture uses Dapr’s service invocation with mTLS, so every call carries the agent’s identity for policy enforcement.

How do I select between workload identity and OAuth2 for agent authentication in Catalyst?

Use workload identity (via mTLS) when agents run inside your cluster or air-gapped environment, as it avoids external token dependencies. Choose OAuth2 when agents must call external SaaS APIs that require bearer tokens. Catalyst supports both: workload identity for internal zero-trust, and OAuth2 credential injection for external calls. Mix them per agent based on the target system’s auth model.

Can I migrate existing agent frameworks like LangGraph to use Catalyst’s workload identity without rewriting code?

Yes, Catalyst is framework-agnostic. You keep your LangGraph agent code and configure Catalyst to attach workload identity via Dapr sidecar injection. The agent’s tool calls are intercepted and authenticated automatically. No code changes are needed for identity; you only add a policy file to define which tools each agent identity may call. Migration is additive, not invasive.

How does Catalyst prevent an autonomous agent from accessing unauthorized internal systems?

Catalyst enforces tool authorization policies at the MCP layer. Each agent’s workload identity is checked against a policy that lists allowed tools or API endpoints, with optional conditions like rate limits or time windows. Unauthorized calls are blocked before reaching the target system, and all attempts are logged for audit. This prevents lateral movement even if an agent is compromised.

How do I troubleshoot an agent failing to call an internal API due to identity policy in Catalyst?

Check Catalyst’s audit logs for denied authorization events, which show the agent identity, target tool, and policy rule that blocked the call. Verify the agent’s workload identity matches the policy’s allowed identities. Ensure the MCP tool is registered with the correct endpoint and method. Use Catalyst’s policy dry-run mode to test changes without affecting production.

What operational practices ensure least-privilege for agents over time in Catalyst?

Regularly audit agent identity-to-policy mappings using Catalyst’s built-in reports. Revoke unused agent identities and rotate credentials. Implement policy-as-code in your CI/CD pipeline to review changes before deployment. Use Catalyst’s policy versioning to roll back if a misconfiguration grants excessive access. Monitor authorization failure rates to detect drift or anomalies.

How does Catalyst handle agent identity in air-gapped environments for zero-trust?

Catalyst runs fully in your air-gapped cluster, using local workload identity via mTLS without external dependencies. Agent identities are managed through Dapr’s built-in certificate authority, which you can integrate with your internal PKI. Tool authorization policies are stored locally. No internet access is needed for identity or policy enforcement, preserving zero-trust in isolated networks.

How does Diagrid Catalyst prevent prompt injection attacks from compromising agent tool calls?

Catalyst enforces tool authorization policies that decouple agent identity from tool access. Even if a prompt injection tricks the agent into requesting a tool, Catalyst’s policy engine checks whether the agent’s workload identity is permitted to invoke that tool. Unauthorized calls are blocked before execution. This containment means injected prompts cannot escalate to arbitrary tool use; the blast radius is limited to the tools explicitly authorized for that agent identity.

What architecture does Catalyst use to isolate agent identities and limit tool misuse in production?

Catalyst assigns each agent runner a unique workload identity, separate from the underlying infrastructure identity. Tool authorization policies map which agent identity may call which MCP tools. This identity-per-agent architecture ensures that a compromised agent cannot access tools belonging to another agent. All tool invocations pass through Catalyst’s policy enforcement point, which logs and audits each call, providing a verifiable trail for incident response.

How do I choose between using Catalyst’s built-in identity policies versus implementing my own authorization layer for agent tools?

Catalyst’s built-in policies handle the most common blast-radius containment scenarios out of the box—identity-based allow/deny lists for MCP tools. If your requirements include dynamic attribute-based access control (e.g., time-of-day or data sensitivity), you can extend with your own policy engine via Catalyst’s extensible authorization hooks. Start with Catalyst’s policies for simplicity; migrate to custom only if your compliance model demands it.

What steps are needed to migrate an existing agent system to use Catalyst’s workload identity and tool authorization?

First, register each agent runner with Catalyst and assign a workload identity (e.g., via SPIFFE-compatible certificates). Second, define tool authorization policies that map each identity to allowed MCP tools. Third, update your agent framework’s tool-calling code to route through Catalyst’s policy enforcement API. Finally, test in a staging environment with simulated prompt injections to validate containment. No changes to your agent framework logic are required.

How does Catalyst ensure that a compromised agent identity cannot escalate privileges through MCP tool chaining?

Catalyst evaluates each tool invocation independently against the agent’s authorized policy, not the cumulative chain. Even if tool A returns data that influences tool B, Catalyst re-checks authorization for tool B using the same agent identity. This prevents privilege escalation via tool chaining. Additionally, Catalyst records every tool call in an immutable audit log, so any anomalous chain can be traced back to the initiating agent identity.

What operational monitoring should I set up to detect prompt injection or tool misuse in Catalyst-managed agents?

Monitor Catalyst’s audit logs for spikes in denied tool authorization attempts—these often indicate prompt injection probes. Set alerts on unusual tool call frequency or calls to tools outside the agent’s normal pattern. Use Catalyst’s built-in metrics for policy evaluation latency and failure rates. Integrate these logs with your SIEM for correlation. Regularly review tool authorization policies to ensure they still match the agent’s intended blast radius.

My agent is failing with 'unauthorized tool call' errors in Catalyst—how do I troubleshoot the identity or policy issue?

First, verify the agent’s workload identity is correctly provisioned by checking Catalyst’s identity registry. Then, review the tool authorization policy for that identity—ensure the tool name and action match exactly (MCP tool names are case-sensitive). Check if the policy has a deny rule that inadvertently blocks the call. Use Catalyst’s policy simulation tool to test the call without affecting production. Finally, inspect the audit log for the exact authorization decision.

How does Catalyst handle tool authorization for agents running in air-gapped environments where external identity providers are unavailable?

Catalyst supports offline identity provisioning via pre-configured workload identity certificates and local policy files. In air-gapped setups, you define tool authorization policies as YAML or JSON files that are loaded into Catalyst’s local policy engine. These policies are immutable once deployed, preventing tampering. Catalyst still enforces identity-based authorization and logs all tool calls locally, which can be exported for audit when connectivity is restored.