- Shipped
- 12 Julai 2026, 03:12 UTC
- Author
- Kamo
- Commit
- 48e2265
E-CONSENT: full ESIGN Act §101(c) disclosure authored in-code (scope of consent, right to paper copies, right to withdraw + effect, contact upkeep, hardware/software requirements, affirmative-act clause) as the default v1 DisclosureText, auto-seeded per org — a TENANT customizes by inserting a higher version (multi-tenant by construction, platform owner never in the loop). Capture = WORM ConsentRecord on the borrower's own LoanParty (created if absent): body sha256, disclosure version, WEB_CHECKBOX, IP, device; grant and withdraw both recorded, withdrawal never blocks the loan. Party-gated — consent is the borrower's own act, no operator bypass. CREDIT: CreditBureauAdapter SPI on the tenant's CREDIT vendor rail (MortgageProviderResolver — never hardcoded): StubCreditAdapter only when a tenant explicitly configures STUB; MismoRestCreditAdapter as the catch-all real-vendor adapter (MISMO 2.4 soft tri-merge over HTTPS, Basic auth from the config's clientId + AES-GCM-decrypted secret, CREDIT_SCORE parsing both attribute orders) — adding a bureau = adding a bean. Every order persists a Connection audit row **************** the credit-ledger reads; every non-orderable state is an HONEST status (NOT_CONFIGURED / ENDPOINT_NOT_CONFIGURED / CREDENTIALS_NOT_CONFIGURED / VENDOR_NOT_SUPPORTED / BORROWER_INCOMPLETE / VENDOR_ERROR), never a fabricated score.