Skip to main content

Cloudflare/email Security

@swamp/cloudflare/email-securityv2026.10.23.1· AGPL-3.0-or-later· 3d agoBEHAVIORS
01README

Cloudflare email-security infrastructure models

02Release Notes
  • Updated: bulk
  • Updated: allow_policies
  • Updated: block_senders
  • Updated: content_policies
  • Updated: domains
  • Updated: impersonation_registry
  • Updated: sending_domain_restrictions
  • Updated: trusted_domains
  • Updated: url_ignore_patterns
03Behaviors9
@swamp/cloudflare/email-security/allow-policiesv2026.10.23.1allow_policies.ts

Global Arguments

ArgumentTypeDescription
account_idstringCloudflare account ID
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
comments?string
created_at?string
expires_at?stringTimestamp at which the policy expires. After this time, Email Security ignores the policy. The value must lie in the future. Send `null` to clear the expiration.
id?stringAllow policy identifier.
is_acceptable_sender?booleanExempts messages from this sender from Spam, Spoof and Bulk dispositions only; Malicious and Suspicious dispositions still apply.
is_exempt_recipient?booleanBypasses all detections for messages to this recipient.
is_recipient?booleanDeprecated as of July 1, 2025. Use `is_exempt_recipient` instead. End of life: July 1, 2026.
is_regex?boolean
is_sender?booleanDeprecated as of July 1, 2025. Use `is_trusted_sender` instead. End of life: July 1, 2026.
is_spoof?booleanDeprecated as of July 1, 2025. Use `is_acceptable_sender` instead. End of life: July 1, 2026.
is_trusted_sender?booleanBypasses all detections and link following for messages from this sender.
last_modified?string
modified_at?string
pattern?stringThe pattern value to match. The format depends on `pattern_type`: a valid email address for EMAIL (e.g. `user@example.com`), a valid domain name for DOMAIN (e.g. `example.com`), or a plain IPv4 or IPv6 address or CIDR block for IP (e.g. `1.2.3.4`, `1.2.3.0/24`, `2606:4700:4700::1111`, or `2606:4700:4700::/48`); the API rejects private or unique-local, loopback, link-local, unspecified, and IPv4 broadcast addresses, including their IPv4-mapped IPv6 equivalents.
pattern_type?enumType of pattern matching.\n- EMAIL: matches a full email address (e.g. `user@example.com`)\n- DOMAIN: matches a domain name (e.g. `example.com`)\n- IP: matches a plain IPv4 or IPv6 address (e.g. `1.2.3.4` or `2606:4700:4700::1111`) or CIDR block (e.g. `1.2.3.0/24` or `2606:4700:4700::/48`). The API rejects private or unique-local, loopback, link-local, unspecified, and IPv4 broadcast addresses, including their IPv4-mapped IPv6 equivalents.\n- UNKNOWN: deprecated; you cannot use this when creatin
verify_sender?booleanEnforce DMARC, SPF or DKIM authentication. When on, Email Security only honors policies that pass authentication.
apiToken?stringCloudflare API token; overrides the CLOUDFLARE_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
apiKey?stringCloudflare API key for the legacy key+email auth path; overrides the CLOUDFLARE_API_KEY environment variable. Wire with a vault.get(...) expression. Requires email.
email?stringCloudflare account email for the legacy key+email auth path; overrides the CLOUDFLARE_EMAIL environment variable. Requires apiKey.
fn create()
Create a Allow Policies
fn get(id: string)
Get a Allow Policies
ArgumentTypeDescription
idstringThe ID of the Allow Policies
fn lookup(allowMissing?: boolean)
Look up an existing Allow Policies by matching global argument values and import it into state
ArgumentTypeDescription
allowMissing?booleanSucceed and record found: false in lookupResult when nothing matches, instead of failing
fn adopt(id: string)
Import an existing Allow Policies by ID into state for management
ArgumentTypeDescription
idstringThe ID of the Allow Policies to import
fn update(identifier?: string)
Update Allow Policies attributes
ArgumentTypeDescription
identifier?stringTarget a specific Allow Policies by id (e.g. one discovered by list)
fn delete(id: string)
Delete the Allow Policies
ArgumentTypeDescription
idstringThe ID of the Allow Policies
fn sync(identifier?: string)
Sync Allow Policies state from Cloudflare
ArgumentTypeDescription
identifier?stringTarget a specific Allow Policies by id (e.g. one discovered by list)

Resources

state(infinite)— Allow Policies resource state
lookupResult(infinite)— Outcome of the most recent lookup
@swamp/cloudflare/email-security/block-sendersv2026.10.23.1block_senders.ts

Global Arguments

ArgumentTypeDescription
account_idstringCloudflare account ID
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
comments?string
created_at?string
expires_at?stringTimestamp at which the pattern expires. After this time, Email Security ignores the pattern. The value must lie in the future. Send `null` to clear the expiration.
id?stringBlocked sender pattern identifier.
is_regex?booleanWhether `pattern` is a regular expression instead of a literal value.
last_modified?string
modified_at?string
pattern?stringThe pattern value to match. The format depends on `pattern_type`: a valid email address for EMAIL (e.g. `user@example.com`), a valid domain name for DOMAIN (e.g. `example.com`), or a plain IPv4 or IPv6 address or CIDR block for IP (e.g. `1.2.3.4`, `1.2.3.0/24`, `2606:4700:4700::1111`, or `2606:4700:4700::/48`); the API rejects private or unique-local, loopback, link-local, unspecified, and IPv4 broadcast addresses, including their IPv4-mapped IPv6 equivalents.
pattern_type?enumType of pattern matching.\n- EMAIL: matches a full email address (e.g. `user@example.com`)\n- DOMAIN: matches a domain name (e.g. `example.com`)\n- IP: matches a plain IPv4 or IPv6 address (e.g. `1.2.3.4` or `2606:4700:4700::1111`) or CIDR block (e.g. `1.2.3.0/24` or `2606:4700:4700::/48`). The API rejects private or unique-local, loopback, link-local, unspecified, and IPv4 broadcast addresses, including their IPv4-mapped IPv6 equivalents.\n- UNKNOWN: deprecated; you cannot use this when creatin
apiToken?stringCloudflare API token; overrides the CLOUDFLARE_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
apiKey?stringCloudflare API key for the legacy key+email auth path; overrides the CLOUDFLARE_API_KEY environment variable. Wire with a vault.get(...) expression. Requires email.
email?stringCloudflare account email for the legacy key+email auth path; overrides the CLOUDFLARE_EMAIL environment variable. Requires apiKey.
fn create()
Create a Block Senders
fn get(id: string)
Get a Block Senders
ArgumentTypeDescription
idstringThe ID of the Block Senders
fn lookup(allowMissing?: boolean)
Look up an existing Block Senders by matching global argument values and import it into state
ArgumentTypeDescription
allowMissing?booleanSucceed and record found: false in lookupResult when nothing matches, instead of failing
fn adopt(id: string)
Import an existing Block Senders by ID into state for management
ArgumentTypeDescription
idstringThe ID of the Block Senders to import
fn update(identifier?: string)
Update Block Senders attributes
ArgumentTypeDescription
identifier?stringTarget a specific Block Senders by id (e.g. one discovered by list)
fn delete(id: string)
Delete the Block Senders
ArgumentTypeDescription
idstringThe ID of the Block Senders
fn sync(identifier?: string)
Sync Block Senders state from Cloudflare
ArgumentTypeDescription
identifier?stringTarget a specific Block Senders by id (e.g. one discovered by list)

Resources

state(infinite)— Block Senders resource state
lookupResult(infinite)— Outcome of the most recent lookup
@swamp/cloudflare/email-security/bulkv2026.10.23.1bulk.ts

Global Arguments

ArgumentTypeDescription
account_idstringCloudflare account ID
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
action?enumThe action the job performs on every message matching the search parameters.
comment?stringOptional note describing the job.
destination?stringThe mailbox folder to move messages to.
expected_disposition?stringThe verdict Email Security assigns to a message.
search_params?object
apiToken?stringCloudflare API token; overrides the CLOUDFLARE_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
apiKey?stringCloudflare API key for the legacy key+email auth path; overrides the CLOUDFLARE_API_KEY environment variable. Wire with a vault.get(...) expression. Requires email.
email?stringCloudflare account email for the legacy key+email auth path; overrides the CLOUDFLARE_EMAIL environment variable. Requires apiKey.
fn create()
Create a Bulk
fn get(id: string)
Get a Bulk
ArgumentTypeDescription
idstringThe ID of the Bulk
fn lookup(allowMissing?: boolean)
Look up an existing Bulk by matching global argument values and import it into state
ArgumentTypeDescription
allowMissing?booleanSucceed and record found: false in lookupResult when nothing matches, instead of failing
fn adopt(id: string)
Import an existing Bulk by ID into state for management
ArgumentTypeDescription
idstringThe ID of the Bulk to import
fn delete(id: string)
Delete the Bulk
ArgumentTypeDescription
idstringThe ID of the Bulk
fn sync(identifier?: string)
Sync Bulk state from Cloudflare
ArgumentTypeDescription
identifier?stringTarget a specific Bulk by id (e.g. one discovered by list)

Resources

state(infinite)— Bulk resource state
lookupResult(infinite)— Outcome of the most recent lookup
@swamp/cloudflare/email-security/content-policiesv2026.10.23.1content_policies.ts

Global Arguments

ArgumentTypeDescription
account_idstringCloudflare account ID
created_at?string
enabled?booleanWhether the policy is active.
expires_at?stringTimestamp at which the policy expires. After this time, Email Security ignores the policy. The value must lie in the future. Send `null` to clear the expiration.
id?stringContent policy identifier.
modified_at?string
name?stringHuman-readable name of the policy.
notes?stringOptional note describing the purpose of the policy.
pattern?stringRegular expression the policy matches against.
targets?arrayParts of the email the pattern is matched against.
apiToken?stringCloudflare API token; overrides the CLOUDFLARE_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
apiKey?stringCloudflare API key for the legacy key+email auth path; overrides the CLOUDFLARE_API_KEY environment variable. Wire with a vault.get(...) expression. Requires email.
email?stringCloudflare account email for the legacy key+email auth path; overrides the CLOUDFLARE_EMAIL environment variable. Requires apiKey.
fn create()
Create a Content Policies
fn get(id: string)
Get a Content Policies
ArgumentTypeDescription
idstringThe ID of the Content Policies
fn lookup(allowMissing?: boolean)
Look up an existing Content Policies by matching global argument values and import it into state
ArgumentTypeDescription
allowMissing?booleanSucceed and record found: false in lookupResult when nothing matches, instead of failing
fn adopt(id: string)
Import an existing Content Policies by ID into state for management
ArgumentTypeDescription
idstringThe ID of the Content Policies to import
fn update(identifier?: string)
Update Content Policies attributes
ArgumentTypeDescription
identifier?stringTarget a specific Content Policies by id (e.g. one discovered by list)
fn delete(id: string)
Delete the Content Policies
ArgumentTypeDescription
idstringThe ID of the Content Policies
fn sync(identifier?: string)
Sync Content Policies state from Cloudflare
ArgumentTypeDescription
identifier?stringTarget a specific Content Policies by id (e.g. one discovered by list)

Resources

state(infinite)— Content Policies resource state
lookupResult(infinite)— Outcome of the most recent lookup
@swamp/cloudflare/email-security/domainsv2026.10.23.1domains.ts

Global Arguments

ArgumentTypeDescription
account_idstringCloudflare account ID
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
allowed_delivery_modes?arrayDelivery modes to onboard the domain through.
drop_dispositions?arrayDispositions to drop instead of delivering, e.g. `["MALICIOUS", "SPAM"]`.
folder?stringThe mailbox folder to scan, for API-scanning domains.
integration_id?stringIdentifier of the CASB integration that authorizes this domain. The integration also enables API scanning, post-delivery actions, and directory sync.
ip_restrictions?arraySource IP ranges mail is accepted from. Any other source is rejected.
lookback_hops?numberNumber of hops to trace back through received headers when reconstructing the original message (1-20).
regions?arrayRegions that process messages for this domain, e.g. `["GLOBAL"]` or `["US"]`.
require_tls_inbound?booleanRequire TLS on inbound connections.
require_tls_outbound?booleanRequire TLS on outbound connections.
transport?stringThe mail transport hostname for MX/Inline delivery — the MX record Cloudflare delivers email to (e.g. `mx.example.com`).
domain?stringThe email domain to protect.
apiToken?stringCloudflare API token; overrides the CLOUDFLARE_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
apiKey?stringCloudflare API key for the legacy key+email auth path; overrides the CLOUDFLARE_API_KEY environment variable. Wire with a vault.get(...) expression. Requires email.
email?stringCloudflare account email for the legacy key+email auth path; overrides the CLOUDFLARE_EMAIL environment variable. Requires apiKey.
fn create()
Create a Domains
fn get(id: string)
Get a Domains
ArgumentTypeDescription
idstringThe ID of the Domains
fn lookup(allowMissing?: boolean)
Look up an existing Domains by matching global argument values and import it into state
ArgumentTypeDescription
allowMissing?booleanSucceed and record found: false in lookupResult when nothing matches, instead of failing
fn adopt(id: string)
Import an existing Domains by ID into state for management
ArgumentTypeDescription
idstringThe ID of the Domains to import
fn update(identifier?: string)
Update Domains attributes
ArgumentTypeDescription
identifier?stringTarget a specific Domains by id (e.g. one discovered by list)
fn delete(id: string)
Delete the Domains
ArgumentTypeDescription
idstringThe ID of the Domains
fn sync(identifier?: string)
Sync Domains state from Cloudflare
ArgumentTypeDescription
identifier?stringTarget a specific Domains by id (e.g. one discovered by list)

Resources

state(infinite)— Domains resource state
lookupResult(infinite)— Outcome of the most recent lookup
@swamp/cloudflare/email-security/impersonation-registryv2026.10.23.1impersonation_registry.ts

Global Arguments

ArgumentTypeDescription
account_idstringCloudflare account ID
comments?stringOptional note describing the entry.
created_at?string
directory_id?numberIdentifier of the directory the entry was synced from, when directory-synced.
directory_node_id?numberIdentifier of the directory node the entry was synced from, when directory-synced.
email?stringEmail address (or pattern) of the protected identity.
external_directory_node_id?stringDeprecated. External identifier of the directory node.
id?stringImpersonation registry entry identifier.
is_email_regex?booleanWhether `email` is a regular expression instead of a literal address.
last_modified?string
modified_at?string
name?stringDisplay name of the protected identity.
provenance?string
apiToken?stringCloudflare API token; overrides the CLOUDFLARE_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
fn create()
Create a Impersonation Registry
fn get(id: string)
Get a Impersonation Registry
ArgumentTypeDescription
idstringThe ID of the Impersonation Registry
fn lookup(allowMissing?: boolean)
Look up an existing Impersonation Registry by matching global argument values and import it into state
ArgumentTypeDescription
allowMissing?booleanSucceed and record found: false in lookupResult when nothing matches, instead of failing
fn adopt(id: string)
Import an existing Impersonation Registry by ID into state for management
ArgumentTypeDescription
idstringThe ID of the Impersonation Registry to import
fn update(identifier?: string)
Update Impersonation Registry attributes
ArgumentTypeDescription
identifier?stringTarget a specific Impersonation Registry by id (e.g. one discovered by list)
fn delete(id: string)
Delete the Impersonation Registry
ArgumentTypeDescription
idstringThe ID of the Impersonation Registry
fn sync(identifier?: string)
Sync Impersonation Registry state from Cloudflare
ArgumentTypeDescription
identifier?stringTarget a specific Impersonation Registry by id (e.g. one discovered by list)

Resources

state(infinite)— Impersonation Registry resource state
lookupResult(infinite)— Outcome of the most recent lookup
@swamp/cloudflare/email-security/sending-domain-restrictionsv2026.10.23.1sending_domain_restrictions.ts

Global Arguments

ArgumentTypeDescription
account_idstringCloudflare account ID
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
comments?string
created_at?string
domain?stringDomain that requires TLS enforcement.
exclude?arraySubdomains to exempt from TLS requirements.
id?stringSending domain restriction identifier.
last_modified?string
modified_at?string
apiToken?stringCloudflare API token; overrides the CLOUDFLARE_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
apiKey?stringCloudflare API key for the legacy key+email auth path; overrides the CLOUDFLARE_API_KEY environment variable. Wire with a vault.get(...) expression. Requires email.
email?stringCloudflare account email for the legacy key+email auth path; overrides the CLOUDFLARE_EMAIL environment variable. Requires apiKey.
fn create()
Create a Sending Domain Restrictions
fn get(id: string)
Get a Sending Domain Restrictions
ArgumentTypeDescription
idstringThe ID of the Sending Domain Restrictions
fn lookup(allowMissing?: boolean)
Look up an existing Sending Domain Restrictions by matching global argument values and import it into state
ArgumentTypeDescription
allowMissing?booleanSucceed and record found: false in lookupResult when nothing matches, instead of failing
fn adopt(id: string)
Import an existing Sending Domain Restrictions by ID into state for management
ArgumentTypeDescription
idstringThe ID of the Sending Domain Restrictions to import
fn update(identifier?: string)
Update Sending Domain Restrictions attributes
ArgumentTypeDescription
identifier?stringTarget a specific Sending Domain Restrictions by id (e.g. one discovered by list)
fn delete(id: string)
Delete the Sending Domain Restrictions
ArgumentTypeDescription
idstringThe ID of the Sending Domain Restrictions
fn sync(identifier?: string)
Sync Sending Domain Restrictions state from Cloudflare
ArgumentTypeDescription
identifier?stringTarget a specific Sending Domain Restrictions by id (e.g. one discovered by list)

Resources

state(infinite)— Sending Domain Restrictions resource state
lookupResult(infinite)— Outcome of the most recent lookup
@swamp/cloudflare/email-security/trusted-domainsv2026.10.23.1trusted_domains.ts

Global Arguments

ArgumentTypeDescription
account_idstringCloudflare account ID
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
comments?string
created_at?string
id?stringTrusted domain identifier.
is_recent?booleanSelect to prevent recently registered domains from triggering a Suspicious or Malicious disposition.
is_regex?booleanWhether `pattern` is a regular expression instead of a literal domain.
is_similarity?booleanSelect for partner or other approved domains that have similar spelling to your connected domains. Prevents listed domains from triggering a Spoof disposition.
last_modified?string
modified_at?string
pattern?stringThe domain pattern to trust, e.g. `example.com`.
apiToken?stringCloudflare API token; overrides the CLOUDFLARE_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
apiKey?stringCloudflare API key for the legacy key+email auth path; overrides the CLOUDFLARE_API_KEY environment variable. Wire with a vault.get(...) expression. Requires email.
email?stringCloudflare account email for the legacy key+email auth path; overrides the CLOUDFLARE_EMAIL environment variable. Requires apiKey.
fn create()
Create a Trusted Domains
fn get(id: string)
Get a Trusted Domains
ArgumentTypeDescription
idstringThe ID of the Trusted Domains
fn lookup(allowMissing?: boolean)
Look up an existing Trusted Domains by matching global argument values and import it into state
ArgumentTypeDescription
allowMissing?booleanSucceed and record found: false in lookupResult when nothing matches, instead of failing
fn adopt(id: string)
Import an existing Trusted Domains by ID into state for management
ArgumentTypeDescription
idstringThe ID of the Trusted Domains to import
fn update(identifier?: string)
Update Trusted Domains attributes
ArgumentTypeDescription
identifier?stringTarget a specific Trusted Domains by id (e.g. one discovered by list)
fn delete(id: string)
Delete the Trusted Domains
ArgumentTypeDescription
idstringThe ID of the Trusted Domains
fn sync(identifier?: string)
Sync Trusted Domains state from Cloudflare
ArgumentTypeDescription
identifier?stringTarget a specific Trusted Domains by id (e.g. one discovered by list)

Resources

state(infinite)— Trusted Domains resource state
lookupResult(infinite)— Outcome of the most recent lookup
@swamp/cloudflare/email-security/url-ignore-patternsv2026.10.23.1url_ignore_patterns.ts

Global Arguments

ArgumentTypeDescription
account_idstringCloudflare account ID
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
comments?stringOptional note describing the reason for the ignore pattern.
pattern?stringRegular expression identifying URLs to exempt from rewriting.
apiToken?stringCloudflare API token; overrides the CLOUDFLARE_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
apiKey?stringCloudflare API key for the legacy key+email auth path; overrides the CLOUDFLARE_API_KEY environment variable. Wire with a vault.get(...) expression. Requires email.
email?stringCloudflare account email for the legacy key+email auth path; overrides the CLOUDFLARE_EMAIL environment variable. Requires apiKey.
fn create()
Create a Url Ignore Patterns
fn get(id: string)
Get a Url Ignore Patterns
ArgumentTypeDescription
idstringThe ID of the Url Ignore Patterns
fn lookup(allowMissing?: boolean)
Look up an existing Url Ignore Patterns by matching global argument values and import it into state
ArgumentTypeDescription
allowMissing?booleanSucceed and record found: false in lookupResult when nothing matches, instead of failing
fn adopt(id: string)
Import an existing Url Ignore Patterns by ID into state for management
ArgumentTypeDescription
idstringThe ID of the Url Ignore Patterns to import
fn update(identifier?: string)
Update Url Ignore Patterns attributes
ArgumentTypeDescription
identifier?stringTarget a specific Url Ignore Patterns by id (e.g. one discovered by list)
fn delete(id: string)
Delete the Url Ignore Patterns
ArgumentTypeDescription
idstringThe ID of the Url Ignore Patterns
fn sync(identifier?: string)
Sync Url Ignore Patterns state from Cloudflare
ArgumentTypeDescription
identifier?stringTarget a specific Url Ignore Patterns by id (e.g. one discovered by list)

Resources

state(infinite)— Url Ignore Patterns resource state
lookupResult(infinite)— Outcome of the most recent lookup
04Previous Versions19
2026.10.20.1AGPL-3.0-or-later
  • Updated: bulk
  • Updated: allow_policies
  • Updated: block_senders
  • Updated: content_policies
  • Updated: domains
  • Updated: impersonation_registry
  • Updated: sending_domain_restrictions
  • Updated: trusted_domains
  • Updated: url_ignore_patterns

Modified 9 behaviors

2026.10.17.1AGPL-3.0-or-later
  • Updated: allow_policies
  • Updated: block_senders
  • Updated: content_policies
2026.10.16.1AGPL-3.0-or-later(was none)
2026.10.13.1
  • Updated: bulk
  • Updated: allow_policies
  • Updated: block_senders
  • Updated: content_policies
  • Updated: domains
  • Updated: impersonation_registry
  • Updated: sending_domain_restrictions
  • Updated: trusted_domains
  • Updated: url_ignore_patterns
2026.09.29.1
  • Updated: bulk
  • Updated: allow_policies
  • Updated: domains
  • Updated: url_ignore_patterns
2026.09.22.1
  • Updated: bulk
  • Updated: impersonation_registry
2026.09.01.1
  • Updated: bulk
  • Updated: allow_policies
  • Updated: block_senders
2026.08.26.1
  • Updated: bulk
  • Added: content_policies

Added 1 behaviors

2026.08.25.2
  • Added: bulk
  • Updated: allow_policies
  • Updated: block_senders
  • Added: domains
  • Updated: impersonation_registry
  • Updated: sending_domain_restrictions
  • Updated: trusted_domains
  • Updated: url_ignore_patterns

Added 2 behaviors

2026.08.25.1
  • Updated: allow_policies
  • Updated: block_senders
  • Updated: impersonation_registry
  • Updated: sending_domain_restrictions
  • Updated: trusted_domains
  • Updated: url_ignore_patterns

Removed 2 behaviors

2026.08.15.1
  • Updated: domains
2026.07.24.1
  • Updated: allow_policies
  • Updated: block_senders
  • Updated: domains
  • Updated: impersonation_registry
  • Updated: sending_domain_restrictions
  • Updated: trusted_domains
  • Updated: url_ignore_patterns
2026.07.21.1
  • Updated: bulk
  • Updated: allow_policies
  • Updated: block_senders
  • Updated: domains
  • Updated: impersonation_registry
  • Updated: sending_domain_restrictions
  • Updated: trusted_domains
  • Updated: url_ignore_patterns
2026.07.18.2

Modified 8 behaviors

2026.07.14.1
  • Updated: allow_policies
  • Updated: block_senders
  • Added: domains

Added 1 behaviors

2026.06.24.1
  • Added: bulk

Added 1 behaviors

2026.06.08.2
  • Updated: allow_policies
  • Updated: block_senders
  • Updated: impersonation_registry
  • Updated: sending_domain_restrictions
  • Updated: trusted_domains
  • Updated: url_ignore_patterns
2026.05.29.1
  • Updated: allow_policies
  • Updated: block_senders
  • Updated: impersonation_registry
  • Updated: sending_domain_restrictions
  • Updated: trusted_domains
  • Added: url_ignore_patterns

Added 1 behaviors

2026.05.22.1
  • Added: allow_policies
  • Added: block_senders
  • Added: impersonation_registry
  • Added: sending_domain_restrictions
  • Added: trusted_domains
05Stats
A
100 / 100
Downloads
25
Archive size
33.8 KB
Verified by Swamp
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Docs keep secrets in a vault1/1earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License2/2earned
  • Verified public repository2/2earned
06Platforms
07Labels