A decision where getting it wrong is a legal problem, not a conversion problem.
Most homeowners with a mortgage do not pay their property taxes and insurance themselves. They send extra money with each monthly payment, the servicer holds it in an account — the escrow account — and the servicer pays those bills when they come due. An escrow waiver is the borrower asking to stop doing that and pay the bills themselves.
The servicer cannot simply say yes. Property tax liens jump ahead of the mortgage in almost every state, so an unpaid tax bill can force a sale that wipes out the investor's position entirely — a $340,000 loan extinguished over a $6,000 bill. That is the reason escrow exists, and the reason the rules around releasing it are strict.
Three things made this hard to automate. The two investors who own these loans, Fannie Mae and Freddie Mac, publish rules that genuinely contradict each other — the same borrower qualifies under one and is denied under the other. Some bills can never be waived at any borrower quality, because federal law says so. And the workflow tool available to build in could send messages but never receive replies, and could not write back to the system that actually holds the loan.
A design engagement, not a production deployment. Delivered as a 32-page operating specification, a data model, the evaluation logic in pseudo-code, and a working simulator. Process, rules, owners, and message copy are our proposals; the two investor guides are quoted verbatim.
Start from the source text, not from the workflow diagram
The temptation in a regulated process is to draw the happy path first and handle the exceptions later. We went the other way: read both rulebooks verbatim, find every place they disagree, then let the disagreements dictate the shape of the process.
Worked the two governing guides line by line — Fannie Mae's Servicing Guide B-1-01 and Freddie Mac's § 8201.1 — and wrote each rule down verbatim before designing anything. That produced a divergence table: the exact clauses where the two investors disagree, which is where a single blended process would quietly break the law.
Every rule was traced back to the specific field it reads. Ten entities, grouped into eight dictionary sections, each section citing which rules depend on it — plus a deduplication audit and an explicit list of the fields the servicer does not hold today, with a fallback for each.
Sorted every step into one of two kinds: the data alone decides, or a person must. Converting judgment into arithmetic wherever it was defensible left exactly seven cases that a person still has to own — each with a named owner, a deadline, and its complete set of options.
Expressed the whole process inside the servicer's own workflow tool — datasets, triggers, and messages — then built a working simulator that runs a synthetic borrower through every gate in order and pauses wherever a human decides, so the design could be tested rather than asserted.
Six questions, ranked by how much say each one has
Five questions decide whether a waiver is granted. Keeping it comes down to one more. The order matters for a practical reason: the cheapest and most authoritative checks run first, so the one step that costs money — pulling a fresh credit score — runs last, and only on requests that have already passed everything else.
Five design decisions the whole process rests on
Each one is a case where the obvious build produces a wrong — sometimes unlawful — answer, and the correct build is only slightly more work.
The rulebook forks, and it has to fork in the design
Fannie Mae's guide is a list of disqualifiers — fail any one test and the request is denied, with no appeal. Freddie Mac's is a permission with an alternative: be current, not excluded, and satisfy either an equity test or a payment-history test. A borrower at 85% of original value with six clean months passes under Freddie and fails under Fannie. One blended rulebook would silently deny eligible Freddie borrowers. Forking makes each branch independently auditable and lets each one update when its own guide changes.
Every gate returns three answers, not two
Pass, fail, and unknown. Missing data is the servicer's problem, not the borrower's — so unknown routes to research and gets its own letter, never a denial. Collapsing unknown into no is the most common way a servicer denies someone who was actually eligible, for a data problem that was never theirs.
Escrow state is per bill, not per loan
Flood insurance in a flood zone can never be waived — federal law, regardless of anything else. Neither can monthly-paid mortgage insurance. So a borrower who qualifies on every test still receives a partial waiver: some bills come off, the protected ones stay. A single on/off flag at the loan level cannot represent that, and would produce an unlawful outcome.
A subjective clause became four objective tests
Freddie Mac requires weighing whether a borrower can absorb large one-off charges, and forbids deciding on loan-to-value alone. Rather than an analyst's opinion, the design uses the borrower's own record: 24 consecutive on-time payments including escrow, zero returned payments, shortages repaid in one sum, zero advances made on their behalf. The servicer has already watched them accumulate this exact amount, monthly, for two years. Deterministic, auditable, and it requires no income documents.
Judgment moves to onboarding, not decision time
Client waiver policies are validated as typed rows when the client is signed. A policy clause that cannot be expressed as a row fails onboarding and never reaches an analyst. That converts what would be tens of thousands of case-by-case reads a year by rotating staff into a handful of policy decisions a year by senior staff.
Seven judgment calls — the complete list
Every other step decides by itself. These are the cases the rules deliberately do not decide. Each arrives as a message to one named person with the numbers already attached, the full set of options listed, and a deadline that reminds on day two and escalates to their manager on day three. Everything else was either converted into a number or resolved at client onboarding.
Passes everything except the capacity test — can this borrower absorb large one-off bills?
OptionsApprove · deny · request income documents
OwnerEscrow underwriting
Failed one Freddie Mac rule narrowly, passed every one of the servicer's own.
OptionsFile the exception under § 8201.1(d) · let the denial stand
OwnerFreddie Mac relationship owner
A late payment sits in the lookback window with no reason recorded.
OptionsClassify as servicer error · approved forbearance · declared disaster · borrower fault
OwnerThe loan's servicing owner
The request hits a clause the client kept in prose rather than in numbers.
OptionsApply the carve-out as written · decline it
OwnerThe carve-out's named owner
Passes everything, and the contract puts the pen in the client's hand.
OptionsSign the approval · refuse it, with the reason recorded
OwnerThe client
A fact the rules need cannot be established — history shorter than the lookback and held by a prior servicer who does not answer.
OptionsDeny on the missing fact · grant and carry the risk · keep digging past the deadline
OwnerEscrow operations lead
The watcher on a waived bill lapsed while the waiver was live. A waiver the servicer cannot monitor is exposure it cannot cap.
OptionsRestore detection through another source · resume escrow for that bill
OwnerEscrow operations lead
Two questions sort every message the process will ever send
The tool does exactly one thing: run a query and send a message. So we listed all seventeen messages the process sends and asked two questions of each — who gets it, and does something have to come back? Two questions, two answers each, four boxes, and every message lands in exactly one. The box it lands in determines which extra fields the configuration needs: a deadline, a chase, a fallback.
This is also the discipline that keeps the system maintainable: a workflow tool fills fields, it never composes prose from data. Composed sentences break and multiply templates. One template covers all seven judgment calls — only the referring rule, its inputs, and the option set change, and all three of those are data.
Something happened that a team needs to see. Nobody has to reply. Every automated approval and denial writes one line to the log channel — that channel is the paper trail.
A person has to act, so the message is their work queue. It chases by itself: a reminder on day two, an escalation to their manager at the deadline.
A final decision, on a compliance-approved template. The denial letter is a notice, and it carries the exact future date on which the answer would flip to yes.
Something is needed from outside by a deadline, and the consequence of the deadline passing is written down in advance. Proof of payment in 30 days, or the servicer pays and escrow resumes.
Designing agents for processes that cannot be wrong
The transferable part of this work is the method, not the mortgage domain. Any heavily regulated process — claims, underwriting, licensing, clinical intake — has the same structure.
Translated two federal investor guides and one client contract into a single ordered decision gate, with each rule tracing to the clause that authorizes it and the data field that answers it.
Designed the process as a nightly evaluation over data already held, writing one eligibility row per loan. The workflow tool computes nothing — it queries that row and fires a message. Every decision is reproducible from the record.
Ten entities and eighteen grouped inputs, each group citing the rules that read it, with a deduplication audit and a named fallback for every field the servicer does not hold today.
Isolated the exact seven points where the rules deliberately stop deciding. Each arrives as a message to one named person, with the numbers attached, the full option set listed, and a deadline that chases itself.
Every stage writes a record: which rule answered, the exact data it read, who decided, what they chose, and a required reason note. Each of the servicer's own rules also answers three questions on file — the harm it prevents, the authority for it, and the number that would prove it wrong.
The tool sends but never receives, and cannot write to the system of record. Rather than designing around that, the process was shaped by it — every automated step is a message, and the four steps that must stay manual are named explicitly.
What was designed and handed over
- Six-phase decision gate, fully ordered
- Forked Fannie Mae and Freddie Mac rule sets
- Seven named judgment calls with owners and deadlines
- Post-grant monitoring and revocation rules
- Ten-entity data model with rule-to-field mapping
- Nightly evaluation logic in pseudo-code
- Three-valued gates — pass, fail, unknown
- Deduplication audit and data-gap fallbacks
- Seventeen messages sorted into four shapes
- Datasets, triggers, and merge fields per message
- Twelve-week, seven-phase rollout plan
- Interactive simulator for testing any borrower
A process a regulator could read, and an agent could run
The finished design runs the entire decision on data the servicer already holds, re-evaluated nightly, with every rule tracing to the clause that authorizes it and the field that answers it. Approvals and denials go out with no human touch — passing every rule is the yes. Seven cases route to a named person with a deadline. Every stage writes a record of which rule answered and the exact data it read.
The rollout was deliberately conservative: ship with humans deciding, then promote gates one at a time, each running in shadow first — the query decides, a person decides, compare the two — and promote only after a full quarter of agreement. Twelve weeks to live, in seven sequential phases, starting with stakeholder alignment rather than with the build.
The lesson we carry into every regulated build: the value is not in automating the judgment. It is in shrinking judgment to the smallest honest set, naming who owns each remaining piece, and making sure that missing data never gets mistaken for a no.