Who it is for

For outbound and RevOps teams

You are managing sender reputation against quota pressure. Every address you suppress is pipeline you did not touch; every one you should have suppressed is a bounce against a domain you cannot replace.

The trade you are actually making

A single verifier hands you valid, invalid and a large pile of unknown. The unknowns are where the decision lives, and a label gives you nothing to decide with — so teams pick a rule of thumb, suppress everything ambiguous, and quietly discard a chunk of a list they paid for.

A calibrated probability turns that into a threshold you can set deliberately and defend afterwards. If your tolerance is a 2% bounce rate, that is a number you can filter on, not a vibe.

Set a threshold you can defend

const r = await verify(email, { context: { purpose: "outbound" } })

// The interval matters as much as the point estimate. A tight 0.08
// and a 0.08 with a ceiling of 0.5 are not the same address.
const risky = r.bounce_probability > 0.05 || r.confidence_interval[1] > 0.35

// Deliverability and appropriateness are separate questions.
const wrongTarget = r.actor_class === "role_account"
                 || r.actor_class === "agent_mailbox"

if (risky || wrongTarget) suppress(email, { reason: r.actor_class ?? "risk" })

What protects the domain

  • Hard bounces are the thing to avoid, and they concentrate in a minority of your list. A probability lets you spend suppression where it buys reputation instead of spreading it evenly out of caution.
  • Role accounts deliver and complain. info@ and sales@ rarely bounce and are disproportionately where spam complaints originate. Suppressing them is a reputation decision, not a deliverability one, and actor_class keeps the two separable.
  • Agent mailboxes never reply. They do not hurt deliverability at all — they hurt your reply rate and your attribution. See agent mailboxes.
  • Catch-all domains cannot be resolved by anyone. For cold outreach they are usually a suppress; for a warm list they are usually a send. Same data, different call, which is why Sortance reports the interval instead of making it for you.

The metrics to watch

MetricWhere it comes from
Hard bounce rateYour ESP. Post it back to /v1/outcome and it becomes calibration input rather than just a dashboard number.
Suppression rateYour threshold. Track it against bounce rate — if you are suppressing 20% to avoid a 1% bounce rate, the threshold is costing you more than it saves.
Reply rate by actor_classSegment on the field. This is usually where a mysterious decline turns out to be agent and role mailboxes.
Calibration statecalibration: "prior" vs "fitted". Until it reads fitted, the numbers are benchmarks rather than your traffic.

When Sortance is not the right fit

If you want a hygiene score to screenshot, or a list scrubbed against your CRM, this is the wrong product. Uploading a CSV and getting it back with a verdict per row does work: the list guide covers the Bulk verify screen, the four API calls, and the loop for teams that would rather the list never leave their systems.