What Zenity actually governs.
The architecture is the argument. Zenity builds an inventory of every agent, judges each one's configuration before it goes live, and then enforces at runtime wherever it has a hook into the platform the agent runs on — which is what makes the posture work so strong, and what draws the line around the enforcement.
The three pillars
The product is presented as three pillars over one inventory, each carrying forward what the last learned about an agent. They are worth scoring separately, because they are not equally deep.
- Surfacea live inventory of agents across agentic SaaS, cloud and homegrown frameworks, and coding and personal agents on employee devices — including the ones security never signed off on. It records ownership, permissions, tool integrations and memory use, and it validates which of an agent's attack paths are actually exploitable rather than merely present.
- Enforcepolicy applied at execution: a boundary engine that evaluates an agent action against the rules and lets it through, blocks it, or shuts the agent down. The same engine governs tools reached over MCP, where agents register a single gateway URL and every call is allowed, modified or blocked on live context.
- Protectruntime detection and response — behaviour correlated against known threat frameworks, triage, and blocking of unsafe actions in real time.
It is delivered as SaaS. Identity is read from Okta and Microsoft Entra rather than issued, and used as policy context.
Where Zenity is strongest
Three of the sixteen rows below go to Zenity and two are level. They follow from a real difference in where each product places its centre of gravity: theirs is the agent's configuration and the platform it was built on, ours is the action.
- The review before the agent runsconfiguration, permissions, tool access and memory judged against policy before anything goes live, with exploitable attack paths separated from theoretical ones. That is a full lifecycle stage ahead of where we govern, and on that row they score a 5 to our 2.
- Depth inside the productivity suitegenerally-available native controls inside Copilot Studio are a closer integration than we have. We govern the suite from outside it, which is what lets one policy also reach agents built anywhere else — on any framework, on any cloud, and in front of your own customers.
- Ecosystem and marketplace reachcloud-marketplace listings and platform partnerships give them a wider distribution footprint than ours today.
- Level with us on two rowsshadow-agent discovery and MCP tool governance. Finding agents nobody registered, and deciding per tool call on live context rather than a static allow-list, are complete capabilities in their product and are scored as such.
Enforcement follows the integration
A boundary engine that judges every action is the right shape for the problem. The question a buyer has to ask is where that engine gets to sit. Inline prevention is generally available inside Copilot Studio and in preview for Azure AI Foundry; MCP tool calls are governed at a gateway agents opt into; coding agents on a laptop are reached through native hooks and OpenTelemetry.
Each of those is a real control point, and each is a different integration. An agent on a platform without one is inventoried, assessed and monitored rather than stopped — which is why runtime enforcement scores a 3 rather than a 5, and why no decision latency is published.
The verdict vocabulary draws the second line. An action is let through, blocked, or the agent is quarantined. Nothing in the published set hands the decision to a person, holds it for approval, or asks for a step-up first — so a risky action that a human would have approved is stopped the same way one that should never happen is.
Correlated is not carried
Identity here is read, not issued. Agent records are correlated to the accounts already in Okta and Entra, the person who built an agent is surfaced alongside it, and the boundary engine knows who is acting and who they are acting for within a session. As policy context that is genuinely useful, and it scores a 3 rather than a 1.
What it does not do is carry an accountable owner. A builder discovered from a platform's own metadata is a fact about how the agent was made, not a standing commitment about who answers for what it does — and for an agent assembled outside the platforms in scope, there is no builder record to read. An owner is who you call at two in the morning. That is a different object from a correlation.
The agents your customers talk to
Every documented use case governs agents the enterprise runs for itself: agents inside its SaaS applications, agents its own teams built on a cloud framework, agents running on employee laptops. That is one half of the problem, and it is the half most vendors in this category have chosen.
The other half is the agent a company puts in front of its own customers — the one acting on a tenant it does not employ, against a customer record it does not own. It needs the same identity fabric and the same per-action verdicts as the internal one, and it is the row where the two products differ most.
What the contract does not say
There is no published pricing unit. The listing is a private offer negotiated on agent count and deployment scope, which is a normal enterprise motion and is scored as what it is rather than as a criticism. But an unpublished unit is a thing a buyer cannot model before the first call, and it cannot be compared against a competitor's without one.
Deployment is SaaS. Where an agent handles regulated data in a jurisdiction that requires it to stay put, hybrid and on-prem are the rows to check.