How Security Policies Work
Every policy has four key elements:Effect
Deny or Allow. Determines what happens when conditions are (or aren’t) met.
Conditions
Environmental attributes to evaluate: source IP, time, day of week, MFA status, device type, or user agent.
Targeting
Which permissions, roles, devices, or integrations this policy applies to. Empty targeting means “applies to all.”
Priority
Numeric value that determines evaluation order. Higher priority policies are evaluated first.
Deny vs. Allow Policies
Understanding the two policy effects is critical:- Deny Policies
- Allow Policies
“Block access if conditions are NOT met.”The most common type. A Deny policy defines requirements that must be satisfied — if the user’s request does not meet the conditions, access is blocked.Example: Business Hours Only
- Effect:
deny - Condition:
time_of_daybetween08:00and18:00 - Meaning: “Deny access if the request is NOT between 08:00–18:00”
- Result: Access outside business hours is blocked
- Effect:
deny - Condition:
source_ipin203.0.113.0/24 - Meaning: “Deny access if the request is NOT from the corporate VPN public IP range”
- Result: Access from outside the corporate VPN is blocked
Targeting: Controlling Policy Scope
Policies can target specific permissions, roles, devices, or integrations. When a targeting field is left empty, the policy applies to all items in that category.Targeting Fields
| Field | Description | Example |
|---|---|---|
| Target Permissions | Which permissions this policy applies to | devices.read, integrations.execute |
| Target Roles | Which roles this policy applies to | Viewer, Analyst |
| Target Device Names | Regex patterns for device names | .*prod.*, srv-db-.* |
| Target Device OS | Operating system filter (case-insensitive) | Windows, Ubuntu, Darwin, Amazon Linux |
| Target Integration Names | Regex patterns for integration names | .*firewall.*, aws-.* |
| Target Integration Bases | Integration type/vendor | Fortigate, AWS, Palo Alto |
Smart Visibility: In the policy form, device targeting fields only appear when device-related permissions are selected. Integration fields only appear when integration permissions are selected. This keeps the form clean and focused.
Evaluation Flow
When a user makes a request, the system evaluates policies in this order:RBAC Check
The system first verifies the user has the required permission through their assigned roles. If not, access is denied immediately — no policies are evaluated.
Policy Matching
The system finds all active security policies that match the request based on targeting (permissions, roles, device, integration). Policies are ordered by priority (highest first).
Condition Evaluation
For each matching policy, the system evaluates all conditions. All conditions within a policy must pass (AND logic).
Real-World Examples
SOC Business Hours Policy
SOC Business Hours Policy
Goal: Restrict SOC Analyst access to business hours only.
Result: Analysts can only access the platform Monday–Friday, 8 AM to 6 PM. Outside these times, all their requests return 403.
| Setting | Value |
|---|---|
| Name | SOC Business Hours |
| Effect | Deny |
| Priority | 10 |
| Target Roles | Analyst |
| Condition 1 | time_of_day between 08:00 and 18:00 |
| Condition 2 | day_of_week in monday, tuesday, wednesday, thursday, friday |
Production Device MFA Requirement
Production Device MFA Requirement
Goal: Require MFA for any action on production devices.
Result: Any device whose name matches
| Setting | Value |
|---|---|
| Name | Production MFA Required |
| Effect | Deny |
| Priority | 20 |
| Target Device Names | .*prod.* |
| Condition | mfa_status equals true |
.*prod.* requires the user to have an active MFA session. Users without MFA are blocked.VPN-Only Firewall Management
VPN-Only Firewall Management
Goal: Allow firewall integration management only from the corporate VPN.
Result: Editing or executing commands on Fortigate and Palo Alto integrations is only allowed from the corporate VPN IP range (
| Setting | Value |
|---|---|
| Name | VPN-Only Firewall Access |
| Effect | Deny |
| Priority | 15 |
| Target Permissions | integrations.update, integrations.execute |
| Target Integration Bases | Fortigate, Palo Alto |
| Condition | source_ip in 198.51.100.0/24 |
198.51.100.0/24). Access from other IPs is blocked.Viewer Weekday Restriction
Viewer Weekday Restriction
Goal: External auditors (Viewer role) can only access the platform on weekdays.
Result: Users with the Viewer role are blocked on weekends. Other roles (Admin, Analyst) are unaffected.
| Setting | Value |
|---|---|
| Name | Viewer Weekdays Only |
| Effect | Deny |
| Priority | 5 |
| Target Roles | Viewer |
| Condition | day_of_week in monday, tuesday, wednesday, thursday, friday |