Field note
A practical security model for enterprise AI agents.
A layered security model for identity, authorization, credentials, data boundaries, guardrails, approvals, audit evidence, and incident readiness.
Rushabh Sudame
Founder & CEO
- Published
- Reviewed
- Reading time
- 6 min read
Security lives around the model
An enterprise agent can read sensitive context, select tools, and propose changes across connected systems. The model is therefore only one part of the security boundary. Identity, authorization, credentials, data access, policy enforcement, approvals, audit evidence, and incident procedures must surround every run.
NIST treats AI risk management as a continuous practice across Govern, Map, Measure, and Manage.Source 1 Its Generative AI Profile calls for named incident responsibilities, preserved evaluation history, monitoring for sensitive-data exposure, fallback procedures, and lifecycle change management.Source 2 Neither publication certifies a product; both help organizations decide which controls and evidence fit their context.
1. Establish the acting identity
Every run should answer four questions: which human or service initiated it, which organization owns the context, which agent configuration is executing, and which identity reaches each downstream system. Those identities should remain distinguishable in logs and authorization decisions.
The repository-verified Zilionix authentication model uses HTTP-only JWT cookies, organization context, role permissions, and PostgreSQL row-level security for core tenant isolation. That supports organization-scoped execution. It does not prove that every external connector or every document in a retrieval system has equivalent object-level authorization; those boundaries require configuration and testing.
2. Authorize actions outside the model
Prompts can guide behavior, but hidden instructions are not an access-control system. OWASP's LLM risk guidance emphasizes that prompt injection cannot be solved by model behavior alone and recommends limiting tools and permissions, enforcing authorization in downstream systems, and requiring confirmation for privileged operations.Source 3
Define permissions at action level. Read a record, create a draft, send a message, modify an entitlement, delete a file, and initiate a payment are different capabilities. The destination API should validate tenant, user, resource, and operation even when the model selected a syntactically valid tool call.
Zilionix implements RBAC and configurable agent tool attachments. Teams should explicitly select the tools available to each agent and keep authorization in downstream systems rather than treating platform access as least privilege by default.
3. Isolate credentials from reasoning context
Credentials should never appear in prompts, memory, tool descriptions, or model-visible traces. A credential service should resolve the appropriate secret only when an authorized tool executes, and the resulting token should be scoped to the narrowest practical action.
The Zilionix repository includes an encrypted per-user credential vault using AES-256-GCM, with an AWS Secrets Manager backend option. That is an implementation capability, not a statement about how a particular deployment stores, rotates, or revokes secrets. Teams still need ownership rules, rotation procedures, provider-side scopes, and emergency revocation.
4. Define the data boundary
Treat documents, web pages, messages, and tool responses as both data and possible instruction carriers. Retrieval should enforce tenant boundaries, validate source authority, retain provenance, and avoid forwarding unnecessary sensitive content into prompts or logs.
OWASP's vector and embedding guidance calls out permission-aware retrieval, tenant partitioning, source validation, and retrieval logging.Source 4 Organization-level row isolation is useful, but it does not by itself prove document-level permissions across every ingestion and retrieval path. Test access at the level at which users expect confidentiality.
Data minimization should extend to observability. Preserve identifiers, hashes, policy outcomes, and protected references when full content is not necessary. Content capture should be a deliberate choice with retention and access controls, not an accidental side effect of debugging.
5. Place guardrails in the execution path
Guardrails can inspect input, retrieved context, generated output, and proposed tool actions. They can detect policy patterns, sensitive data, disallowed content, or unexpected behavior. They cannot replace identity, authorization, validation, and restricted tools.
Zilionix contains a hierarchical guardrail policy engine and several provider adapters across chat, tools, retrieval, and workflows. Some heavier adapters depend on a separate worker, and embedding-input checks are not a completed capability. Public descriptions should therefore speak about the implemented policy engine without suggesting that every adapter is active in every deployment.
OWASP describes excessive agency as excessive functionality, permission, or autonomy.Source 5 The strongest response is structural: reduce available tools, narrow scopes, set budgets and timeouts, validate proposed actions, and move consequential operations behind human review.
6. Put people at irreversible boundaries
Approval is appropriate before external sends, payments, deletion, publication, access changes, legal commitments, or other actions that are hard to reverse. The reviewer needs the proposed action, evidence, policy result, destination, and likely consequence—not an opaque approve button.
The current Zilionix approval node is a terminal workflow boundary. It can assign reviewers and record an approval or rejection, but it does not continue downstream steps in the same execution. A subsequent action must be separately initiated. This limitation should be explicit in workflow design and customer-facing content.
7. Preserve an audit receipt
An agent receipt should record the initiator, tenant, agent and workflow version, model and prompt configuration, retrieved-source references, proposed and executed tools, authorization and policy results, approvals, output, errors, and terminal status. The purpose is reconstruction: an investigator should be able to identify what happened and which controls participated.
The Zilionix repository contains audit records, OpenTelemetry traces, content hashes, asynchronous hash-chain building, and integrations for signed or retention-protected checkpoints. These components can support tamper-evident evidence when correctly configured. They do not independently prove that storage retention, scheduling, access controls, or organizational review procedures are operating in a specific environment.
8. Prepare incident handling before autonomy
Monitoring is not the same as response. Before activating consequential actions, name who can suspend the workflow, revoke credentials, preserve evidence, notify affected owners, restore a known configuration, and decide when execution may restart. Test those procedures using realistic failure scenarios.
Zilionix traces model, agent, tool, workflow, and supervisor activity, with content capture disabled by default. That evidence can support investigation. The repository does not establish a complete automated incident-response program, so organizations must integrate traces and audit records into their own detection, escalation, containment, recovery, and review processes.
OWASP's agentic risk taxonomy adds goal hijacking, tool misuse, privilege abuse, insecure inter-agent communication, memory poisoning, cascading failures, and rogue behavior to the threat model.Source 6 The taxonomy is a planning aid, not a claim about prevalence or assurance.
9. Understand deployment responsibility
Deployment changes which party operates networks, secrets, storage, logging, and runtime services; it does not remove those responsibilities. The Zilionix repository includes containerized deployment artifacts and configuration for an AWS Bedrock VPC endpoint. These are available implementation paths, not evidence of a currently operated customer environment.
For any deployment, document responsibility for identity, key rotation, network egress, database backups, log retention, model-provider configuration, software updates, vulnerability response, and recovery tests. A private network alone does not guarantee secure authorization or safe agent behavior.
10. Use external frameworks precisely
The EU AI Act includes requirements for logging, effective human oversight, robustness, monitoring, and incident responsibilities for systems and actors that fall within its defined high-risk scope.Source 7 Applicability depends on the system's purpose, role, and deployment context. It is inaccurate to imply that every agent is high-risk or that adopting selected controls establishes conformity.
NIST, OWASP, and the EU legislation serve different functions: risk-management guidance, security threat guidance, and law. A credible security page maps relevant practices without converting those references into badges.
Use Security for Zilionix control boundaries, Platform for execution architecture, and Developers for publishing and integration surfaces.
Source boundary
NIST guidance is voluntary. OWASP publications are community-maintained risk taxonomies, not assurance standards. The EU AI Act has defined scopes, actors, duties, and application dates that require legal interpretation for a specific use. Zilionix capability statements here are repository-verified as of the review date; they do not claim certification, regulatory conformity, public production operation, or completion of a customer's organizational security program.
Evidence
Sources
External references are identified in reading order. Dates show when each source was last checked for this article.
- Source 1
- Source 2
- Source 3
- Source 4
OWASP GenAI Security Project
Vector and Embedding Weaknesses - Source 5
OWASP GenAI Security Project
Excessive Agency - Source 6
OWASP GenAI Security Project
Top 10 for Agentic Applications 2026 - Source 7
European Union
Regulation (EU) 2024/1689
Product reading