---
title: Email quality
description: Email checks judge the address attached to a signup or login: disposable, invalid, webmail, accept-all, and whether it's verified. The backbone of fake-account detection.
---

# Email quality

When you pass an email to an [evaluation](/docs/v3/concepts/evaluations), Rupt inspects the address and the domain behind it. None of these [checks](/docs/v3/concepts/checks) judges a person, they judge the address, but together they're the backbone of [fake-account](/docs/v3/concepts/fake-account) detection, because bulk registration almost always cuts corners on email.

## The checks

- **`email_is_disposable`**: the domain is a throwaway provider built to self-destruct (Mailinator, 10minutemail, and thousands like them). A real customer rarely signs up with one; a bot farm almost always does.
- **`email_is_invalid`**: the domain can't actually receive mail (no valid MX records) or the address is malformed. Often a typo, sometimes a fabricated address.
- **`email_is_webmail`**: a free consumer provider like Gmail or Outlook. This is the weakest of the set, since most real people use webmail. It only carries weight stacked with other signals.
- **`email_is_accept_all`**: the domain accepts mail to any address, so you can't tell a real mailbox from an invented one. Common with catch-all business domains, which makes it ambiguous rather than damning.
- **`is_email_verified`**: whether the user has confirmed they control the inbox. An unverified address is just a claim.

## Using it

Each check is a [policy](/docs/v3/concepts/policies) condition and weights into the [fake-account](/docs/v3/concepts/fake-account) [risk](/docs/v3/concepts/risks) score. Disposable and invalid are strong enough to act on almost by themselves; webmail and accept-all are softer signals you weigh in rather than block on. The usual approach is to weigh them together rather than block on any one. A disposable address from a [fingerprint](/docs/v3/concepts/fingerprints) that just created ten accounts is a far cleaner signal than the email property alone.

Rupt reads the email you send it. It never sends mail, and it doesn't verify the inbox for you: `is_email_verified` reflects what you've told Rupt about the user.
