The engine scores the offer. Never the people.
Fair housing isn't a disclaimer we bolted on. It's a constraint the product was built inside. OfferSignal analyzes the written terms of a purchase offer, deterministically, on the same scale every time. There is no field, no input, and no signal in the engine for who the buyer is.
What information does the engine weigh?
- Offer price relative to list, net of seller credits
- Earnest money, as a percentage of price
- Contingencies: inspection, financing, and appraisal (net of any gap coverage)
- Closing timeline
- Financing certainty: pre-approval tier (none / pre-qual / pre-approval / underwritten) and whether proof of funds was provided
- Seller credits and concessions
- Market condition you select (hot, balanced, slow), as a weighting factor
What information does it never see?
The engine has no data field for who a buyer or seller is, only for what they offered.
- Loan program (VA, FHA, USDA, conventional, cash): recorded on the offer as a neutral label, never read by the score
- Down payment percentage: same, a label only, never read by the score
- Buyer or seller names (offers are labeled, not identified)
- Race, color, religion, sex, disability, familial status, or national origin
- Age, occupation, household composition, or family circumstances
- Neighborhood demographics of any kind
- Personal "love letters" or buyer biographies
These aren't filtered out; the fields don't exist. Protected-class information has no way into the score.
Why is a deterministic score safer than an AI judgment?
The score is produced by fixed, weighted rules, not by a generative model improvising a judgment. The same offer terms produce the same score for every buyer, every agent, every time. That's what makes the analysis defensible: there is no pathway for bias to creep in through the math, and the reasoning behind every score can be read on the page.
How is financing scored without loan-program steering?
Financing certainty is measured by execution signals (how deep the pre-approval goes, whether proof of funds is documented), not by which financing product a buyer uses. Plainly: the scoring engine does not read the loan program field or the down payment percentage. Both are recorded on the offer so the report can state them as facts, but neither is an input to the score. A well-documented FHA or VA offer scores its execution, exactly as a conventional or cash offer does.
The same rule covers the words. Generated recommendations, signals, and PDF narrative never name a loan program or a down payment in an evaluative sentence, and never suggest a tactic that would surface protected-class information. A program name may appear only as a neutral data label on the offer.
How is this enforced?
By automated tests that run on every change, not by a policy document. Two test files in the application codebase guard the rule:
src/lib/insights.fair-housing.test.tsscores the same offer under every loan type and across down payment percentages and asserts the scores are identical; then it walks every sentence the engine generates and fails if a loan program, a down payment, or any locked steering phrase appears in evaluative voice.src/lib/pdf.fair-housing.test.tsscans the PDF generator source for program-as-characterization constructions (a program woven into evaluative prose, an offer qualified by its down payment) and fails if any are present.
A change that breaks either test does not ship. The scoring function itself (src/lib/scoring.ts) reads twelve contract fields; loan type and down payment are not among them.
What does the disclaimer on every report say?
Every generated report carries the disclaimer, including the line that matters here: the analysis "does not evaluate protected-class factors."The footer of every page adds that the report is informational analysis only, not legal, financial, tax, appraisal, or brokerage advice, with no guarantee of any transaction outcome. When you hand a client a scored comparison, the document itself states the basis of the analysis, so the fair-housing answer travels with the recommendation.
Does OfferSignal replace an agent's fair-housing obligations?
OfferSignal is a tool that supports fair, consistent offer analysis. It doesn't replace an agent's own obligations under the Fair Housing Act and state law. For the authoritative picture of those obligations, see HUD's Office of Fair Housing and Equal Opportunity and the NAR fair housing resources. A consistent, terms-only scoring system makes it easier to show your work; it never substitutes for it.
Analysis you can stand behind, in any room.
Start freeFree to start · No credit card · Pro trial available