SpamTitan Lists — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited SpamTitan Lists (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.
SpamTitan maintains two key sender policy lists that override the spam filtering engine: the allowlist (trusted senders whose mail is always delivered) and the blocklist (blocked senders whose mail is always rejected or quarantined). Proper list management is essential for MSPs to balance effective spam filtering against business continuity — preventing false positives from disrupting client workflows while blocking persistent unwanted senders.
The allowlist contains senders whose email is delivered directly to users' inboxes, bypassing spam scoring. Use the allowlist for:
Caution: Allowlisting bypasses spam filtering entirely. Only allowlist senders you have explicitly verified as legitimate. Attackers frequently spoof trusted sender addresses.
The blocklist causes matching emails to be immediately rejected or quarantined, regardless of their spam score. Use the blocklist for:
Both lists support multiple entry scopes:
[email protected] — matches only that exact address@example.com or example.com — matches all senders from that domain203.0.113.45 — matches email from a specific sending IPIn multi-tenant SpamTitan deployments, lists can be applied at two scopes:
Always prefer per-domain entries in MSP environments to avoid unintended cross-client effects.
spamtitan_list_allowlistParameters:
domain — Filter entries for a specific client domain (omit for global entries)type — Filter by entry type (email, domain, ip)page — Page number (1-based)limit — Results per page (max 200)Example response:
{
"entries": [
{
"id": "al-00491",
"entry": "[email protected]",
"type": "email",
"domain": "clientcorp.com",
"added_at": "2026-01-15T10:30:00Z",
"added_by": "[email protected]",
"notes": "PagerDuty monitoring alerts — falsely quarantined"
},
{
"id": "al-00492",
"entry": "@trusted-partner.com",
"type": "domain",
"domain": "clientcorp.com",
"added_at": "2026-02-01T14:22:00Z",
"added_by": "[email protected]",
"notes": "Accounting partner — invoices frequently quarantined"
}
],
"total": 12,
"page": 1,
"limit": 200
}spamtitan_manage_allowlistParameters:
action — add or removeentry — The sender address, domain, or IP to allowlistdomain — Client domain scope (omit for global)notes — Reason for adding (strongly recommended for audit trail)Example — Add email address to allowlist:
{
"action": "add",
"entry": "[email protected]",
"domain": "clientcorp.com",
"notes": "CRM notification emails — quarantined due to bulk mail score"
}Example response:
{
"success": true,
"id": "al-00499",
"entry": "[email protected]",
"type": "email",
"domain": "clientcorp.com",
"added_at": "2026-03-02T11:15:00Z"
}Example — Remove an entry from allowlist:
{
"action": "remove",
"entry": "[email protected]",
"domain": "clientcorp.com"
}spamtitan_list_blocklistParameters:
domain — Filter entries for a specific client domain (omit for global entries)type — Filter by entry type (email, domain, ip)page — Page number (1-based)limit — Results per pageExample response:
{
"entries": [
{
"id": "bl-00201",
"entry": "@persistent-spammer.net",
"type": "domain",
"domain": null,
"scope": "global",
"added_at": "2026-02-28T09:00:00Z",
"added_by": "[email protected]",
"notes": "Confirmed spam campaign — multiple clients targeted"
},
{
"id": "bl-00202",
"entry": "[email protected]",
"type": "email",
"domain": "clientcorp.com",
"scope": "per-domain",
"added_at": "2026-03-02T08:30:00Z",
"added_by": "[email protected]",
"notes": "Phishing sender — quarantined 2026-03-02 campaign"
}
],
"total": 8,
"page": 1,
"limit": 200
}spamtitan_manage_blocklistParameters:
action — add or removeentry — The sender address, domain, or IP to blockdomain — Client domain scope (omit for global)notes — Reason for blocking (required for audit trail best practice)Example — Block a domain globally:
{
"action": "add",
"entry": "@confirmed-malicious.ru",
"notes": "Confirmed phishing domain — identified in multiple client incidents 2026-03-02"
}Example response:
{
"success": true,
"id": "bl-00209",
"entry": "@confirmed-malicious.ru",
"type": "domain",
"scope": "global",
"added_at": "2026-03-02T12:00:00Z"
}Example — Remove a blocklist entry (e.g., false positive block):
{
"action": "remove",
"entry": "[email protected]"
}spamtitan_list_allowlist to check if the sender is already listed (may need to be updated)spamtitan_manage_allowlist with action=add and the sender address or domainspamtitan_release_messagenotes value explaining why the sender is trustedspamtitan_manage_blocklist with action=add and include descriptive notes@gmail.com)spamtitan_delete_messagespamtitan_list_allowlist and spamtitan_list_blocklist for each client domainspamtitan_manage_allowlist or spamtitan_manage_blocklist using action=removespamtitan_manage_blocklistCause: Attempting to add an entry that already exists in the list Solution: Call spamtitan_list_allowlist or spamtitan_list_blocklist to check existing entries before adding
Cause: Attempting to remove an entry that doesn't exist or uses a different format than what was added Solution: List the current entries and use the exact entry value that appears in the list response
Cause: Submitting an improperly formatted email address, domain, or IP Solution: Ensure domains use the @domain.com format; IP addresses must be valid IPv4 or IPv6; email addresses must include both local part and domain
Cause: API key does not have permission to manage lists for the specified domain Solution: Verify API key scope; use global scope or contact your SpamTitan admin to grant per-domain access
notes when adding list entries — six months from now, no one will remember why a sender was allowlisted~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.