Verification

Deterministic checks and probabilistic ones are reported separately, never merged into one confident-looking verdict.

Deterministic

  • RFC-conformant syntax and normalisation
  • Domain resolution and MX presence
  • Disposable-provider and role-address detection from datasets with published staleness
  • SMTP conversation to RCPT where the destination permits it

Probabilistic — and labelled as such

  • Catch-all domains: reported as catch-all, never as valid
  • Confidence score carried in its own field, reproducible from the stored checks
  • Provider-behaviour profiles that explain why a result is uncertain
  • Honest unknown after retries, rather than a guess

Bulk at list scale

  • Upload, map columns, preview, then confirm — the estimate is shown before credits move
  • Duplicates collapse before billing
  • Jobs resume after an interruption rather than restarting
  • Cancel returns the unspent reservation and keeps the rows already done
  • Exports filtered by status, delivered through signed short-lived links

API and webhooks

  • Versioned REST API; the major version is in the path, never content-negotiated
  • A request_id on every response, success included
  • Idempotency keys on every credit-mutating call
  • Signed webhook deliveries with per-endpoint secrets, rotation and replay
  • Machine-readable error envelopes with a documentation link
Endpoint reference

Governance and access

  • Role-based permissions enforced at the route, not only in the menu
  • SAML and OIDC single sign-on; SCIM provisioning
  • Enforced two-factor, IP allowlists and domain claims
  • Workspaces with their own budgets inside one organisation
  • Append-only audit log with a tamper-evident chain
  • Data-subject erasure that survives a re-upload of the same address

Connectors

Results written back where the list lives, instead of a CSV round trip.

Mailwizz Mailchimp Sendgrid Ses Mailgun Brevo

Each connection stores its credential encrypted, syncs on a schedule you set, and writes the verification status back to the source record.

What we do not claim

Stated here so it is not a surprise in the contract.