Proofpoint Quarantine — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Proofpoint Quarantine (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Proofpoint quarantine holds messages that have been identified as threats, spam, or policy violations. The quarantine API allows administrators to search, preview, release, and delete quarantined messages. This is a critical workflow for MSP help desk teams who need to respond to "missing email" requests from end users.
Quarantine operates at two levels:
only holds mail that was stopped before delivery. Pulling a delivered message back out of Microsoft 365 or Google Workspace is TRAP auto-pull and search-and-destroy: use proofpoint-forensics.
carries the scores but not the threat event, its classification, or its campaign; use proofpoint-tap.
and re-checking urldefense.proofpoint.com URLs is proofpoint-url-defense.
shared across the stack. Checkpoint Harmony is avanan-quarantine, SpamTitan is spamtitan-quarantine, and Mimecast calls it the held queue: mimecast-queue-management.
| Reason | Description | Default Retention |
|---|---|---|
spam | Message scored above spam threshold | 30 days |
phish | Message identified as phishing | 30 days |
malware | Message contained malware | 30 days |
impostor | Message flagged as BEC/impostor | 30 days |
bulk | Bulk/marketing email | 14 days |
adult | Adult content filter match | 30 days |
policy | Custom policy rule match | Configurable |
dmarc | Failed DMARC authentication | 30 days |
dkim | Failed DKIM verification | 30 days |
spf | Failed SPF check | 30 days |
| Folder | Contents | Release Allowed |
|---|---|---|
quarantine | Admin quarantine (threats, policy) | Admin only |
spam | End-user spam quarantine | End-user or admin |
bulk | Bulk/graymail quarantine | End-user or admin |
| State | Description |
|---|---|
quarantined | Message is held in quarantine |
released | Message was released to recipient |
deleted | Message was permanently deleted |
expired | Message exceeded retention period and was removed |
| Field | Type | Description |
|---|---|---|
id | string | Unique quarantine message identifier |
GUID | string | Message GUID (links to TAP events) |
QID | string | Queue ID from mail server |
sender | string | Envelope sender address |
recipients | string[] | List of recipient addresses |
subject | string | Message subject line |
date | datetime | When the message was received |
quarantineDate | datetime | When the message was quarantined |
reason | string | Why the message was quarantined |
folder | string | Which quarantine folder holds the message |
size | int | Message size in bytes |
headerFrom | string | Display From address (may differ from envelope sender) |
replyTo | string | Reply-To address if present |
spamScore | int | Spam confidence score |
phishScore | int | Phishing confidence score |
malwareScore | int | Malware confidence score |
impostorScore | int | Impostor/BEC confidence score |
| Parameter | Type | Description |
|---|---|---|
sender | string | Filter by sender address (exact or partial) |
recipient | string | Filter by recipient address |
subject | string | Filter by subject (substring match) |
startDate | datetime | Start of date range |
endDate | datetime | End of date range |
reason | string | Filter by quarantine reason |
folder | string | Filter by quarantine folder |
limit | int | Maximum results (default 25, max 500) |
offset | int | Pagination offset |
| Tool | Description | Key Parameters |
|---|---|---|
proofpoint_quarantine_list | List quarantined messages with sender, recipient, subject and reason | sender, recipient, subject, startDate, endDate, folder, page, per_page |
proofpoint_quarantine_search | Keyword search across sender, recipient and subject | query (required), startDate, endDate, page, per_page |
proofpoint_quarantine_release | ⚠ High-impact. Deliver a quarantined message to its recipient | message_id (required) |
proofpoint_quarantine_delete | ⚠ Destructive, irreversible. Permanently delete a quarantined message | message_id (required) |
Note the split: _list is the structured, field-filtered query and _search is a single free-text query across three fields. Reach for _list when you know the sender or recipient — _search cannot filter by them.
quarantine_preview and no get-by-ID. _list and _search return metadata — sender, recipient, subject, reason — and nothing more. A release decision here is made on metadata alone. If the subject line is not enough to judge legitimacy, escalate to someone with Proofpoint console access rather than releasing on a guess.
message_id. Multiple messages means multiple calls, each one a separate decision — which is a feature, not a limitation to work around.
proofpoint_quarantine_list with recipient=<user>,sender=<expected_sender> and an appropriate date range
quarantine reason. You cannot read the body; if the metadata does not settle it, do not release, escalate
proofpoint_quarantine_release with themessage_id
policy in the Proofpoint console — this plugin has no policy-write tool
proofpoint_quarantine_list with folder=quarantine andper_page=100
proofpoint_quarantine_release callper message
proofpoint_quarantine_delete at a timeproofpoint_quarantine_list with sender=<known_good_sender>you expect — there is no bulk tool, so each release is its own call and its own decision
proofpoint_quarantine_release once per message_idproofpoint_quarantine_list with a narrow time windowreason to identify what type of messages increasedsender to identify if a single source is responsibleproofpoint_quarantine_list with a date range older than 14 daysand review what is still held
quarantine store is the only copy, and deleting forecloses any later forensic question
proofpoint_quarantine_delete per message_id| Code | Message | Resolution |
|---|---|---|
| 400 | Invalid date range | Ensure startDate is before endDate |
| 400 | Invalid folder | Use quarantine, spam, or bulk |
| 401 | Authentication failed | Verify service principal and secret |
| 403 | Insufficient permissions | Ensure quarantine management is enabled |
| 404 | Message not found | Message may have expired or been deleted |
| 409 | Message already released | Message was already released by another admin |
| 429 | Rate limit exceeded | Implement backoff; limit bulk operations |
If a release fails:
limit and offset~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.