| Decides each tool call inline | Every agent tool call is allowed or denied before it reaches the protected system. | Yes Vekri Gateway decides every MCP tool call sent through it before the broker executes it; a denied call never reaches the system. It is a boundary only when it is the only path to that system. | Documented Runtime Boundaries evaluate each agent action as it happens, and through native hooks or the MCP gateway Zenity can allow, modify or block a tool call before it runs. For Claude Enterprise inference hooks, a beta feature, the default when no verdict arrives in time is to allow. [1] [2] [3] [4] |
|---|
| Verified workload identity | An agent running as a workload proves who it is with a credential the platform issued, not a shared key. | Yes Kubernetes projected service-account tokens, verified with TokenReview before Vekri issues a short-lived token for the run; every call is then authenticated. SPIFFE X.509-SVIDs from a configured trust bundle (no Workload API yet). | Not in public docs Issuing or verifying a platform credential for an agent workload, for example with Kubernetes or SPIFFE, is not described in the public documentation. |
|---|
| Employee agents use company SSO | Agents that employees run sign in as that employee, through the company identity provider. | Yes Vekri is the MCP authorization server for Claude Code and federates to your OpenID Connect provider. SAML sign-in is not available yet. | Partly The AI IAM module correlates identities from Okta and Microsoft Entra with what agents do, and the MCP gateway ties each request to its user or agent. How an agent signs in as the employee is not described. [1] [3] |
|---|
| Task-scoped permissions from the server | What an agent may do is set per task by the server, not by the agent or its prompt. | Yes A run scope for workloads, or a protected access assignment for employees. The effective permission is always an intersection, never a widening. | Not in public docs Tools can be allowed or blocked per agent, user or team. A permission scope issued by the server for each task is not described in the public documentation. [3] |
|---|
| Policy as code, deny by default | Decisions come from versioned policy, and anything not allowed is refused. | Yes Cedar over typed operations. Unknown operations and evaluation errors are denied, and a revision can be simulated before it is published. | Partly Runtime Boundaries are deterministic rules over which agents may run and which tools and MCP servers they may reach, and can run in a detect mode before a prevent mode. The rule language and deny-by-default behavior are not described. [2] [5] |
|---|
| Approval of the exact operation | A person approves one specific operation, and the approval cannot be reused for another. | Yes Privileged writes wait for another person to approve that operation, bound to its digest, short-lived and single use, with separation of duties. | Not in public docs A step in which a person approves one specific operation is not described in the public documentation. |
|---|
| Agent never holds backend credentials | Secrets for the protected system stay out of the agent's reach. | Yes A broker executes with narrowly scoped Kubernetes or GitHub App credentials. Incoming tokens are never forwarded. | Not in public docs Zenity names agents holding their own upstream credentials as a risk. Brokering credentials so that the agent never holds them is not described in the public documentation. [3] |
|---|
| Audit evidence of decision and outcome | Each call leaves a durable record of what was decided and what happened. | Yes Intent is recorded durably before execution and the outcome after; an uncertain outcome is never retried blindly. | Documented Zenity keeps session replays of prompts, responses and tool calls as evidence, and sends posture and runtime findings to AWS Security Hub in OCSF format. [6] [8] |
|---|
| AI agents on workstations | Finds AI coding agents and other AI applications on employee devices, and watches or controls what they do there. | Partly Vekri Endpoint discovers coding agents, desktop and IDE AI apps, local models and their MCP servers on macOS and Linux, and its local MCP gateway decides each MCP tool call sent through it (Claude Code verified connecting; tool calls verified with an MCP client library). On macOS, a network gateway mediates MCP requests to approved remote servers, and agent control stops AI agents the organization has not allowed. Hooks observe built-in tools without blocking them; Windows is not supported. | Documented Zenity discovers Claude Code, Cowork, Codex, GitHub Copilot and Cursor on developer machines, observes them through native hooks and OpenTelemetry, and can block a tool call through hooks or its MCP gateway. Supported operating systems are not stated. [2] [7] |
|---|
| Prompt and output inspection | Detects prompt injection or sensitive data in what models read and write. | Partly Tool results on Vekri Gateway and the local MCP gateway are inspected for prompt injection before the agent reads them; sensitive-data categories are detected on the device, off by default. Browsers and file uploads are not inspected. | Documented Zenity detects prompt injection, including indirect injection in tool output, package metadata, web results and code comments, and can redact outputs that would expose secrets such as SSH keys or API tokens. [1] [5] |
|---|
| Systems covered | Which systems, platforms or agents the product works with. | Kubernetes and GitHub, with GitLab, PostgreSQL, MySQL, MongoDB, Slack, Jira, Linear, Asana, ClickUp, monday.com, HubSpot, Pipedrive, Zendesk, Freshdesk and custom OpenAPI connectors in preview. | Salesforce Agentforce and Microsoft Copilot Studio, agents on AWS Bedrock and Google Vertex AI, Claude Enterprise, and coding agents such as Claude Code, Cowork, Codex, GitHub Copilot and Cursor. |
|---|
| Deployment | How the product is delivered. | In Vekri's cloud, or self-hosted in your Kubernetes cluster with no connection to Vekri. | Zenity is available through AWS Marketplace. It connects to SaaS and cloud agent platforms through integrations, and to coding agents through native hooks and OpenTelemetry, with no endpoint sensor. A self-hosted option is not described in the public documentation. |
|---|