A bank's calculators sit next to product offers, which raises the honesty bar: a number that quietly flatters the product is not a UX bug, it is a consumer-protection exposure. The verified pattern makes the honest behavior the default.
Digital banking teams run calculators as acquisition and education surfaces around lending and deposit products: mortgage affordability tools, refinance break-evens, auto-loan comparisons, savings-goal timelines. The tools are high-traffic, easy to leave unowned after launch, and adjacent to offers — a combination that produces both the stale-constant failure and its more dangerous sibling, the tool whose defaults or adjustments lean toward the product next to it. This playbook covers the model fit, the surfaces, and the consumer-protection discipline that this vertical needs more explicitly than any other.
The models and the offer boundary
The loans and credit family is the core: refinance break-even with its move horizon, extra-payment and biweekly-mortgage comparisons, points break-even, PMI removal, ARM-versus-fixed, auto loans, side-by-side loan comparison — plus emergency-fund and debt-payoff for the savings and wellness surfaces. The boundary that keeps a bank's integration honest is that every rate is a user-supplied input: the models compute mechanics on rates the user enters, and they neither quote the bank's pricing nor assume it. That separation is the design answer to the offer-adjacency problem — the calculator computes the user's scenario, the offer surface presents the bank's pricing, and nothing in the computation layer blends the two. A tool that silently pre-fills its rate input with the bank's best advertised offer has crossed that line one layer above the API, and deserves the same scrutiny as any silent adjustment (/writing/udaap-silent-adjustment).
Surfaces: embeds for content, API for banking
Banks get unusual mileage from running both integration surfaces. The embed is the fit for the content estate — mortgage explainers, financial-education hubs, branch-adjacent landing pages — where two lines of markup put a maintained, attributed calculator inside an article, with prefill turning each story into a live illustration (/writing/embed-script-tag). The API is the fit for authenticated banking, where numbers feed saved scenarios and real decisions and the product needs the envelope: store it at trust boundaries, keep the traces if an assistant surface exists, and inherit the replay posture the compliance pillar documents. The two surfaces share models and versions, so a scenario a customer explores in an article computes identically inside the app — a small consistency that spares support conversations.
| Bank surface | Right integration | The habit that matters |
|---|---|---|
| Education and content pages | Embed with prefill | Badge visible, fallback copy inside the div |
| Authenticated tools | Backend API | Envelope stored at trust boundaries |
| Offer pages | Neither computes the offer | Rates are user inputs, pricing stays on the offer surface |
| Assistant or chat | MCP or backend tools | Traces stored, curated tool list |
Maintenance is the actual pitch
The honest reason banks externalize this layer is janitorial. A bank's calculator estate accumulates for a decade, each tool with embedded constants and an orphaned owner, and the annual cost is invisible until an examiner or a customer finds the stale number first. The registry-fed models end the constants project; the changelog and pinned versions turn behavior change from a silent risk into a reviewed event; the public specs give the bank's three lines of defense something to actually read. The migration guides cover the mechanics — shadowing, diffing, deliberate cutover — and the bank-specific note is to treat the legacy tools' diff log as a finding inventory: every stale constant it surfaces was a live exposure the migration is retiring.
- Embeds for content, API for authenticated surfaces — same models, same versions.
- Rates and terms are always user inputs; the bank's pricing stays on disclosure-governed offer surfaces.
- No pre-filling calculator inputs with promotional rates.
- Store envelopes at trust boundaries in the authenticated app.
- Run the migration as remediation; keep the diff log.
- Attribution: the badge on embeds, visible Powered by Worthune where API results reach customers.
Sources
- [1] Worthune writing: The UDAAP Lens on Silent Clamping. https://worthune.com/writing/udaap-silent-adjustment
- [2] Worthune writing: Embedding a Verified Calculator With One Script Tag. https://worthune.com/writing/embed-script-tag
- [3] Worthune writing: Backfilling a Legacy Calculator With a Verified Engine. https://worthune.com/writing/backfilling-legacy-calculator