Disposable email domain detection
Why it matters
Disposable email addresses (mailinator.com, 10minutemail.com, guerrillamail.com) are created solely to bypass signup requirements and are abandoned immediately after use. Contacts from these domains never open, never click, and frequently expire — sending to them raises complaint rates and depresses engagement signals that ISPs use to classify your reputation. CWE-20 applies: accepting input you know to be functionally invalid is an input validation failure. High-volume disposable-address lists also skew A/B test results, distort open-rate reporting, and inflate subscription counts that feed into billing tiers or investor metrics.
Severity rationale
High because disposable addresses predictably deliver zero engagement and elevated complaints, degrading sender reputation and corrupting list-level analytics used for business decisions.
Remediation
Add a disposable domain check at the ingest point using the disposable-email-domains npm package as a baseline, supplemented by an API service for real-time coverage:
import disposableDomains from 'disposable-email-domains'
function isDisposable(email: string): boolean {
const domain = email.split('@')[1]?.toLowerCase()
return domain ? disposableDomains.includes(domain) : false
}
// In your ingest handler:
if (isDisposable(email)) {
return res.status(422).json({ error: 'Disposable email addresses are not accepted' })
}
The disposable-email-domains package covers ~10,000 domains but is updated only at npm release cadence. For production lists above 10k contacts/month, complement it with ZeroBounce or Kickbox API calls that maintain real-time lists. Reject at signup rather than quarantining — quarantine segments require ongoing maintenance and often go unsuppressed.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Data Quality & List Hygiene Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- cwe · CWE-20 — Improper Input Validation
- iso-25010:2011 · functional-correctness — Functional Correctness (functional suitability)
Taxons
History
- 2026-04-18·v1.0.0·Initial import from data-quality-list-hygiene·automated