Verifyre

Security & privacy

Your list is yours. We only borrow it.

Verification means handling other people's addresses, so security is the baseline of the product, not a tier. Encryption at rest, hashed keys, deletion that actually deletes, GDPR processing terms and abuse protection on every endpoint.

Data handling

What we store, for how long, and what we never do.

Encryption at rest and in transit

Disks are encrypted, every connection is TLS (HTTP redirects to HTTPS with HSTS), and integration credentials are encrypted with AES-256-GCM under a key that never leaves the server.

Hashed API keys and passwords

API keys are stored as SHA-256 hashes and shown once. Passwords are bcrypt. Sessions are server-side, httpOnly and revoked on sign-out or password change.

No retention after deletion

Delete a job and every address in it is removed at once. Lists are kept only while you want the results, never pooled, never sold, never used to build a dataset.

GDPR processor terms

Addresses are processed on your instructions as a data processor. A DPA is available for business customers, with the sub-processor list published on the GDPR page.

Hosted in Europe

Own servers in Helsinki, Finland (Hetzner). Cloudflare can sit at the edge for bot filtering and country lookup. Stripe handles card payments; we never see card numbers.

Cookieless analytics

Site analytics use a daily-rotating salted hash of IP and user agent. No analytics cookie, no third-party tracker, no personal data in the stats.

The SMTP probe

What the probe does, and does not do.

Every verification opens a short, ordinary SMTP conversation with the domain's mail exchanger. Here is the entire exchange.

  • Does: connect, EHLO, MAIL FROM, RCPT TO, QUITThe server's reply to RCPT TO (250, 550, 450) is the answer. A second RCPT TO with a random name tests catch-all.
  • Does not: send DATANo message body is ever transmitted, so nothing lands in anyone's inbox, spam folder or logs as mail.
  • Does not: floodPer-domain concurrency limits, cached domain facts and a single connection per check keep the load on any one server trivial.
  • Does not: hideWe identify ourselves with our real host name and a real return path, and honour every rejection.
0.00s·Connecting to mx1.example.com:25
0.18s←220 mx1.example.com ESMTP
0.19s→EHLO verifyre.co
0.37s←250-mx1.example.com Hello
0.38s→MAIL FROM:<verify@verifyre.co>
0.56s←250 2.1.0 Ok
0.57s→RCPT TO:<name@example.com>
0.80s←250 2.1.5 Ok
0.81s→QUIT
0.82s·No DATA command. Nothing sent.

Abuse protection

Protected before launch, not after an incident.

Every form, login and public endpoint ships with the same defences, verified with real requests after each deploy.

Forms

Honeypot field, signed minimum-fill-time token, Cloudflare Turnstile, per-IP rate limits, small bodies, link-spam heuristics.

Sign-in

Escalating per-IP lockout, per-account throttling that cannot lock the owner out, constant-time credential checks.

Whole site

Scan tools and raw HTTP libraries refused, search and preview crawlers allowed, every bot kept out of the admin, scanner probes banned.

Repeat offenders

A blocked IP is refused on every request; repeat abuse is banned at the firewall. Free tools are rate-limited per network per hour.

Reporting

Found something? Tell us first.

We take reports of vulnerabilities seriously and respond within two working days. Please give us a reasonable time to fix an issue before publishing it, and never test against other customers' data.

Security contact
security@verifyre.co
Response time
Two working days
In scope
verifyre.co, the API, the widget, the WordPress plugin
Out of scope
Denial of service, social engineering, third-party services

FAQ

Security, answered

Visit the help centre
Is Verifyre GDPR compliant?
Yes. Email addresses are processed as a data processor on your instructions, stored encrypted, and deleted on request or when you delete a job. A data processing addendum is available for business customers.
Do you keep my lists after I delete them?
No. Deleting a job removes every address in it immediately, and backups age out within 30 days. Per-domain facts (MX, catch-all) are cached without any address attached.
What does the SMTP probe actually send to a mail server?
An ordinary connection on port 25: EHLO with our host name, MAIL FROM at our domain, one RCPT TO for the address (and one for a random name when checking catch-all), then QUIT. There is never a DATA command, so no message exists and the mailbox owner sees nothing.
How are API keys stored?
As SHA-256 hashes. The full key is shown once when created; afterwards only its prefix is visible. A leaked database cannot be used to call the API.

Clean lists, clean conscience.

100 free credits, no card, and your list leaves the moment you delete it.

Start free See pricing