- Shipped
- September 10, 2026 at 9:02 PM UTC
- Author
- Kamo
- Commit
- ddd6188
QuoteEmailClient settled for any active domain, verified or not, so an org still setting up its white-label domain had quote links mailed to sign.<that domain>. It now uses OrgLinkHosts.liveRootDomain and falls back to the shared signer host. PortalUrls took the first domain row whatever its state; the borrower portal resolves its lender from the hostname, so the link now names only the lender's live domain and is empty until there is one. A guard test refuses a new private domain rule; the notifiers built on OrgEntryDomainResolver and OrgDomains, which already check that a domain is live, are listed with their reasons.