Skip to content

Application Settings

Global application behaviour is controlled via two config files in applicationconfig/. Both live under config/ in the repository — deploy changes via the Send Partner Portal (Client Build & Deploy for Dev; Create/Deploy Client Microservice Version for SIT/UAT). Workbench picks changes up on its next periodic configuration refresh.


Backend settings (be_config.json)

Verified top-level keys in the base repository:

Setting Description
homePartyId Must match partyId in trading-parties/{client}-insurer.json. Mandatory.
baseCountry ISO 3166-1 alpha-3 country code for the client's home country (e.g. GBR).
currencyConfig Nested block controlling the currency provider and refresh frequencies.
featureSwitches A JSON-encoded string containing feature switches (e.g. "{\"DUA\": true,\"PAS\" : true}"). Edit the embedded JSON — do not convert the field to a nested object.

Other top-level blocks used for application-wide settings include documentConfig, documentGenerationConfig, masterRiskConfig, policyConfig, pricingAdminConfig, clashCheckConfig, additionalEntityConf, uwRationaleConfig, and productCoversProcessConfiguration. Inspect the base repository file directly to see the current shape — these are typically set up by Send during initial implementation.


Frontend settings (ui_config.json)

ui_config.json controls the Workbench frontend. It has two primary sections relevant to application-wide configuration: features and applicationSettings.


Feature flags (ui_config.json → features)

The features block enables or disables platform capabilities per client. The values below are derived from the UiConfigFeatures interface and Feature enum in the platform source — only use these exact key names.

Required flags — these must be present in every implementation:

Flag Type Description
customRiskTabs boolean Enables custom tab support on the risk record
exemptions boolean Enables the DUA exemptions tab on contract risks
mta boolean Enables mid-term adjustment (MTA) functionality
multiLanguage boolean Enables multi-language UI support
riskPeek boolean Enables the risk peek panel (hover preview)
submission boolean Enables risk submission forms (new risk creation)
submissionV2 boolean Enables the v2 submission form engine

Optional flags:

Flag Type Description
bureauMessages boolean Enables Lloyd's bureau message integration
clauseLibrary boolean Enables the clause library admin tab for DOC_ADMIN users
financialAccounting boolean Enables the financial accounting module
pas boolean Enables PAS (Policy Administration System) integration UI
raterIde boolean Enables the rating IDE for rule authoring
riskDataFix boolean Enables the risk data fix admin tool
rulesAdmin boolean Enables the rules admin interface
smartSubmission boolean Enables the Smart Submissions (email inbox) module
smartSubmissionTestHarness boolean Enables the Smart Submissions test harness (non-production only)
taskManagement boolean Enables the task management module
userManagement boolean Enables the user management admin interface
uwRationale boolean Enables underwriting rationale capture

blockByRole — per-feature role restriction:

Any feature can be restricted to specific roles using blockByRole. This lets you enable a feature globally but make it accessible only to certain roles:

"features": {
  "clauseLibrary": true,
  "blockByRole": {
    "clauseLibrary": ["DOC_ADMIN"],
    "rulesAdmin": ["RULE_PARAMETER_ADMIN", "RULE_PARAMETER_START_DATE_ADMIN"]
  }
}

The keys inside blockByRole must match the feature flag names in the table above. The value is an array of role name strings from the User Roles reference. Only users with one of the listed roles can access the feature — all others see it as disabled regardless of the feature flag value.

Note

ui_config.json and be_config.json each carry their own independent set of feature flags. Both files sit in applicationconfig/ — S3 business config — and neither is part of the DynamoDB environment profile (dynamodb/{env}/data.json).


Application settings (ui_config.json → applicationSettings)

The applicationSettings block controls global UI behaviour. All fields below are from the UiConfigApplicationSettings interface in the platform source.

Auto-logout

"autoLogout": {
  "enabled": true,
  "inactivityTime": 30,
  "countdownTime": 5,
  "activityEventList": ["mousemove", "keydown", "click", "scroll"]
}
Field Description
enabled Enable or disable auto-logout
inactivityTime Minutes of inactivity before the countdown begins
countdownTime Minutes in the countdown before the user is logged out
activityEventList DOM events that reset the inactivity timer

Configure conservatively for production — risks may be open for extended review periods. A common production setting is inactivityTime: 60, countdownTime: 5.

Date and time format

Field Description
dateFormat Short date format used globally (e.g. "DD/MM/YYYY")
longDateFormat Long date format (e.g. "DD MMMM YYYY")
mediumDateFormat Medium date format
dateLocale Locale string for date parsing and display (e.g. "en-GB")
hourFormat "12-hour" or "24-hour" — controls time display across the UI

Currency and decimal places

Field Description
currency Default currency code (e.g. "GBP")
reportingCurrency Currency used for reporting and aggregation displays
defaultDecimalPlaces.currency Decimal places for currency values
defaultDecimalPlaces.numeric Decimal places for plain numeric values
defaultDecimalPlaces.percentage Decimal places for percentage values
defaultDecimalPlaces.shortDecimal Decimal places for short decimal display
defaultDecimalPlaces.longDecimal Decimal places for long decimal display

Example:

"defaultDecimalPlaces": {
  "currency": 2,
  "numeric": 0,
  "percentage": 2,
  "shortDecimal": 2,
  "longDecimal": 4
}

Address settings

Field Description
address.requiredAddressFields Array of address field keys that are mandatory (e.g. ["numberAndStreet", "cityName", "postalCode"])
address.stateFormat Format for the state/county field
address.useStateDropdown If true, state is a dropdown rather than a free text field
address.alwaysMatchDomicile If true, the address country is always locked to the project domicile
address.useDefaultDomicileForProject If true, uses the default domicile value for new project addresses
address.additionalFieldsDisplayConfig.county If true, shows the county field in address forms
Field Description
parties.partySearchMinInputThreshold Minimum characters before party lookup triggers (default: 3). Lower values increase API load.
parties.partySearchDelayThresholdMs Milliseconds to wait after last keystroke before triggering search
brokerResultsLimit Maximum number of broker search results to display

Other settings

Field Description
domicile Default country/domicile for the client (e.g. "GBR")
defaultTextAreaRowLength Default number of rows in text-area elements
compareInUtcForCancellations If true, date comparisons for cancellations use UTC
disableSubmissionProfiles If true, disables the submission profile selection step
duaDashboardUrlPart URL segment used to construct DUA dashboard links
useClientApi.brokerSearch If true, broker search uses the client microservice rather than the platform default
useClientApi.editRisk If true, edit-risk calls use the client microservice
useV2Api.getRisk If true, risk detail fetches use the v2 API endpoint