Thursday, January 08, 2026

CA DMV Password Reset Bug: Technical Appendix for Engineers

 

(Designed for engineering, security, QA, and infrastructure teams)

Technical Summary of Observed Behavior

Affected Domains

The following valid domains are rejected or fail silently:

  • Personal domains (multiple)

  • boldium.com

  • adobe.com

  • abbott.com

  • northeastern.edu

Accepted Domains

  • gmail.com

  • yahoo.com

  • hotmail.com

  • outlook.com

  • Completely fake Outlook addresses (e.g., random strings)

Delivery Behavior

  • Consumer domains receive verification emails instantly.

  • Non‑consumer domains receive no email or receive emails hours later.

  • Delayed emails contain links tied to the original browser session, which has expired.

Client‑Side Environment

Issue reproduced on:

  • Latest Chrome on macOS (Mac mini + two MacBooks)

  • Latest iOS on iPhone

  • Latest myDL app

  • Multiple networks

  • Clean browser sessions

  • No caching or cookie issues

  • No outdated software

This confirms the issue is not client‑side.

Likely Root Causes (Ranked)

1. Hardcoded Domain Allowlist (Most Likely)

Evidence:

  • Fake Outlook addresses accepted

  • Valid corporate/university/personal domains rejected

  • Instant delivery to Gmail/Yahoo/Hotmail/Outlook

  • “Domain not recognized” errors for legitimate domains

This strongly suggests a restrictive allowlist of consumer email providers.

2. Misconfigured Email Security Gateway

Possible systems:

  • Cloudflare Email Security

  • Proofpoint

  • Mimecast

  • Microsoft Defender

  • Cisco IronPort

Potential misconfigurations:

  • Domain reputation API rejecting non‑consumer domains

  • Allowlist/denylist rules applied incorrectly

  • Anti‑fraud scoring over‑blocking legitimate domains

  • Routing rules sending non‑consumer domains through a slow or failing path

3. Application‑Layer Domain Validation Logic

Possible issues:

  • Regex or validation rules that only accept common consumer domains

  • Incorrect domain parsing

  • New fraud‑prevention module introduced between August and December

  • Silent failure paths for unrecognized domains

4. Routing or MTA Configuration Changes

Potential causes:

  • Split routing based on domain category

  • Misconfigured secondary route for “unknown” domains

  • Delayed retries causing multi‑hour delivery

5. DNS or Authentication Checks

Unlikely but possible:

  • SPF/DKIM/DMARC lookups failing or timing out

  • DNS resolver misconfiguration

  • Overly strict alignment checks

Given that abbott.com and northeastern.edu fail, DNS/authentication issues are less likely.

Reproduction Steps (For QA)

  1. Navigate to DMV login page.

  2. Select “Create Account” or “Forgot Password.”

  3. Enter an email address from any of the following domains:

    • abbott.com

    • adobe.com

    • northeastern.edu

    • any personal domain

  4. Observe:

    • “Domain not recognized” error OR

    • Silent confirmation with no email delivered

  5. Repeat with a fake Outlook address.

  6. Observe:

    • System accepts the address

    • No validation of mailbox existence

  7. Repeat with Gmail/Yahoo.

  8. Observe:

    • Instant delivery

    • Successful account creation/reset

Impact Assessment

  • Users cannot create or recover accounts unless they use a consumer email provider.

  • Affects small businesses, universities, corporations, and privacy‑conscious individuals.

  • Undermines adoption of the mobile driver’s license (myDL) program.

  • Increases support call volume.

  • Creates accessibility and equity concerns.

  • Damages trust in state digital services.

Recommended Next Steps

Immediate

  • Identify ownership of email validation and outbound email systems.

  • Review allowlist/denylist logic in application code.

  • Audit email security gateway rules.

  • Check routing logic for domain‑based paths.

Short‑Term

  • Decouple password reset links from browser session timeouts.

  • Implement 24‑hour token validity.

  • Add logging for domain‑based failures.

Long‑Term

  • Publish clear domain requirements (if intentional).

  • Ensure domain‑agnostic account creation (if unintentional).

  • Add alternative verification methods (SMS, authenticator app).

UX/CX Bug: A Detailed Look at the California DMV’s Email Verification Failure


Digital government services only work when they work for everyone. This week, I encountered a flaw in the California DMV’s online platform that affects anyone using a personal, business, or university domain for email. It also raises questions about the readiness of the state’s mobile driver’s license program, which depends on reliable account access.

What began as a simple password reset turned into a multi‑hour diagnostic session with DMV support, two very patient staff members, and a deeper look at how the system treats different types of email domains.

The Issue: Personal, Business, and University Domains Do Not Receive Verification Emails

I use my own personal domain (blackcats.org) because I value privacy and digital independence. In August 2025, I successfully reset my DMV password using that address. In December, the same process failed.

When I attempted a password reset:

  • No verification email arrived.

  • No error message appeared.

  • The system behaved as if everything was working, but nothing was delivered.

To rule out user error, I spent about an hour on the phone with a helpful DMV web support representative named James. Together, we tested the issue from multiple angles.

What We Tested

  • Password reset to my personal domain: no email.

  • Invitations to other personal domains I own: no email.

  • Registration attempts using Gmail and Yahoo: verification emails arrived instantly.

  • Testing business domains (boldium.com, adobe.com, abbott.com): the system displayed “domain not recognized.”

  • Testing a Northeastern University address (northeastern.edu): the system displayed “domain not recognized.”

  • Entering a completely fake Outlook address: the system confirmed it would send an email to that nonexistent address.

This pattern shows that the DMV system is treating personal, business, and university domains differently from large free email providers.

Something Changed Between August and December

Because I successfully reset my password in August, the sudden failure in December points to a platform change. My working theory is that the DMV implemented a new email validation or anti‑fraud system that is now incorrectly filtering or deprioritizing non‑mainstream domains.

This would explain:

  • The “domain not recognized” pop‑ups.

  • The silent failure to send emails.

  • The hours‑long delay before emails finally arrive.

  • The fact that Gmail and Yahoo work instantly.

If this is a security measure, it is over‑correcting. If it is a misconfiguration, it is a significant one.

Support Staff Confirmed They Do Not Know Who Owns This Issue

James escalated the issue internally, but the web support team did not know:

  • Who maintains the email validation system.

  • Who owns the domain‑filtering logic.

  • Who accepts bug reports for the platform.

He connected me with a manager named Robin, who listened carefully as I translated the technical details into plain language. I offered to speak with anyone on their engineering or security teams and promised to write up a summary they could share internally.

The Delayed Emails Eventually Arrived, But Were Useless

About two hours after ending my call with Robin, the verification emails finally appeared. When I clicked the links, I received the message:

"Your session has expired."

This confirms two things:

  1. The DMV is sending emails hours after the request.

  2. The reset links are tied to the original browser session, which expires long before the email arrives.

This design makes account recovery impossible for anyone affected.

Environment and Device Testing

To rule out client‑side issues, I tested the DMV website and the myDL app across multiple devices and operating systems. All systems were fully updated at the time of testing.

Desktop and Laptop Testing

  • Latest version of Google Chrome

  • macOS fully up to date

  • Tested on three separate machines:

    • One Mac mini

    • Two different MacBook models

  • Same behavior across all devices

Mobile Testing

  • iPhone with the latest iOS version installed

  • Latest version of the myDL app

  • The myDL app directs users to the DMV website for login and verification

  • Same failure pattern on mobile as on desktop

Conclusion This confirms the issue is not caused by:

  • Browser caching

  • Cookies

  • Outdated software

  • Device‑specific behavior

  • Network inconsistencies

The failure is consistent across multiple devices, operating systems, and access paths, which strongly indicates that the root cause is on the DMV’s backend systems, not on the user’s hardware or software.

This Affects More Than Privacy‑Conscious Users

This issue impacts:

  • People who run personal domains.

  • Small businesses.

  • Corporate employees.

  • University students, faculty, and staff.

  • Anyone using a domain that is not Gmail, Yahoo, Hotmail, or Outlook.

If the DMV is intentionally limiting accounts to specific free email providers, they should disclose that clearly. If not, the system is silently failing in ways that lock out legitimate users.

Likely Causes: What Types of Systems Could Be Blocking or Delaying These Emails?

Because Gmail, Yahoo, Hotmail, and Outlook receive messages instantly, we can rule out overloaded servers, global outages, or general queue delays. The DMV’s system is clearly capable of sending email immediately.

The root cause is almost certainly domain‑specific filtering or validation. These are the categories of backend systems that could cause exactly this behavior:

1. Email Security Gateways (Most Likely)

These systems sit between the DMV’s application and the outside world. They can:

  • Allow Gmail and Yahoo instantly.

  • Delay or block personal domains.

  • Reject corporate and university domains.

  • Apply domain reputation scoring.

  • Enforce allowlists or blocklists.

If the DMV added or updated one of these systems between August and December, it could easily explain the sudden change.

2. Application‑Layer Domain Validation

This is logic inside the DMV’s own code. Examples include:

  • Hardcoded allowlists of acceptable domains.

  • Hardcoded blocklists of risky domains.

  • Validation rules that reject anything not in a known set.

  • A new fraud‑prevention module.

This would explain:

  • “Domain not recognized” for Adobe, Abbott, Boldium, and Northeastern.

  • Acceptance of fake Hotmail or Outlook addresses.

  • Silent failure for personal domains.

3. Reputation‑Based Anti‑Abuse Systems

These systems score domains based on:

  • Age.

  • DNS configuration.

  • Traffic volume.

  • Historical spam reports.

They often:

  • Delay messages to low‑reputation domains.

  • Allow Gmail and Yahoo instantly.

  • Block small domains entirely.

This matches the multi‑hour delays and eventual delivery.

4. Email Routing Logic

If the DMV added routing rules such as:

  • “Send mainstream domains via Route A (fast).”

  • “Send unknown domains via Route B (scanned).”

Then Route B could be slow or misconfigured.

5. DNS or Authentication Checks

If the DMV’s outbound system is performing:

  • SPF lookups.

  • DKIM verification.

  • DMARC alignment checks.

And those checks are failing or timing out for personal, business, or university domains, that could cause delays.

Use Case for DMV Engineering, Security, and Product Teams

This section is written specifically for internal DMV teams who may need a clear, structured description of the issue.

Use Case: Email Verification Failure for Non‑Consumer Domains

Primary Actor: California DMV customer attempting to register or recover an account.

Preconditions:

  • User has a valid email address at a personal, business, or university domain.

  • User is attempting to register or reset a password.

Trigger: User enters their email address and requests a verification or password reset email.

Main Flow:

  1. User enters a valid email address at a non‑consumer domain (e.g., blackcats.org, boldium.com, abbott.com, adobe.com, northeastern.edu).

  2. System confirms that a verification email will be sent.

  3. No email arrives, or it arrives hours later.

  4. If the email eventually arrives, the link fails with “session expired.”

Alternate Flow (Consumer Domains):

  1. User enters an email address at gmail.com, yahoo.com, hotmail.com, or outlook.com..

  2. System confirms that a verification email will be sent.

  3. Email arrives instantly.

  4. User successfully completes registration or password reset.

Failure Points Observed:

  • “Domain not recognized” error for legitimate business and university domains.

  • Silent failure for personal domains.

  • Acceptance of completely fake Outlook addresses.

  • Multi‑hour delays for non‑consumer domains.

  • Reset links tied to browser session timeouts.

Impact:

  • Users cannot create or recover accounts unless they use a consumer email provider.

  • Small businesses, universities, and privacy‑conscious individuals are disproportionately affected.

  • The mobile driver’s license program is undermined by unreliable account access.

  • Support teams cannot resolve the issue because ownership is unclear.

Why This Matters for the Mobile Driver’s License Program

I support the mobile driver’s license (myDL) initiative. I prefer having my ID on my phone instead of carrying a physical card. Before Thanksgiving, I received a fix‑it ticket because the myDL app could not display my license, and the Alameda County Sheriff who pulled me over handled it with humor and grace.

But the success of the myDL program depends on:

  • Reliable account access.

  • Clear communication.

  • Inclusive digital design.

If users cannot create or recover accounts unless they use Gmail or Yahoo, the program will struggle.

What the DMV Should Do Next

If this is intentional:

  • Publish a list of acceptable email domains.

  • Explain the security rationale.

  • Provide alternatives for users who do not want to use large email providers.

If this is unintentional:

  • Investigate changes made between August and December.

  • Review domain‑validation logic.

  • Audit email delivery logs for delays and failures.

  • Decouple password reset links from browser session timeouts.

  • Communicate transparently with affected users.

Closing Thoughts

California has made real progress in modernizing its digital services. But this issue, whether caused by a misconfiguration, a security update, or an overly strict domain filter, is locking out legitimate users and undermining trust in the system.

I am sharing this publicly to help the right people inside the DMV understand the scope and urgency of the problem. If I am experiencing this across multiple domains, others almost certainly are as well.

If the DMV wants the mobile driver’s license program to succeed, fixing this should be a priority.


Monday, December 29, 2025

REVIEW: The History of Money: A Story of Humanity by David McWilliams (2-stars)


 TLDR: A lively premise weighed down by oversimplification and a mismatch between subtitle and substance.

McWilliams sets out to tell “a story of humanity,” but the execution feels much narrower. The book reads as if it were built around a handful of pre‑selected concepts (coins, credit, trust, markets) rather than a coherent historical arc. Because that structure is never made explicit, the narrative jumps abruptly across centuries and civilizations, often without context or connective tissue.

The opening chapter on Rome is engaging and cinematic, but the momentum falters quickly. The transition into the Middle Ages is especially thin, relying on broad generalizations about Western Europe (“command and control economy,” “work hard to go to heaven”) rather than primary sources or meaningful economic analysis. Entire regions and monetary innovations — China, the Islamic world, the Mongol Empire, Africa, the Americas — are largely absent, which makes the subtitle’s claim to cover “humanity” feel overstated.

I’m also increasingly wary of books marketed as both a “breezy romp” and “important.” Those two promises rarely coexist well. When a book tries to be light, fast, and universal all at once, the result is often what happens here: a narrative that moves quickly but flattens complexity, oversimplifies history, and leaves out the very material that would make the subject genuinely meaningful.

The writing is accessible and fast‑paced, but often at the cost of depth. Readers looking for a TED‑style overview may enjoy the tone. Readers seeking rigor, global context, or a grounded history of monetary systems will likely find the treatment too superficial.

Recommended alternatives: If you’re genuinely interested in the history of money or want a more accurate picture of the medieval world, I strongly suggest pairing (or replacing) this with:

  • Jack Weatherford’s The History of Money — a more global, anthropological, and conceptually coherent exploration of how money evolved across cultures.

  • Matthew Gabriele & David Perry’s The Bright Ages — not a book about money specifically, but an excellent corrective to the flattened, Eurocentric Middle Ages narrative used here.

Bottom line: A quick, energetic read that overpromises on scope and underdelivers on depth. Best suited for readers new to the topic who prefer narrative momentum over historical nuance. REVIEW: The History of Money: A Story of Humanity by David McWilliams

RATING: 2-stars

© Jennifer R Clark. This work is licensed under a Creative Commons Attribution 4.0 International License. You may share and adapt this content with proper attribution.

Friday, December 26, 2025

Part 2: What I’d Do as the Product/Program Manager at TurboTax

After sharing my experience with the Intuit TurboTax Advantage renewal bug, I’ve had a lot of people ask: “What would you do if you were the PM responsible for this?”

Here’s exactly what I would do — not months from now, but immediately, while engineering works on the backend fix.

1. Equip Customer Support With the Right Script (Today)

The support specialist eventually told me this was a known issue with ZIP+4 formatting. That should be the first thing support says — not the 20 irrelevant questions that came before it.

Support should be trained to say:

“We have a known issue with ZIP+4 address formatting that can prevent payments from going through. Please select the version with the hyphen.”

This single sentence would have saved hours of customer time and reduced support load dramatically.

2. Stop the Endless “Payment Failed” Emails and Fix Affected Accounts Proactively

Instead of sending customers months of “Your payment failed” messages they can’t resolve, the product team should:

  • Identify all Advantage subscribers with repeated payment failures
  • Check whether their stored billing address uses the problematic ZIP+4 format
  • Correct the formatting on the backend
  • Retry the payment or notify the customer with a real explanation

If the system knows the customer can’t fix the issue, it shouldn’t keep telling them to fix it.

3. Update the Error Messaging Immediately

The current message — “There’s a problem with your credit card” — is inaccurate and misleading.

A better version would be:

“We’re having trouble validating your billing address. Please confirm your ZIP+4 format.”

Clear, actionable, and honest.

4. Add a Temporary Banner in the Account Dashboard

If this is a known issue, customers shouldn’t have to discover it by accident.

A simple banner would prevent thousands of failed renewals:

“We are currently experiencing issues with ZIP+4 address validation. If prompted, please select the ZIP+4 format with a hyphen.”

Transparency builds trust.

5. Send a Targeted “We Fixed It” Email Once the Backend Patch Is Live

When engineering resolves the root cause, TurboTax should notify every impacted customer:

  • Acknowledge the issue
  • Confirm the fix
  • Provide a one‑click renewal link
  • Optionally offer a goodwill gesture

This is how you rebuild confidence after months of failed renewals.

6. Fix the Voice System That Turned “Jennifer Clark” Into “Yessir Fart”

This isn’t just funny — it’s brand‑damaging.

The voice system couldn’t recognize my name or email address, and the transcription was so far off that it made reaching a human unnecessarily difficult.

At minimum:

  • Identify people based on phone number like most other businesses do
  • Add a keypad fallback
  • Improve transcription accuracy
  • The system requires user confirmation before proceeding, but if it's not working after multiple tries - why not let users skip this step?

If your IVR system insults your customers and takes too long, you’re losing them before support even begins.

7. Align the Address Form, USPS Validation, and Payment Processor

This is the root cause:

  • I entered only a 5‑digit ZIP
  • Intuit’s form auto‑generated a ZIP+4 with a hyphen
  • USPS validation returned a ZIP+4 with a space
  • The payment processor only accepts the hyphenated version
  • The UI forced me to choose between two system‑generated formats
  • The recommended one was the one that failed

This is a classic cross‑system integration issue — and it’s fixable.

8. Add Monitoring for Address‑Related Payment Failures

A PM should ensure engineering adds:

  • Logging for address‑format mismatches
  • Alerts when failures spike
  • A dashboard tile for payment failures correlated with USPS validation

This prevents the issue from going undetected or unresolved for months.

Why This Matters

None of these steps require a full engineering cycle. They’re operational, communication, and UX fixes that reduce customer pain today.

And they’re exactly what strong product and program leaders do: stabilize the customer experience now, while engineering works on the long‑term solution.

Even at the lowest plausible scale, this bug has real financial impact.

TurboTax Advantage renewals are $70 each If this issue affects even 1,000 customers, that’s $70,000 in preventable lost revenue. And that’s before factoring in:

  • Support call costs
  • Operational overhead from repeated failure emails
  • Customer churn to competitors
  • Brand damage from broken flows and unusable voice systems

Realistically, the number of impacted customers is likely far higher. Even a modest estimate of 6,000 affected users puts the revenue exposure at $420,000. At the higher end, it could easily reach seven figures.

This is why addressing the issue quickly — and communicating clearly with customers — isn’t just good UX. It’s good business.