Optimal Loans — structuring without extraction
Loan comparison on the open web is a lead-generation surface: the more stressed the household, the more valuable the click. @rsp/optimal-loans inverts that. The calculation runs entirely on your device, and a deterministic ethics engine suppresses every commercial pathway the moment disaster or hardship context is present.
Privacy-First Loan Capacity Engine
RSP context sensitivity overrides
Standard un-sponsored loan optimisation and repayment structuring active.
- help_stage
- prepare
- theme
- loan_capacity_structuring
- sensitivity_tier
- 1
- urgency
- none
- subject_id
- anon_edge_session
- expires_at (90-day decay)
- 2026-11-26
Why it is built this way
On-device by construction
Every figure you type stays in this browser tab. No income, debt or rate value is transmitted, logged or stored — the engine only ever emits a low-resolution capacity state.
Deterministic ethics, not a model
Suppression is hard-coded in the rules engine. It cannot be overridden by configuration, tuning or an AI layer, so a distressed household can never be re-ranked into a monetised offer.
Capacity, not conversion
The output is a borrowing capacity score and a hedged fixed/variable split, tested against a 2.5% stress buffer — the same posture @rsp/macro applies to serviceability everywhere else.
Suppression tiers
Sensitivity tiers are evaluated top-down and the first match wins. Higher tiers always remove commercial prominence — they never add it.
- Tier 1Safe preparednessHeadroom is healthy. Standard un-sponsored structuring and summary routes.
- Tier 2Capacity suppressionCapacity score below 0.5. Commercial prominence withdrawn; consolidation guidance offered.
- Tier 3Hardship suppressionDeclared hardship, or capacity below 0.3. Routed to counselling and coordination surfaces.
- Tier 4Disaster suppressionActive disaster context. All credit offers suppressed; aid eligibility routes take priority.
Where it sits in the HELP timeline
calc.optimal.loans is a shared engine, not a destination. The same on-device calculation is consumed by four surfaces across the HELP stages — Prepare, Recover, Heal and Coordinate — each reading only the low-resolution capacity state, never the inputs.
Role. Educational, non-coercive structuring: fixed/variable split ratios, rate-shock stress tests and debt consolidation.
Mechanism. Serviceability is computed locally at the browser edge — no account, no credit check, no identity harvesting.
Role. Disaster-affected households and small businesses evaluating concessional recovery loans, grants and emergency relief finance.
Mechanism. Feeds the rule-based eligibility navigator to model realistic recovery timelines instead of routing vulnerable users to high-interest lenders.
Role. Mitigates financial distress and debt-induced anxiety rather than monetising it.
Mechanism. Tier 3 and Tier 4 flags hard-hide every commercial link and referral, surfacing un-sponsored prompts to free financial counselling and legal aid.
Role. Family, carer and community household budget coordination and co-borrowing capacity.
Mechanism. Hub members share categorical health indicators (capacity_state: stable) — never raw balances or debt figures.
Alignment with @rsp/macro
The capacity score is the financial reading of the same equilibrium expression that governs exposure rotation across the macro branch:
- V_T / V_A — financial velocity ratio. Rolling revenue against target survival or growth velocity, so a business can tell whether new debt accelerates sustainable expansion or drives saturation (S → 1.0) and operational overload.
- CX / S — service capability over strain. The same ratio that withdraws prominence from a saturated vertical withdraws commercial pathways from a saturated household.
- Privacy safeguards — raw debt, income and banking feeds are processed at the local edge, converted to low-resolution state signals and burned on write. Every emitted signal carries a 90-day decay window.
Signal handoff
The engine emits a single anonymised RSP signal — HELP stage, theme, capacity state, sensitivity tier and a 90-day expiry. That signal is what other RSP surfaces consume to decide what is safe to show next. Raw financial inputs are never part of it.