Mandatory Access Control (MAC) is a non-discretionary security model where a central authority, not the resource owner, makes all access decisions based on system-wide security policies and labels assigned to subjects (users/processes) and objects (data/resources). This model enforces a strict hierarchical or compartmentalized flow of information, commonly implemented in government and military systems using classifications like Top Secret, Secret, and Confidential. Unlike Discretionary Access Control (DAC), where owners set permissions, MAC policies are universally applied and immutable by end-users, ensuring consistent enforcement of the principle of least privilege.
Glossary
Mandatory Access Control (MAC)

What is Mandatory Access Control (MAC)?
A foundational security model for enforcing strict, centralized data access policies.
In MAC systems, every subject and object is tagged with immutable security labels defining its sensitivity level and need-to-know compartments. The central Policy Enforcement Point (PEP) compares these labels against a predefined security policy—such as the Bell-LaPadula model for confidentiality—to allow or deny access. This architecture is critical for agentic threat modeling and secure enclave execution, where autonomous AI agents must operate within rigidly defined authorization boundaries. By eliminating user discretion, MAC provides a robust framework for tenant isolation and protecting sensitive data in multi-agent or multi-tenant environments.
Core Characteristics of MAC
Mandatory Access Control (MAC) is a non-discretionary security model where a central authority enforces access decisions based on predefined security labels assigned to both subjects (users/processes) and objects (data/resources).
Centralized Policy Enforcement
In MAC, access decisions are mandated by a central policy, not by the resource owner. A Policy Decision Point (PDP), such as a security kernel or reference monitor, evaluates all access requests against a global security policy. This eliminates the risk of users accidentally or maliciously misconfiguring permissions, as seen in Discretionary Access Control (DAC) models. The policy is defined by a system security officer, not individual users.
Labels and Classifications
MAC operates on a system of security labels assigned to all entities. These labels typically include:
- Classification Levels: Hierarchical tiers like Top Secret, Secret, Confidential, Unclassified.
- Compartments: Non-hierarchical categories (e.g., Project Alpha, Finance, EU-Only) that enforce need-to-know. A subject can access an object only if the subject's label dominates the object's label, meaning it meets or exceeds the classification level and possesses all required compartments. This is formalized in models like Bell-LaPadula.
Non-Discretionary Control
The defining feature of MAC is its non-discretionary nature. Users cannot alter the access rights to resources they own. This is a fundamental contrast to Discretionary Access Control (DAC), where file owners can set permissions via Access Control Lists (ACLs). In MAC, the policy is immutable by end-users, providing a higher assurance security model suitable for environments with strict data sovereignty, regulatory compliance, or classified information handling.
Principle of Least Privilege Enforcement
MAC is a rigorous implementation of the principle of least privilege. Access is granted only if explicitly permitted by the security policy based on label matching. There are no default or inherited broad permissions. This minimizes the attack surface and limits the potential damage from compromised accounts. Even if a user's credentials are stolen, the attacker is constrained by the victim's security label and cannot access data at a higher classification or in different compartments.
Formal Security Policy Models
MAC is implemented using mathematically formal models that define precise rules for information flow. The two most cited models are:
- Bell-LaPadula Model: Focuses on confidentiality. Enforces the simple security property (no read-up) and the *property (no write-down).
- Biba Model: Focuses on integrity. Enforces the simple integrity property (no read-down) and the *integrity property (no write-up). These models provide a provable foundation for system security, moving beyond ad-hoc permission lists.
Use Cases and Examples
MAC is employed in high-security environments where data confidentiality and integrity are paramount.
- Military and Government Systems: Classified data handling (e.g., SELinux, originally developed by the NSA).
- Highly Regulated Industries: Healthcare (HIPAA), Finance (PCI-DSS) for protecting sensitive patient or financial data.
- Multi-Tenant Cloud Infrastructure: Enforcing strict tenant isolation in SaaS platforms.
- Container and Microservice Security: Using Linux Security Modules (LSMs) like AppArmor or SELinux to sandbox processes. In these contexts, MAC provides the deterministic, auditable control required for compliance and risk mitigation.
MAC vs. DAC vs. RBAC: Access Control Models Compared
A comparison of the core characteristics, enforcement mechanisms, and typical use cases for three fundamental access control models: Mandatory Access Control (MAC), Discretionary Access Control (DAC), and Role-Based Access Control (RBAC).
| Feature / Characteristic | Mandatory Access Control (MAC) | Discretionary Access Control (DAC) | Role-Based Access Control (RBAC) |
|---|---|---|---|
Primary Decision Authority | Centralized Security Policy / System | Resource Owner / User | Centralized Role Administrator |
Permission Flexibility | |||
Enforcement Granularity | Object & Subject Labels (e.g., Top Secret, Confidential) | Access Control Lists (ACLs) on objects | Roles assigned to users; Permissions assigned to roles |
User's Ability to Delegate Access | |||
Inherent Support for Least Privilege | |||
Typical Administrative Overhead | High (Label Management, Policy Definition) | Low to Moderate (User-Managed) | Moderate (Role Engineering, User-Role Assignment) |
Common Implementation Examples | SELinux, Trusted Solaris, Military Systems | Unix/Linux file permissions (user/group/other), Windows ACLs | Enterprise IAM systems, Cloud IAM (AWS IAM, Azure RBAC) |
Best Suited For | Environments with strict, multi-level security requirements (MLS) | Collaborative environments where resource owners control sharing | Structured business environments with clear functional roles |
Frequently Asked Questions
Mandatory Access Control (MAC) is a foundational security model for enforcing strict, centralized authorization policies. These questions address its core mechanisms, applications in AI systems, and its distinction from other access control models.
Mandatory Access Control (MAC) is a non-discretionary security model where a central policy administrator defines and enforces all access decisions based on system-wide security labels assigned to subjects (users, processes) and objects (files, data).
Unlike Discretionary Access Control (DAC), where resource owners set permissions, MAC removes user discretion. Access is determined by comparing security labels, which typically consist of a classification (e.g., Top Secret, Confidential) and compartments (e.g., PROJECT_ALPHA, FINANCE). A subject can access an object only if the subject's label dominates the object's label—meaning the subject's classification is equal to or higher and the subject possesses all required compartments. This model is fundamental to multi-level security (MLS) systems used by governments and highly regulated industries to prevent data leakage.
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Related Terms
Mandatory Access Control (MAC) operates within a broader ecosystem of security models and authorization frameworks. Understanding these related concepts is essential for designing robust, principle-driven access systems for AI agents and enterprise software.
Discretionary Access Control (DAC)
Discretionary Access Control (DAC) is an access control model where the owner of a resource (e.g., a file, data object) has the discretion to determine which other users or processes can access it and what permissions they possess. This is typically implemented using Access Control Lists (ACLs).
- Key Contrast with MAC: In DAC, control is decentralized to resource owners. In MAC, a central security policy administrator makes all access decisions, and users cannot override them.
- Common Implementation: File system permissions in operating systems like Linux (
chmod,chown) and Windows are classic examples of DAC. - AI/Agent Relevance: A DAC model might allow one AI agent to share a generated report with another agent, whereas a MAC system would require a central policy to permit such sharing based on security labels.
Role-Based Access Control (RBAC)
Role-Based Access Control (RBAC) is an access control model where permissions are assigned to roles, and users (or system identities like AI agents) are assigned to appropriate roles, thereby inheriting the role's permissions.
- Administrative Focus: RBAC simplifies management in large organizations by grouping permissions into job functions (e.g., 'Data Analyst', 'Deployment Manager').
- Comparison to MAC: While RBAC controls who can do what, MAC adds the critical dimension of what data sensitivity level is involved. An RBAC role might grant 'read' access, but MAC policies determine if that role can read 'Top Secret' versus 'Public' documents.
- Enterprise Integration: RBAC is foundational in systems like Kubernetes, cloud IAM (AWS IAM roles), and enterprise directories, often used in conjunction with MAC for multi-level security.
Attribute-Based Access Control (ABAC)
Attribute-Based Access Control (ABAC) is a dynamic authorization model that grants or denies access based on the evaluation of attributes associated with the user, the resource, the action, and the environment against a set of policies.
- Granular and Contextual: Policies use boolean logic (e.g.,
IF user.department == 'Finance' AND resource.classification <= 'Internal' AND time.now BETWEEN 9:00 AND 17:00 THEN ALLOW). - Relationship to MAC: ABAC can implement MAC-like rules by using resource attributes like
security_labeland user attributes likeclearance_level. However, ABAC is more flexible, incorporating real-time context (location, device health). MAC is a specific, stricter subset often enforced by the operating system kernel. - AI Agent Use Case: An ABAC policy could allow an agent to call a financial API only if its session attribute
task_typeis 'monthly_report' and the current system load attribute is below 70%.
Policy Decision Point (PDP) / Policy Enforcement Point (PEP)
These are the core architectural components of a policy-based access control system, which is the typical implementation pattern for MAC, ABAC, and other modern models.
- Policy Enforcement Point (PEP): The component that intercepts an access request (e.g., an AI agent trying to read a database). It is the guard that asks, "Should this request be allowed?" It then enforces the decision returned by the PDP.
- Policy Decision Point (PDP): The brain of the system. The PDP evaluates the request context (who, what, where, when) against the central policy database (e.g., MAC security labels and rules) and returns an Allow or Deny decision to the PEP.
- In MAC Systems: The operating system kernel often acts as the PEP, while a trusted security server or kernel module acts as the PDP, consulting the centralized MAC policy (e.g., SELinux policies).
Principle of Least Privilege
The principle of least privilege is a foundational security mandate that requires every user, process, or system component (like an AI agent) to operate using the minimum levels of access—or permissions—necessary to perform its legitimate function.
- Core Objective: To reduce the attack surface by limiting the potential damage from accidents, errors, or credential compromise.
- MAC as an Enforcer: MAC is a powerful mechanism for enforcing least privilege at a systemic level. By labeling all subjects (agents) and objects (data, APIs) and defining strict rules, MAC inherently prevents any entity from accessing resources beyond its explicitly defined clearance and need-to-know.
- Implementation Contrast: While DAC relies on users to correctly assign permissions, and RBAC relies on correct role assignment, MAC enforces least privilege through immutable, system-wide policy, making it a stronger control for high-security environments.

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us