Fair Lending & Adverse Action · Cluster ㉖ · OpenChainGraph v0.4

Fair Lending & Adverse Action

For compliance officers, fair lending analysts, and lenders subject to Reg B, ECOA, FCRA, MLA, SCRA, and CARD Act. Seven computational tools covering the full US consumer fair lending and adverse action stack: adverse action notice validation (Reg B §1002.9, CFPB Circulars 2022-03/2023-03, FCRA §615(a)), SHAP-ranked notice builder, disparate impact metrics (4/5ths rule per EEOC 29 CFR §1607.4(D), z-statistic, standardised mean difference), HMDA rate spread (FFIEC methodology, 1.5/3.5/6.5 pp thresholds), MLA MAPR cap (36% per 32 CFR §232.4(c)), SCRA 6% rate cap (50 USC §3937, excess interest always forgiven), and CARD Act ability-to-pay (§1026.51, under-21, §1026.52(b) penalty safe harbor). All seven tools accept aggregate or structural inputs only. No applicant records, names, demographic identifiers, or individual scores. Zero PII by construction.

Reg B · 12 CFR §1002.9 IN FORCE ECOA · 15 USC §1691 IN FORCE FCRA §615(a) IN FORCE CFPB Circulars 2022-03 & 2023-03 EEOC 29 CFR §1607.4(D) · 4/5ths Rule IN FORCE HMDA · FFIEC Rate Spread IN FORCE MLA · 32 CFR §232.4(c) IN FORCE SCRA · 50 USC §3937 IN FORCE CARD Act · §1026.51 IN FORCE CFPB $8 Late Fee Rule · Vacated Jan 17 2025 3 OCG §21.4 Gated Chains Live
ALL IN FORCE: Reg B adverse action notice requirements (§1002.9), ECOA (15 USC §1691), FCRA §615(a) credit score disclosure, CFPB Circulars 2022-03 and 2023-03 (prohibited vague reason codes, clarificatory not binding law), EEOC 4/5ths rule (29 CFR §1607.4(D)), HMDA rate spread (FFIEC methodology), MLA MAPR cap (32 CFR §232.4(c), effective Oct 2016), SCRA 6% rate cap (50 USC §3937), CARD Act ATP (§1026.51) and penalty fee safe harbor (§1026.52(b), $32 first / $43 subsequent). CFPB $8 late fee rule vacated by Fifth Circuit Jan 17, 2025 (No. 24-10266) -- $32/$43 thresholds remain in effect.
🔒 ZERO PII BY CONSTRUCTION: compute_disparity_metrics and all cluster ㉖ tools accept aggregate counts or structural parameters only. No individual applicant records, names, demographic identifiers, or credit scores enter any computation. All processing runs locally in your browser. No data is transmitted.
EDUCATIONAL: Outputs are decision-support computations. Not legal or compliance advice and not a regulatory filing. Adverse action notice requirements depend on specific facts; consult qualified counsel. CFPB Circulars clarify but are not binding law. Verify all threshold values against primary sources (12 CFR, 32 CFR, 50 USC, FFIEC).

Adverse action notices: validate and build

Start here for any Reg B §1002.9 adverse action notice workflow. Validate an existing notice first, or build a fresh notice from SHAP-ranked factor codes and then validate it.
ART-227 · compliance_mandate
Validate Adverse Action Notice
Validates an adverse action notice against Reg B §1002.9 completeness requirements: reason count (max 4), prohibited vague reason codes (CFPB Circulars 2022-03/2023-03), required content fields, and FCRA §615(a) rights disclosure when a credit score was used. Outputs compliance_score (0-100) and a structured violation list.
validate_adverse_action_notice IN FORCE · Reg B §1002.9
ART-228 · compliance_mandate
Build Adverse Action Notice
Assembles an adverse action notice skeleton from SHAP-ranked principal-factor codes (FICO reason codes 01-40, VantageScore VS001-VS015). Resolves codes to full text, orders sections per Reg B §1002.9, and appends the FCRA §615(a) credit score disclosure when a credit score was used in the decision. Exports a receipt artifact.
build_adverse_action_notice IN FORCE · Reg B & FCRA

Fair lending analytics: disparate impact and HMDA rate spread

Aggregate-input only. These tools accept counts and structural parameters. No applicant records enter any computation.
ART-229 · compliance_mandate
Compute Disparate Impact Metrics
Computes three fair lending disparity metrics from aggregate approval counts: the 4/5ths (80%) rule per EEOC 29 CFR §1607.4(D), z-statistic for statistical significance (protected vs reference group), and standardised mean difference (Cohen's d). Outputs adverse_impact_ratio, z_statistic, p_value, standardised_mean_difference, and remediation flag. AGGREGATE COUNTS ONLY — no PII.
compute_disparity_metrics IN FORCE · 29 CFR §1607.4(D)
ART-230 · compliance_mandate
Compute HMDA Rate Spread
Computes the HMDA rate spread per FFIEC methodology (APR minus APOR) and classifies it against the HMDA reportability thresholds: 1.5 pp (first lien), 3.5 pp (subordinate lien), 6.5 pp (HELOC). Outputs rate_spread_pct, lien classification, reportability flag, and the HPML indicator (triggers escrow/appraisal requirements).
compute_hmda_rate_spread IN FORCE · FFIEC / Reg C

Servicemember lending protections: MLA and SCRA

Two complementary tools for lending to active-duty servicemembers and their dependents. The MLA MAPR cap applies at origination; the SCRA rate cap applies during active duty on pre-service obligations.
ART-231 · compliance_mandate
Compute MLA MAPR
Computes the Military Annual Percentage Rate (MAPR) per 32 CFR §232.4(c) and checks compliance with the 36% cap. MAPR includes all charges that Reg Z APR excludes: credit insurance premiums, debt suspension/cancellation, annual membership fees, participation fees, and application fees (credit card only). Flags MAPR_EXCEEDS_CAP_VIOLATION. Bona fide fee exemption: $100/year annual maximum.
compute_mla_mapr IN FORCE · 32 CFR §232
ART-232 · compliance_mandate
Compute SCRA Rate Cap
Computes the SCRA 6% interest rate cap per 50 USC §3937 for pre-service loan obligations held by active-duty servicemembers. Calculates excess interest and flags that it is forgiven (not deferred) per statute. Checks servicemember notification requirement. Flags SCRA_RATE_CAP_VIOLATION and SCRA_NOTIFICATION_MISSING.
compute_scra_rate_cap IN FORCE · 50 USC §3937

CARD Act: ability to pay

Credit card ATP underwriting check per §1026.51. Structural inputs only: income, assets, debt obligations, and requested credit limit. No applicant identifiers.
ART-233 · compliance_mandate
Check CARD Act Ability to Pay
Evaluates a credit card application against §1026.51 ATP requirements. Computes monthly minimum payment from the requested limit, checks DTI against the 45% threshold, applies the under-21 independent-income restriction (§1026.51(b)), and reports the §1026.52(b) penalty fee safe harbor ($32 first violation / $43 subsequent). CFPB $8 rule vacated Jan 17, 2025 — $32/$43 remain in effect.
check_card_act_ability_to_pay IN FORCE · §1026.51

OCG chains: automated compliance workflows

Four hash-anchored chains compose these tools into verifiable multi-step workflows. Three chains use §21.4 decision gates for automated branching.
Chain · compliance_mandate · §21.4 gated
Adverse Action Notice Compliance
Gated two-step chain: build adverse action notice from factor codes, then gate on action_taken. Approved applications exit immediately (no notice required). Denied, counteroffer, or incomplete applications continue to notice validation.
Step 1 (ROOT+GATE): build_adverse_action_notice
Step 2 (TERMINAL): validate_adverse_action_notice
§21.4 gate: action_taken=approved → END
Chain · compliance_mandate · §21.4 gated
Fair Lending Disparity Audit
Gated two-step chain: compute HMDA rate spread first, then compute disparity metrics from aggregate lending outcomes. Gate exits to remediation path when adverse_impact_ratio < 0.8 (4/5ths rule violation). Aggregate inputs only — zero PII.
Step 1 (ROOT): compute_hmda_rate_spread
Step 2 (GATED+TERMINAL): compute_disparity_metrics
§21.4 gate: AIR < 0.8 → remediation
Chain · compliance_mandate · linear
Servicemember Lending Protections
Two-step linear chain covering both servicemember lending protections in sequence: MLA MAPR cap check (origination) followed by SCRA 6% rate cap computation (during active duty). No decision gate — both checks always run.
Step 1 (ROOT): compute_mla_mapr
Step 2 (TERMINAL): compute_scra_rate_cap
Chain · compliance_mandate · §21.4 gated
CARD Act Ability to Pay
Gated two-step chain: ATP check gates on atp_passes. Approved applicants exit immediately. Failed ATP continues to adverse action notice build per Reg B §1002.9 with SHAP-ranked factor codes.
Step 1 (ROOT+GATE): check_card_act_ability_to_pay
Step 2 (TERMINAL): build_adverse_action_notice
§21.4 gate: atp_passes=true → END (approved)

Regulatory references

Primary sources baked into kernel tables. Verify against current consolidated text.
Reg B · ECOA — 12 CFR Part 1002 (§1002.9 adverse action notice); 15 USC §1691 et seq.
FCRA §615(a) — 15 USC §1681m(a) (risk-based pricing / credit score disclosure on adverse action)
CFPB Circulars 2022-03 & 2023-03 — Prohibited vague adverse action reason codes (clarificatory)
EEOC Uniform Guidelines — 29 CFR §1607.4(D): 4/5ths (80%) rule for adverse impact analysis
HMDA / Reg C — 12 CFR Part 1003; FFIEC rate spread methodology (APR minus APOR)
MLA · DoD Rule — 32 CFR Part 232 (§232.4(c): 36% MAPR cap, effective October 3, 2016)
SCRA — 50 USC §3937 (6% interest rate cap; excess interest forgiven, not deferred)
CARD Act · Reg Z — 15 USC §1665e; 12 CFR §1026.51 (ATP); §1026.51(b) (under-21); §1026.52(b) (penalty safe harbor)
CFPB Late Fee Rule — VACATED — Fifth Circuit, No. 24-10266 (Jan 17, 2025); $32/$43 safe harbor thresholds remain in effect
← OpenChainGraph Suite  ·  All Tools  ·  AI Governance & Conformity Guide  ·  US Mortgage Compliance Guide

Post Oak Labs · CC BY 4.0 · OpenChainGraph v0.4 · Fair Lending & Adverse Action Cluster ㉖