FabricFabricPlatform
Composable framework

Automotive finance

The industry as a composable framework — one shared capability library, the surfaces it drives through SDUI, and the external systems it integrates with.

Automotive finance is a demanding industry for a composable framework and a good one to prove it against. It is compliance-heavy, it spans several distinct businesses that share most of their meaning, and it depends on a long tail of external systems that nobody would sensibly rebuild.

This page describes the industry once. The verticals then show origination, refinance and collections composing what is described here.

The shared capability library

A lender publishes these once. Every vertical draws on them; none of them re-answers who the borrower is or what the state permits.

compliancepolicy at every checkpoint partywho participates offeringwhat is on sale agreementwhat was signed settlementvalue that moved activitywork owed

Each is a FabricModule with its own namespace, object types, lifecycles, actions and events. Each publishes a usage contract that a vertical adopts by declaring a dependency — not by copying.

CapabilityArchetypeWhat it owns
partyPartyIdentity of applicant, co-buyer, dealer and collector, and the relationships between them
offeringOfferingProducts, rate sheets, terms, add-ons and fee schedules
agreementAgreementAccount lifecycle, amendments, replacement and termination
settlementSettlementThe record that value moved — funding, payoff, refund, remittance
activityActivityWork owed against an agreement — reviews, visits, inspections
compliancePolicy sets evaluated at every checkpoint, with the reasoning recorded

Compliance is deliberately cross-cutting rather than a vertical's private concern. Right-to-cure windows, adverse-action timing and state licensing are declared once and enforced on every capability above, because a rule implemented three times is a rule that will differ three ways.

Surfaces, and where SDUI applies

Four surfaces, one set of contracts. The server decides what may appear and which verbs are legal; each surface decides pixels.

Client surfaces Experience runtimeone scoped plan per surface Capability contractsroles · slots · intents · views ProjectionHostgoverned reads PlatformHostgoverned writes Consumer web Dealer pad Branch desktop Collections appoffline

SDUI earns its place here because the same account has to look right on four surfaces for several brands, and because copy, offers and layout change far more often than the rules do. A dealer pad and the consumer site show the same deal because they are handed the same recipe.

The company declares its shared capabilities, vertical modules, and component packs in an @fabricorg/assembly manifest. Resolution produces the exact lockfile used by @fabricorg/sdui-release to validate a document, its token set, and explicit grants. A dealer document can read capability://party/applicant-summary and offer capability://origination/submit-application only when those references are granted by the locked application. The web, mobile, and desktop renderers consume the promoted release through separate native component registries; they do not reinterpret the capability reference.

It does not earn its place everywhere. Inventory search, vehicle look-up and recommendation are latency-critical read paths that belong behind a search engine. Routing them through a governed mutation pipeline buys audit guarantees nobody needs and spends response time that everybody notices.

The collections app is the case that decides the design. It works offline, so its actions declare offline-capturable and their authority is governed at execution rather than at capture. A queued recovery replays through the identical path on reconnect, and if the borrower paid in the meantime it is refused into reconciliation with the capture-time evidence attached.

External systems

An automotive lender depends on systems it did not write and should not rewrite. Each is reached through a typed interface the platform owns, so the capability code never holds a vendor's SDK and never learns a vendor's shape.

Shared capabilities + vertical packs Portstyped interfaces the platform owns Decisioningcredit bureau · income and identitycollateral valuation Systems of recordloan origination · loan servicing Executionpayment rails · e-signaturetitling and DMV

Two integration patterns matter more than the list.

A pull is an activity, not a side effect. A credit pull is a governed action: it is recorded before it happens, policy decides whether this actor may pull for this purpose, permissible purpose is captured, and the result becomes an event. FCRA asks who pulled, when and why — that is a query against evidence the pipeline already produced, not a reporting project.

A system of record is a consumer, not the owner of meaning. Where a loan servicing system or an existing LOS is already in place, it subscribes to events through the outbox rather than being called synchronously mid-decision. The agreement's lifecycle stays in the capability, and the external system receives what changed and why. That is what lets a servicing platform be replaced without re-deriving the domain.

@fabricorg/ports declares these interfaces and turns a capability's stated requirement into a deployment gate: a capability that needs a bureau interface cannot reach an environment where none is registered. Any adapter must pass the same contract suite as the one it replaces.

Next

The verticals — origination, refinance and collections, and exactly what each one adds.

On this page