Changelog
What shipped, and when
User-visible changes only, newest first. No roadmap entries — this is what exists, not what's intended. The same rule the rest of the site runs on.
Security page, published with its gaps
A page describing how the service is built and what it stores — and, unusually, a section listing what we don't have: no SOC 2, no ISO 27001, no third-party penetration test, no SLA. A Postman collection is now generated from the OpenAPI spec so the two can't drift.
Sign in with Google, and a navigation that shows the whole product
Google sign-in alongside the email link. The nav gained Product, Solutions, Free tools, Compare and Resources menus — the tools, comparisons and reference pages were previously reachable only from the footer.
Annual billing, visible at last
Annual plans were always 20% cheaper and the checkout always supported them, but the pricing page only mentioned it in fine print. There's now a monthly/annual toggle showing the real per-credit rate at each tier.
One activation email, and only one
If you create an account and never run a verification, you get a single email a day later with the shortest path to a first result. Exactly once, never again, and it says so.
The dashboard became an application
One long page became eight: Overview, Verify, Bulk, Usage & credits, API keys, Webhooks, Billing and Account. The Verify page now shows the raw JSON beside the verdict, with an explanation of every field, so the console teaches the API rather than just answering.
Benchmark № 001 methodology frozen
The scoring rules were published to a public repository, tagged, and checksummed before any vendor was queried — so nothing can change once results exist. Verify it yourself: shasum -a 256 METHODOLOGY.md.
Paid plans opened
Checkout, the self-serve billing portal and the cancel button all went live. Credits you buy never expire, cancelling is a button, and there's a 30-day refund — all three are clauses in the Terms.
Python and Node SDKs published
pip install boundstone and npm i boundstone. Both are zero-dependency and fully typed, with the honesty contract as a typed field rather than a documentation footnote.
Downtime alerting, inside and out
A probe runs every minute against the worker, database and a DNS dependency, alerting after three consecutive failures — plus an independent external monitor, because a health check inside the thing it's checking can't report its own death.
Live HLR: real carrier, ported status and reachability
An opt-in network dip for phone numbers, in single calls and bulk. Five credits, and refunded automatically when the network can't answer — you never pay for a non-answer. Off by default: the standard response keeps reporting these as not_performed.
Retries stopped costing twice
Idempotency keys on every charged endpoint. Send the same key twice and you get the original response back, unbilled — including for bulk submissions, where a retry would otherwise re-reserve a whole file's credits.
IP validation
Format, version, canonical form and classification — public, private, loopback, reserved, bogon and more. Geolocation and proxy detection stay listed as not_performed, because we don't have the licensed data and won't guess.
Webhooks, signed
Get a signed POST the moment a bulk job finishes instead of polling. Every delivery carries an HMAC-SHA256 signature, and endpoints are checked against internal addresses before we'll deliver to them.
Your data, self-serve
Export everything we hold as JSON, or delete your account outright — both one click, both immediate. Deletion cascades every table and leaves no soft-deleted copy.
MCP connector
Point Claude or any MCP client at the API and it can verify phone numbers, emails and IPs directly — metered exactly like REST, same honesty contract in the response.
Bulk CSV jobs
Upload a file or paste a list; credits are reserved atomically on submit and refunded per row for anything that errors. Results download as a CSV with the verdict for every row.
Boundstone opened
Phone, email and IP validation, with every response listing the checks it performed and the checks it deliberately did not. Free tier: 250 credits a month, no card, credits never expire.