{% extends "base.html" %} {% block title %}Email Policies · SD RMM{% endblock %} {% block content %} {% include "_email_nav.html" %}
Named policies decide what happens to a detection (quarantine / block / tag / deliver). Sender lists below force-flag or trust specific senders.
gmail.modify scope).{% endif %}
| Policy | Applies to | Min severity | Action | Scope | Priority | Status | |
|---|---|---|---|---|---|---|---|
| {{ r.name }}{% if r.is_base %}built-in{% endif %} | {{ r.threat_type|capitalize if r.threat_type else 'Any threat' }} | {{ r.min_severity }}+ | {{ r.action }} | {{ org_name.get(r.org_id, 'All orgs') if r.org_id else 'All orgs' }} | {{ r.priority }} | ||
| No policies yet. The standard set seeds on the next service start. | |||||||
Lowest priority number wins; an org-specific policy overrides a built-in at the same priority. Detect-only for now — the chosen action is recorded as the message's disposition; physically moving mail arrives with mailbox remediation (Step B) / the MX gateway.
Block force-flags a message; allow (trusted senders) suppresses heuristic detections (hard malware/IOC hits are never suppressed). Set a direction to build inbound vs outbound ACLs — inbound matches the sender of arriving mail; outbound entries are stored and enforce once outbound (sent-mail) scanning is enabled.
| Match | Dir | Pattern | Scope | |
|---|---|---|---|---|
| {{ e.match_type }} | {% set d = e.direction or 'any' %}{% if d=='inbound' %}↓ in{% elif d=='outbound' %}↑ out{% else %}↔ any{% endif %} | {{ e.pattern }} | {{ org_name.get(e.org_id, 'Global') if e.org_id else 'Global' }} |
No block rules.
{% endif %}| Match | Dir | Pattern | Scope | |
|---|---|---|---|---|
| {{ e.match_type }} | {% set d = e.direction or 'any' %}{% if d=='inbound' %}↓ in{% elif d=='outbound' %}↑ out{% else %}↔ any{% endif %} | {{ e.pattern }} | {{ org_name.get(e.org_id, 'Global') if e.org_id else 'Global' }} |
No allow rules.
{% endif %}