The domain setup page had a line that read the registrar name off the DNS record and turned it into a sentence: this domain came through the platform’s domain service. It looked like a fact. It was an inference chained off a single string match, no different in kind from guessing someone’s employer from their email provider.

One customer broke the correlation

The inference held for a while because most of our domains did come through us. The correlation looked like causation until it wasn’t. One customer’s domain broke it. They forwarded a confused reply to that line, and pulling the thread back showed the registrar name pointed at a major third-party registrar. That was true. But the reseller account behind that registration wasn’t ours. It belonged to a different reseller on the same registrar.

Same registrar, wrong owner. The page had no way to tell the difference because it never checked ownership. It checked a string.

The first fix swapped one guess for another

We distrusted the registrar field and swapped in a different derived field: the nameservers. Our reasoning was that if the domain pointed at our nameservers, that was a stronger signal of “came through us” than the registrar name had ever been. We shipped a version of the copy that read the NS records instead and pushed it to staging.

It was wrong in a different way. Nameservers get set by whoever manages DNS day to day, and for a chunk of customers that is us, even when the registration sits with a reseller we don’t control. The NS check turned some false positives into false negatives. Domains that really did come through the platform’s domain service, but had since been pointed at a customer’s own DNS panel, now read as “not ours.” We had traded one wrong inference for another, both derived from fields that don’t encode the fact we needed.

We caught it because we ran the new check against the same known-bad case. It produced a different wrong answer instead of the right one.

Asking the registrar

The only thing that tells you who owns a registration is the registrar’s own record of it. So the fix was a reseller lookup. We hit that registrar’s reseller API directly and check whether the domain’s account ID matches ours. No field that merely correlates with ownership sits anywhere in the chain.

It shipped in one release with a second fix on the same page. The failure-mode copy had been telling every customer that fixing the domain issue would break their site, whether or not that was true for their specific record. Both went out with per-record refresh timestamps, so a customer looking at stale text has a timestamp to point at instead of just a hunch.

The cleanup that isn’t done

Thirteen customers got the wrong line in the July 31 send. Twelve of those still need to be checked individually. The reseller lookup fixes the page going forward, but it doesn’t retroactively verify who already received bad copy. Each one needs a lookup against the reseller API and a corrected reply if the guess was wrong, so this is a queue of manual checks.

The registrar name and the nameservers were both closer to gossip about who owns the domain than to the record of it. Swapping one correlated field for another never verified anything. When a system states who owns something, the question is whether it read the owner’s own record or matched a string on a related field. Twelve customers are still waiting on the answer.