Skip to main content
Version: 5.3.0 - 5.3.2

KAIZEN configuration

This article describes the configuration properties available for KAIZEN.

These properties are split across the following configuration sources:

  • The config.json file for frontend runtime settings
  • The .env file for build-time settings
  • The Spring Boot and KAIZEN lowcode application properties for backend service configuration

Properties in the config.json file​

The config.json file contains runtime configuration properties that take effect without rebuilding the application. The following table lists the properties available in version 5.3.0.

ModulePropertyDescriptionPossible valuesDefault
App DesignerAUTO_SAVE_DRAFT_INTERVAL_SECONDSets the interval (in seconds) for auto-saving drafts in the UI editor.Positive integer (seconds)900
App DesignerMESSAGE_DURATIONSets the duration (in milliseconds) for the page-locked notice message in the UI editor.Positive integer (milliseconds)15000
App DesignerREFRESH_INTERVALSets the interval (in milliseconds) to refresh the page list in the resources panel of the UI editor (e.g. lock status).Positive integer (milliseconds)30000
ConsoleENABLE_MOBILEEnables or disables the creation of mobile apps.TRUE/FALSEFALSE
Console, Database Designer, App Designer, Theme Designer, Workflow DesignerCLOUD_ENABLEEnables or disables KAIZEN cloud mode.TRUE/FALSEFALSE
GeneralCONTEXT_PATHSets the context path for calling the backend gateway.(user-defined path e.g. /mycontext)-
GeneralCSRF_TOKEN_PREFIXSets the CSRF key. This value should match the backend configuration.(user-defined key e.g. agp-cookie-csrf)agp-cookie-csrf
GeneralDATASOURCE_GLOBAL_CUSTOM_TIMEOUTSets a timeout (in milliseconds) that overrides all data sources that do not use the global timeout at runtime.Positive integer (milliseconds)-
GeneralDATASOURCE_GLOBAL_TIMEOUTSets the timeout (in milliseconds) for all data sources that have global timeout enabled, and for all requests sent in native code.Positive integer (milliseconds)60000
GeneralDYNAMIC_USER_DOMAIN_CODESDynamically sets which domains can visit the page at runtime.JSON array string, e.g. ['mydomain1','mydomain2']-
GeneralICE_ENABLE_FAROEnables or disables Faro.TRUE/FALSEFALSE
GeneralICE_FARO_BROWSER_CONFIG_URLSets the Faro collection URL.URL string/collect
GeneralMCE_LOGOControls whether the MCE editor logo is displayed. Set to FALSE to hide the logo.TRUE/FALSETRUE
GeneralREFRESH_CSRF_TOKEN_INTERVAL_SECSets the interval (in seconds) to refresh the CSRF token on the front end. This value should match the backend configuration. Applies to the main app and the login page.Positive integer (seconds)5400
GeneralRSA_ENCRYPTION_PADDINGSets the RSA encryption padding scheme.PKCS1 / MGF1_SHA1 / MGF1_SHA256MGF1_SHA256
GeneralUPLOAD_MAX_SIZESets the maximum file upload size in megabytes.Positive integer (MB)20
Main AppMICRO_APPSConfigures which micro apps can be accessed by the main app at runtime.JSON array string, e.g. [{ activePath: '/iam', loadScriptMode: 'fetch', title: 'KAIZEN Studio - IAM', hashType: true, entry: '/iam/', cached: true }]-
Main App, Standalone AppMENU_APP_GROUPSFilters the menu by a list of app identities.JSON array string, e.g. ['myappidentity1','myappidentity2']-
Workflow DesignerAI_AGENT_ENABLEControls whether AI-related tasks are shown in the Workflow Designer for selection.TRUE/FALSEFALSE
UI RendererUSER_DOMAIN_CODESpecifies the domain for the current anonymous user.designerdesigner

Properties in the .env file​

The .env file contains build-time configuration properties that take effect during the build process.

PropertyDescriptionPossible valuesDefault
ASSETS_ZIP_URLSets the URL from which to download assets, for assets localisation.URL string-
DEV_ENVSets the development environment identifier.(user-defined environment ID e.g. dev / development / prod / production)production
GENERATE_ASSETS_ZIPControls whether to generate an assets zip file.TRUE/FALSEFALSE
USE_PUBLIC_IPControls whether to use the public IP address.TRUE/FALSETRUE
WEBPACK_OBFUSCATOREnables code obfuscation to protect source code.TRUE/FALSETRUE

Properties for Spring Boot and KAIZEN lowcode​

This section lists the Spring Boot and KAIZEN lowcode application properties available in version 5.3.0, organised by module.

KAIZEN-specific property names follow the naming convention kaizen.{serviceName}.x.x or kaizen.{serviceName}.{groupName}.x.x.

note

This is not an exhaustive list of properties. For more information, refer to the Spring Boot documentation.

AI​

PropertyDescriptionPossible valuesDefault
DO_NOT_TRACKTurns off telemetry.TRUETRUE
LANGFLOW_AUTO_LOGINYou need to set this property value to TRUE:
  • This property will use KAIZEN's authentication.
  • LANGFLOW_SUPERUSER and LANGFLOW_SUPERUSER_PASSWORD will be redundant.
TRUETRUE
LANGFLOW_AUTO_SAVINGYou need to set this property value to FALSE, as auto-save is not allowed due to flow versioning.FALSEFALSE
LANGFLOW_CACHE_TYPESets the cache type for LangFlow's internal caching system. After setting this property value to redis, you must also set these LangFlow Redis environment variables.async, redis, or memoryredis
LANGFLOW_CONFIG_DIRSets the directory where files, logs, and the database are stored. The default value depends on the persistent volume configuration.(user-defined directory e.g., /data/files)/data/files
LANGFLOW_EVENT_DELIVERYSets how to deliver build events to the frontend.polling, streaming, or directstreaming
LANGFLOW_LOG_LEVELSets the logging level of AI services.DEBUGDEBUG
LANGFLOW_NEW_USER_IS_ACTIVEAutomatically activates new accounts.TRUETRUE
LANGFLOW_SAVE_DB_IN_CONFIG_DIRYou need this property only when you use SQLite database to retain the InMemory database.FALSEFALSE
LANGFLOW_SECRET_KEYSets the secret key for decryption and encryption.(configurable)(configurable)
middleware.intercept.projectidAppends a project ID in the response header for every endpoint call.x-project-idx-project-id
LANGFLOW_SKIP_AUTH_AUTO_LOGINYou need to set this property value to TRUE, so that it will use KAIZEN's RBAC.TRUETRUE
kaizen.ai.websocket.close.timeoutWebSocket connection close timeout duration in seconds.Positive integer (seconds)10
kaizen.ai.websocket.enabledAllows the WebSocket connection for AI services.TRUE/FALSETRUE
kaizen.ai.websocket.max.concurrent.runsMaximum number of concurrent flow executions per WebSocket connection.Positive integer10
kaizen.ai.websocket.max.message.sizeMaximum incoming WebSocket message size in bytes.Positive integer (bytes)1048576
kaizen.ai.websocket.ping.intervalPing interval in seconds for WebSocket connections.Positive integer (seconds)30
kaizen.ai.websocket.ping.timeoutTimeout in seconds waiting for a response before closing the WebSocket connection.Positive integer (seconds)10
kaizen.ai.websocket.token.permissions.enabledAllows token-based permission checks for AI WebSocket connections.TRUE/FALSEFALSE

LangFlow Redis Properties​

If the LANGFLOW_CACHE_TYPE value is set to redis, you must set these properties in the table:

PropertyDescriptionPossible valuesDefault
LANGFLOW_REDIS_CACHE_EXPIRECache expiration time in seconds.Positive integer (seconds)3600
LANGFLOW_REDIS_DBRedis database number.00
LANGFLOW_REDIS_HOSTRedis server hostname.localhostlocalhost
LANGFLOW_REDIS_PASSWORDOptional password for Redis authentication.(project-specific password)-
LANGFLOW_REDIS_PORTRedis server port.63796379
LANGFLOW_REDIS_SSL_ENABLEDEnables Redis SSL.TRUE/FALSEFALSE
LANGFLOW_REDIS_SSL_KEYSTOREIf the LANGFLOW_REDIS_SSL_ENABLED value is set to TRUE, this controls the SSL keystore.See LangFlow documentation-
LANGFLOW_REDIS_SSL_KEYSTORE_PASSWORDIf the LANGFLOW_REDIS_SSL_ENABLED value is set to TRUE, this stores the SSL keystore password.See LangFlow documentation-
LANGFLOW_REDIS_SSL_TRUSTSTOREIf the LANGFLOW_REDIS_SSL_ENABLED value is set to TRUE, this controls the SSL truststore.See LangFlow documentation-
LANGFLOW_REDIS_SSL_TRUSTSTORE_PASSWORDIf the LANGFLOW_REDIS_SSL_ENABLED value is set to TRUE, this stores the SSL truststore password.See LangFlow documentation-

Basic​

Properties in this module cover core infrastructure, including SSL/TLS, datasource, Redis, and mail configuration.

SSL/TLS configuration

PropertyDescriptionPossible valuesDefault
server.http2.enabledEnables HTTP/2.0. Should follow the SSL switch configuration.TRUE/FALSETRUE
server.ssl.client-authSets the mTLS client authentication mode. none disables mTLS, want enables but does not require it, need enables and requires it.none/want/neednone
server.ssl.enabledEnables SSL between internal services (mTLS). Recommended to enable in production.TRUE/FALSETRUE
server.ssl.key-aliasSets the SSL certificate name.(user-defined string)KAIZEN
server.ssl.key-storeSets the SSL keystore path.(user-defined path)classpath:certs/tls/keystore.p12
server.ssl.key-store-passwordSets the SSL keystore password.(user-defined password)password$1
server.ssl.key-store-typeSets the SSL keystore type.PKCS12PKCS12
server.ssl.trust-storeSets the SSL truststore path.(user-defined path)classpath:certs/tls/truststore.p12
server.ssl.trust-store-passwordSets the SSL truststore password.(user-defined password)password$1
server.ssl.trust-store-typeSets the SSL truststore type.PKCS12/JKSPKCS12

Datasource configuration

PropertyDescriptionPossible valuesDefault
spring.datasource.driver-class-nameSets the JDBC driver class name.See Spring Boot documentationorg.postgresql.Driver
spring.datasource.passwordSets the datasource password.See Spring Boot documentationpassword$1
spring.datasource.urlSets the JDBC datasource URL.See Spring Boot documentation(project-specific)
spring.datasource.usernameSets the datasource username.See Spring Boot documentationpostgres
spring.jpa.properties.hibernate.dialectSets the Hibernate dialect.See Spring Boot documentationorg.hibernate.dialect.PostgreSQLDialect
spring.jpa.show-sqlEnables SQL logging.TRUE/FALSETRUE

HikariCP connection pool

PropertyDescriptionPossible valuesDefault
spring.datasource.hikari.auto-commitEnables auto-commit for connections.TRUE/FALSETRUE
spring.datasource.hikari.connection-test-querySets the connection test query.See Spring Boot documentationSELECT 1
spring.datasource.hikari.connection-timeoutSets the connection timeout (in milliseconds).Positive integer (milliseconds)30000
spring.datasource.hikari.data-source-properties.requireSSLRequires SSL for datasource connections.See Spring Boot documentationTRUE
spring.datasource.hikari.data-source-properties.trustStoreSets the truststore path for datasource SSL.See Spring Boot documentationclasspath:certs/tls/truststore.p12
spring.datasource.hikari.data-source-properties.trustStorePasswordSets the truststore password for datasource SSL.See Spring Boot documentationpassword$1
spring.datasource.hikari.data-source-properties.trustStoreTypeSets the truststore type for datasource SSL. Accepts PKCS12 or JKS.See Spring Boot documentationPKCS12
spring.datasource.hikari.idle-timeoutSets the idle timeout (in milliseconds).Positive integer (milliseconds)60000
spring.datasource.hikari.max-lifetimeSets the maximum connection lifetime (in milliseconds).See Spring Boot documentation30000
spring.datasource.hikari.maximum-pool-sizeSets the maximum connection pool size.See Spring Boot documentation50
spring.datasource.hikari.minimum-idleSets the minimum number of idle connections.See Spring Boot documentation50
spring.datasource.hikari.pool-nameSets the connection pool name.See Spring Boot documentationDatebookHikariCP
spring.datasource.hikari.read-onlySets connections as read-only.TRUE/FALSEFALSE
spring.datasource.hikari.validation-timeoutSets the validation timeout (in milliseconds).Positive integer (milliseconds)5000

Redis configuration

PropertyDescriptionPossible valuesDefault
spring.cache.typeSets the cache storage type for @Cacheable.See Spring Boot documentationredis
spring.data.redis.hostSets the Redis host.See Spring Boot documentationredis
spring.data.redis.lettuce.pool.max-activeSets the maximum active connections in the Lettuce pool.See Spring Boot documentation8
spring.data.redis.lettuce.pool.max-idleSets the maximum idle connections in the Lettuce pool.See Spring Boot documentation8
spring.data.redis.lettuce.pool.min-idleSets the minimum idle connections in the Lettuce pool.See Spring Boot documentation0
spring.data.redis.passwordSets the Redis password.See Spring Boot documentationpassword$1
spring.data.redis.portSets the Redis port.See Spring Boot documentation6379
spring.data.redis.ssl.enabledEnables SSL for Redis connections.See Spring Boot documentationTRUE
spring.redis.ssl.key-storeSets the Redis SSL keystore path.See Spring Boot documentationclasspath:certs/tls/keystore.p12
spring.redis.ssl.key-store-passwordSets the Redis SSL keystore password.See Spring Boot documentationpassword$1
spring.redis.ssl.trust-storeSets the Redis SSL truststore path.See Spring Boot documentationclasspath:certs/tls/truststore.p12
spring.redis.ssl.trust-store-passwordSets the Redis SSL truststore password.See Spring Boot documentationpassword$1

Mail configuration

PropertyDescriptionPossible valuesDefault
email.fromSets the sender email address.Email addressKAIZEN@ecquaria.com
email.unique.base.domainsSets the user domain codes that require unique email addresses. Accepts multiple domain codes separated by commas.Comma-separated domain codes-
spring.mail.hostSets the SMTP server host.See Spring Boot documentation-
spring.mail.passwordSets the SMTP server password.See Spring Boot documentation-
spring.mail.portSets the SMTP server port.See Spring Boot documentation25
spring.mail.usernameSets the SMTP server username.See Spring Boot documentation-

Common​

PropertyDescriptionPossible valuesDefault
item.code.regexSets the regex pattern for MasterCode item validation.(regex pattern)^[a-zA-Z0-9_-]+$
kaizen.common.system.config.cache.expire.secondsSets the system config cache expiration time (in seconds) for Redis storage.Positive integer (seconds)1800
lowcode.auditlog.default.attribute.filterSets the default attribute filter list for audit logs.vault,createdByUserId,updatedByUserId,createdDate,updatedDatevault,createdByUserId,updatedByUserId,createdDate,updatedDate

Console​

General console properties

PropertyDescriptionPossible valuesDefault
code.generate.backend.dirSets the backend code generation output directory.(project-specific directory)/workdir/code_generate/fe
code.generate.back.template.dirMaps KAIZEN versions to backend code generation template directories (JSON object).(version-specific JSON mapping)(version-specific JSON mapping)
code.generate.frontend.dirSets the frontend code generation output directory.(project-specific directory)/workdir/code_generate/fe
generate.code.db.to.javaMaps database column types to Java types and UI components for backend code generation (JSON object).(database-specific JSON mapping)(database-specific JSON mapping)
indexjs.get.dirMaps KAIZEN versions to frontend JavaScript file paths (JSON object).(version-specific JSON mapping)(version-specific JSON mapping)
kaizen.branch.name.regex.regexpSets the regex pattern for validating Git branch names.(regex pattern)(regex pattern)
kaizen.console.service.templates.default.dirSets the templates directory for service code generation. External Docker paths can also be configured.(project-specific directory)classpath:/templates
lowcode.npmrc.configSets the NPM registry source configuration.(project-specific registry configuration)(project-specific registry configuration)
lui.versionControls the lui-materials version.Version string1.8.0-1.0.0-SNAPSHOT
server.work.dirSets the server working directory. Refer to the Dockerfile configuration.(project-specific directory)/workdir
service.datasource.allowed.endpointsSets the allowed datasource endpoints.(comma-separated endpoint list)(comma-separated endpoint list)

Page scan properties

PropertyDescriptionPossible valuesDefault
pagescan.connect.request.timeout.msSets the page scan connection request timeout (in milliseconds).Positive integer (milliseconds)300000
pagescan.connect.timeout.msSets the page scan connection timeout (in milliseconds).Positive integer (milliseconds)300000
pagescan.maxretrySets the number of retry attempts for failed scans before marking a scan as failed.Non-negative integer3
pagescan.read.timeout.msSets the page scan read timeout (in milliseconds).Positive integer (milliseconds)300000
pagescan.target.hostnameSets the page scan service hostname.Hostname or IP addresslocalhost
pagescan.target.portSets the page scan service port number.Integer from 1 to 65535443
pagescan.target.protocolSets the page scan service URL scheme.http/httpshttps

Git integration properties

PropertyDescriptionPossible valuesDefault
git.github.api.urlSets the GitHub API URL. Can be modified if a proxy is used.See GitHub documentationhttps://api.github.com
git.github.urlSets the GitHub webpage URL.See GitHub documentationhttps://github.com
gitlab.proxy.enableEnables the GitLab proxy.See GitLab documentationFALSE
gitlab.proxy.hostSets the GitLab proxy host.See GitLab documentation(project-specific IP address)
gitlab.proxy.passwordSets the GitLab proxy password.See GitLab documentation(project-specific password)
gitlab.proxy.portSets the GitLab proxy port.See GitLab documentation7890
gitlab.proxy.usernameSets the GitLab proxy username.See GitLab documentation-
gitlab.url.white.path.listSets the GitLab address whitelist that KAIZEN can connect to.See GitLab documentationhttps://gitlab.com/

AI translation properties

PropertyDescriptionPossible valuesDefault
ai.translation.enableEnables AI translation.TRUE/FALSETRUE
ai.translation.modelSets the AI translation model. Accepts ollama or openai.ollama/openaiopenai
https.proxy.enableEnables the proxy used for AI translation.TRUE/FALSEFALSE
https.proxy.hostSets the AI translation proxy host.(project-specific IP address)127.0.0.1
https.proxy.portSets the AI translation proxy port.(project-specific port number)7890
spring.ai.ollama.base-urlSets the Ollama base URL.See Spring Boot documentation-
spring.ai.ollama.chat.modelSets the Ollama chat model.See Spring Boot documentationqwen2:7b
spring.ai.ollama.chat.options.temperatureSets the Ollama chat temperature.See Spring Boot documentation0.7
spring.ai.openai.api-keySets the OpenAI API key.See Spring Boot documentationxxx
spring.ai.openai.chat.options.modelSets the OpenAI chat model.See Spring Boot documentationgpt-3.5-turbo
spring.ai.openai.chat.options.temperatureSets the OpenAI chat temperature.See Spring Boot documentation0.7

Application asset and page schema properties

PropertyDescriptionPossible valuesDefault
kaizen.application.default-assets.kaizenSets the asset file path for creating KAIZEN apps.Classpath resource or file pathclasspath:/application/assets.json
kaizen.application.default-assets.mobileSets the asset file path for creating mobile apps.Classpath resource or file pathclasspath:/application/assets-mobile.json
kaizen.application.default-action-page-schema.kaizenSets the default action page schema for KAIZEN apps.Classpath resource or file pathclasspath:/page/defaultpages/Action.json
kaizen.application.default-error-page-schema.kaizenSets the default error page schema for KAIZEN apps.Classpath resource or file pathclasspath:/page/defaultpages/ErrorPage.json
kaizen.application.default-force-change-password-page-schema.kaizenSets the default force change password page schema for KAIZEN apps.Classpath resource or file pathclasspath:/page/defaultpages/ForceChangePassword.json
kaizen.application.default-login-page-schema.kaizenSets the default login page schema for KAIZEN apps.Classpath resource or file pathclasspath:/page/defaultpages/Login.json
kaizen.application.default-page-schema.kaizenSets the default page schema for KAIZEN apps.Classpath resource or file pathclasspath:/page/DefaultPage.json
kaizen.application.default-page-schema.mobileSets the default page schema for mobile apps.Classpath resource or file pathclasspath:/page/DefaultPageMobile.json
kaizen.application.error-page-schema.kaizenSets the error page schema for KAIZEN apps.Classpath resource or file pathclasspath:/page/ErrorPage.json
kaizen.application.error-page-schema.mobileSets the error page schema for mobile apps.Classpath resource or file pathclasspath:/page/ErrorPageMobile.json
kaizen.application.other-type-page-schema.kaizenSets the other type page schema for KAIZEN apps.Classpath resource or file pathclasspath:/page/OtherTypePage.json
kaizen.application.other-type-page-schema.mobileSets the other type page schema for mobile apps.Classpath resource or file pathclasspath:/page/OtherTypeMobile.json

Gateway​

PropertyDescriptionPossible valuesDefault
auth.single.session.enabledEnables single-session mode.TRUE/FALSEFALSE
auth.single.session.on.strategySets the single-session strategy.serial/blockserial
eic.login.account.domainSets the EIC login domain.Domain code-
eic.login.cp.access.tokenSets the EIC CP access token.(user-defined secret)-
eic.login.govad.access.tokenSets the EIC GovAD access token.(user-defined secret)-
eic.login.govad.user.token.urlSets the EIC GovAD login URL.(project-specific URL)(project-specific URL)
eic.login.oidc.user.token.urlSets the EIC SP/CP login URL.(project-specific URL)(project-specific URL)
eic.login.project.custom.apiSets the EIC login custom API.API path or URL-
eic.login.sp.access.tokenSets the EIC SP access token.(user-defined secret)-
eic.login.ssl.cert.pathSets the EIC TLS certificate path.Classpath resource or file path-
eic.login.use.custom.enableEnables the use of a custom EIC TLS certificate.TRUE/FALSE-
jwt.samesite.strategySets the JWT SameSite cookie strategy.LAX/NONE/STRICTLAX
redis.clear.at.server.restartClears the Redis cache before the server starts.TRUE/FALSEFALSE
security.check.enabledEnables security profile checking. From version 5.1.1 onwards, this property is only applicable to the gateway service.TRUE/FALSETRUE
security.token.cached.enabledEnables JWT token caching in Redis. When TRUE, the gateway stores JWT tokens in the Redis cache.TRUE/FALSEFALSE
security.token.cookie.csrf.prefixSets the CSRF cookie name prefix.(user-defined string)agp-cookie-csrf
security.token.cookie.csrfkey.prefixSets the CSRF cookie key name prefix.(user-defined string)agp-cookie-csrf_key
security.token.cookie.prefixSets the cookie name prefix.(user-defined string)agp-cookie
security.token.service.prefixSets the service token prefix for internal security information.(user-defined string)agp-service
service.public.white.path.additional.listSets project-specific additional public endpoints (JSON array of path/method pairs).JSON array of path/method objects-
service.public.white.path.listSets the KAIZEN basic public endpoint list (JSON array of path/method pairs).JSON array of path/method objects(KAIZEN default list)
service.security.black.path.additional.listSets project-specific additional blacklisted endpoints.JSON array of path/method objects-
service.security.black.path.listSets the KAIZEN basic blacklisted endpoint list (JSON array of path/method pairs).JSON array of path/method objectsSee this list for the default
springdoc.api-docs.pathSets the URL path for the OpenAPI specification document.See Spring Boot documentation-
tecq.lowcode.gateway.csrf.additional.white.listSets project-specific additional CSRF-exempt endpoints.Comma-separated endpoint paths/gateway/console/api/v1/pagerevision,/login/anonymous,/auth-ott
tecq.lowcode.gateway.csrf.enabledEnables CSRF protection.TRUE/FALSETRUE
tecq.lowcode.gateway.csrf.white.listSets the KAIZEN basic CSRF whitelist (comma-separated endpoint paths).Comma-separated endpoint pathsSee this list for the default

Default value of service.security.black.path.list​

"[{""path"":""/iam/api/v1/endpoints"",""method"":""GET""},{""path"":""/common/api/v1/auditlogs/authAuditLog"",""method"":""POST""},\
{""path"":""/common/api/v1/systemConfigs/configValue"",""method"":""GET""},\
{""path"":""/iam/api/v1/users/accounts/detail/**"",""method"":""GET""},\
{""path"":""/iam/api/v1/users/changePasswordWithLinkedAccount"",""method"":""POST""},\
{""path"":""/iam/api/v1/users/resetPasswordWithLinkedAccount"",""method"":""POST""},\
{""path"":""/iam/api/v1/users/createUserWithLinkedAccount"",""method"":""POST""},\
{""path"":""/iam/api/v1/users/attempt/**"",""method"":""PATCH""},\
{""path"":""/console/api/v1/applicationProfile/removeApplicationProfiles/byUserAccountId"",""method"":""DELETE""},\
{""path"":""/console/api/v1/userassign/removeUserConsoleAssignments/byUserId"",""method"":""DELETE""},\
{""path"":""/cloud/api/v1/members/deleteUserOrgs"",""method"":""DELETE""},\
{""path"":""/common/api/v1/auditlogs"",""method"":""DELETE""},\
{""path"":""/*/api/v1/jdbc/update/column"",""method"":""POST""},\
{""path"":""/cloud/api/v1/members/retrieveInviteUsers/byUserAccountId"",""method"":""GET""},\
{""path"":""/console/api/v1/projects/deleteByProjectIds"",""method"":""DELETE""},\
{""path"":""/console/api/v1/projects/cloudRemoveProjectUserAssignments"",""method"":""DELETE""},{""path"":""/iam/auth/**"",""method"":""POST""},{""path"":""/*/api/v1/ping/**"",""method"":""GET""}]"

Default value of tecq.lowcode.gateway.csrf.white.list​

/gateway/console/api/v1/pagerevision,/auth-ott,/gateway/console/api/v1/migrations/fromEDS,/gateway/iam/api/v1/migrations/fromEDS,/gateway/common/api/v1/migrations/fromEDS,/gateway/job/api/v1/migrations/fromEDS,/gateway/projectDemo/seamless/token,/internal/bridge

General​

Server properties

PropertyDescriptionPossible valuesDefault
application.versionSets the project version.Version string{projectVersion}
server.compression.enabledEnables HTTP response compression (e.g. GZIP).TRUE/FALSETRUE
server.compression.mime-typesSets the MIME types eligible for compression.Comma-separated MIME typesapplication/json,application/xml,text/html,text/xml,text/plain,text/css,application/javascript
server.compression.min-response-sizeSets the minimum response size before compression is applied.Data size, e.g. 1024KB1024KB
server.max-http-request-header-sizeSets the maximum allowed request header size. Increased to accommodate JWT token length.Data size, e.g. 64KB, 128KB, or 1MB128KB
server.portSets the server port.Integer from 1 to 6553580
spring.application.nameSets the service name. Only modify for custom services.See Spring Boot documentation{serviceName}
spring.servlet.multipart.max-file-sizeSets the maximum size for a single uploaded file.See Spring Boot documentation10MB
spring.servlet.multipart.max-request-sizeSets the maximum size for the entire HTTP request, including all files and form data.See Spring Boot documentation100MB

JWT and authentication properties

PropertyDescriptionPossible valuesDefault
com.ecquaria.lowcode.iam.access.jwt.check-issuerEnables JWT issuer verification.TRUE/FALSETRUE
com.ecquaria.lowcode.iam.access.jwt.issuerSets the JWT issuer.(user-defined string)ecq-jwt-issuer
com.ecquaria.lowcode.iam.access.jwt.refresh-token-expiration-sec-adminSets the refresh token (session) expiry time (in seconds). Recommended to set to 3 times the access token expiry value.Positive integer (seconds)5400
com.ecquaria.lowcode.iam.access.jwt.session-token-expiration-sec-adminSets the access token expiry time (in seconds).Positive integer (seconds)1800
com.ecquaria.lowcode.iam.access.jwt.signer.key.locationSets the private key path used for signing JWT tokens. It is safer to generate your own private key.Classpath resource or file pathclasspath:certs/jwt/signer-private-key-rsa.pem
com.ecquaria.lowcode.iam.access.jwt.trusted-issuersSets the trusted JWT issuer for token validation.Comma-separated issuer namesecq-jwt-issuer

Encryption properties

PropertyDescriptionPossible valuesDefault
rsa.cipher.algorithmSets the RSA encryption algorithm for password and secret token encryption. Must match the frontend RSA_ENCRYPTION_PADDING configuration.RSA/ECB/OAEPWithSHA-256AndMGF1Padding\nRSA/ECB/PKCS1PaddingRSA/ECB/PKCS1Padding
rsa.cipher.oaep.padding.mdSets the message digest algorithm name for the OAEP padding mask generation function (MGF1).SHA-256 for version 5.x.x or nSHA-1 for version 4.x.xSHA-1

Service mesh and routing properties

PropertyDescriptionPossible valuesDefault
service.names.meshSets the service mesh routing configuration (JSON object) for local development. Each entry maps a service name to its host and port. Used when use.mesh.name is TRUE.(JSON service map)(JSON service map)
service.portSets the default service port. Used when use.mesh.name is FALSE.Integer from 1 to 6553580
use.mesh.nameEnables KAIZEN's own service mesh. Set to FALSE if using Istio service mesh.TRUE/FALSETRUE

System user and domain properties

PropertyDescriptionPossible valuesDefault
admin.account.idSets the admin account ID.User account IDadmin
designer.user.domain.codeSets the designer user domain code.Domain codedesigner
kaizen.default.domain.codeSets the default domain code.Domain codekaizen_default
system.user.admin.account.idSets the system admin account ID for internal service operations.User account IDsystemsecurityuser
system.user.admin.domainSets the system admin user domain for internal service operations (e.g. job triggers).Domain codekaizen_default
system.user.admin.vaultSets the system admin password. Obtain from the setup default password.(project-specific password)Password$1234

WebClient timeout properties

PropertyDescriptionPossible valuesDefault
agp.webclient.connect.timeoutSets the WebClient connection timeout (in seconds).Positive integer (seconds)300
agp.webclient.read.timeoutSets the WebClient read timeout (in seconds).Positive integer (seconds)300
agp.webclient.request.timeoutSets the WebClient request timeout (in seconds).Positive integer (seconds)300
agp.webclient.write.timeoutSets the WebClient write timeout (in seconds).Positive integer (seconds)300

Job executor properties

PropertyDescriptionPossible valuesDefault
job.executor.appnameSets the batch job executor name. KAIZEN uses this to register the executor's name, IP, and port with the job service for routing. Defaults to spring.application.name if not set.(user-defined string)-
job.executor.groupSets the batch job executor group.(user-defined string)DEFAULT
job.executor.log.pathSets the job log path.File path/logs/job-log
job.executor.logretentiondaysSets the job log retention period (in days). Use -1 for indefinite retention.Positive integer (days) or -1-1
job.executor.registry.enableEnables the batch job executor. When enabled, the service registers as a KAIZEN job executor.TRUE/FALSETRUE

Logging properties

PropertyDescriptionPossible valuesDefault
logging.level.com.ecquaria.lowcodeSets the log level for the lowcode module.info/debuginfo
logging.level.com.ecquaria.lowcode.config.RestTemplateInterceptorSets the log level for HTTP utility logging.info/debuginfo
logging.level.com.ecquaria.lowcode.jobSets the log level for job executor logging.info/debuginfo
logging.level.com.ecquaria.lowcode.utilsSets the log level for utility logging.info/debuginfo

Other general properties

PropertyDescriptionPossible valuesDefault
all.resource.mapping.story.locationSets the endpoint cache storage location.memory/redismemory
base64string.max-file-sizeLimits the length of imported Base64 strings (in bytes).Positive integer (bytes)20971520
cloud.enableEnables cloud functionality.TRUE/FALSEFALSE
kaizen.all.lowcode.search.case-sensitiveEnables case sensitivity for query data search.TRUE/FALSE-
kaizen.all.logging.request-response.enabledEnables logged server side request/response body and header.TRUE/FALSEFALSE
kaizen.cloud.sign.up.enabledEnables cloud sign-up functionality.TRUE/FALSEFALSE
kaizen.json.date.validation.formatsSets the date format patterns for user data validation.Comma-separated date/time patternsyyyy-MM-dd'T'HH:mm:ss.SSS'Z',yyyy-MM-dd'T'HH:mm:ss
lowcode.rbac.user.account.id.caseSets whether the user account ID is case-sensitive.case-sensitive/case-insensitivecase-sensitive
lowcode.setup.needed.servicesSets the list of services needed for system setup.Comma-separated service namesiam,common,job,workflow,theme,dbeditor,iamproxy,oidc,report,ai,console
lowcode.system.setup.runEnables system setup execution.TRUE/FALSETRUE
rbac.enabledEnables RBAC identity and permission verification at the service level. This property should only be used for services behind the gateway and only for development purposes.TRUE/FALSETRUE
system.agp.public.permissionSets the public privilege code.Privilege codehogd6

IAM​

Authentication properties

PropertyDescriptionPossible valuesDefault
lowcode.security.authentication.attempts.enabledEnables the password lock feature. When FALSE, users will not be locked out due to failed login attempts.TRUE/FALSETRUE
lowcode.security.authentication.max-failed-login-attemptsSets the maximum number of failed login attempts before the account is locked.Positive integer10
password.change.required.enableEnables mandatory password change after certain reset operations (e.g. reset to a system-defined password).TRUE/FALSEFALSE
password.encrypt.typeSets the password encryption algorithm type. Accepts BCRYPT, SCRYPT, or HASH.BCRYPT/SCRYPT/HASHBCRYPT
password.expired.periodSets the password expiration period (in days).Positive integer (days)365
password.expired.period.feature.enableEnables the password expiration feature.TRUE/FALSETRUE
password.first.login.feature.enableEnables mandatory password change on first login for new accounts.TRUE/FALSEFALSE

Password strength properties

PropertyDescriptionPossible valuesDefault
lowcode.security.password.history.lengthSets the number of previous passwords to retain for history checks.Non-negative integer3
lowcode.security.password.min-strengthSets the minimum password strength requirement.strong/mediumstrong
lowcode.security.password.strength.medium.allow-user-idAllows user ID inclusion in medium-strength passwords.TRUE/FALSEFALSE
lowcode.security.password.strength.medium.min-lengthSets the minimum length for medium-strength passwords.Positive integer8
lowcode.security.password.strength.medium.required-digitRequires a digit in medium-strength passwords.TRUE/FALSETRUE
lowcode.security.password.strength.medium.required-lowercaseRequires a lowercase letter in medium-strength passwords.TRUE/FALSEFALSE
lowcode.security.password.strength.medium.required-symbolRequires a symbol in medium-strength passwords.TRUE/FALSETRUE
lowcode.security.password.strength.medium.required-uppercaseRequires an uppercase letter in medium-strength passwords.TRUE/FALSEFALSE
lowcode.security.password.strength.strong.allow-user-idAllows user ID inclusion in strong passwords.TRUE/FALSEFALSE
lowcode.security.password.strength.strong.min-lengthSets the minimum length for strong passwords.Positive integer12
lowcode.security.password.strength.strong.required-digitRequires a digit in strong passwords.TRUE/FALSETRUE
lowcode.security.password.strength.strong.required-lowercaseRequires a lowercase letter in strong passwords.TRUE/FALSEFALSE
lowcode.security.password.strength.strong.required-symbolRequires a symbol in strong passwords.TRUE/FALSETRUE
lowcode.security.password.strength.strong.required-uppercaseRequires an uppercase letter in strong passwords.TRUE/FALSETRUE

Password encryption properties

PropertyDescriptionPossible valuesDefault
lowcode.security.password.encrypt.bcrypt.factor.log_roundsSets the BCrypt encryption log rounds factor.Positive integer12
lowcode.security.password.encrypt.scrypt.factor.nSets the SCrypt encryption factor N.Positive integer16384
lowcode.security.password.encrypt.scrypt.factor.pSets the SCrypt encryption factor P.Positive integer1
lowcode.security.password.encrypt.scrypt.factor.rSets the SCrypt encryption factor R.Positive integer8
lowcode.security.password.generator.classSets the password generator class.Fully qualified Java class namecom.ecquaria.lowcode.iam.security.RandomPasswordGenerator
lowcode.security.password.generator.RandomPasswordGenerator.cipher.algorithmSets the cipher algorithm for random password generation.Cipher algorithm, e.g. AESAES
lowcode.security.password.generator.RandomPasswordGenerator.cipher.modeSets the cipher mode for random password generation.Cipher mode, e.g. ECBECB
lowcode.security.password.generator.RandomPasswordGenerator.cipher.paddingSets the cipher padding for random password generation.Cipher padding, e.g. NoPaddingNoPadding
lowcode.security.password.generator.RandomPasswordGenerator.key.algorithmSets the key algorithm for random password generation.Key algorithm, e.g. AESAES
lowcode.security.password.hash.SimpleHashManager.algorithmSets the simple hash manager algorithm.Hash algorithm, e.g. SHA-256SHA-256

User account properties

PropertyDescriptionPossible valuesDefault
lowcode.rbac.user.account.id.allow-symbolsSets the allowed symbols in user account IDs._ , $_
lowcode.rbac.user.account.id.caseSets whether user account IDs are case-sensitive.case-sensitive/case-insensitivecase-sensitive
user.email.regex.regexpSets the regex pattern for user email validation.(regex pattern)(regex pattern)
user.mobile.country.code.regex.regexpSets the regex pattern for mobile country code validation.(regex pattern)(regex pattern)
user.mobile.number.regex.regexpSets the regex pattern for mobile number validation.(regex pattern)(regex pattern)

User inactivity and cleanup properties

PropertyDescriptionPossible valuesDefault
kaizen.jobs.user-state.cleanup.enabledEnables the IAM job to identify inactive users who have not been reactivated within the configured retention period and permanently remove them from the database.TRUE/FALSEFALSE
kaizen.jobs.user-state.inactive.enabledEnables the IAM job to identify users who have not logged in beyond the configured threshold and mark them as inactive.TRUE/FALSEFALSE
kaizen.user.delete.notify.first.at-ratioSets the ratio used to determine when to send the first warning notification before permanent deletion. The trigger time is calculated by multiplying this ratio by the kaizen.user.inactivity.delete.after-days value.Decimal between 0 and 10.8
kaizen.user.delete.notify.second.before-daysSets the number of days before the deletion deadline to send the second warning notification.Positive integer (days)3
kaizen.user.delete.on-termination.email.enabledEnables email notification on user account termination.TRUE/FALSEFALSE
kaizen.user.inactivity.deactivate.after-daysSets the inactivity threshold (in days). Users who have not logged in beyond this duration are marked as inactive.Positive integer (days)90
kaizen.user.inactivity.delete.after-daysSets the retention period (in days) for inactive users. Inactive users who remain beyond this duration are permanently deleted.Positive integer (days)30
kaizen.user.inactivity.notify.first.at-ratioSets the ratio used to determine when to send the first warning notification before deactivation. The trigger time is calculated by multiplying this ratio by the kaizen.user.inactivity.deactivate.after-days value.Decimal between 0 and 10.8
kaizen.user.inactivity.notify.second.before-daysSets the number of days before the deactivation deadline to send the second warning notification.Positive integer (days)3

OIDC client properties

PropertyDescriptionPossible valuesDefault
oidc.client.idSets the OIDC client ID.(user-defined client ID)oidc-client
oidc.client.secretSets the OIDC client secret.(user-defined secret)oidc-secret
oidc.redirect.uriSets the OIDC redirect URI.URL stringhttps://ecq.lowcode.com/oidc-callback.html
oidc.response.typeSets the OIDC response type.codecode
oidc.scopeSets the OIDC scope.Space-separated OIDC scopes, e.g. openid profile emailprofile openid

Azure AD integration properties

PropertyDescriptionPossible valuesDefault
kaizen.iam.ad.user.domain.codeSets the domain code for synced AD users.Domain codekaizen_default
kaizen.iam.azure.ad.authoritySets the Microsoft authority URL.URL stringhttps://login.microsoftonline.com/
kaizen.iam.azure.ad.client-idSets the registered app's Azure AD client ID.(user-defined string)-
kaizen.iam.azure.ad.client-secretSets the registered app's Azure AD client secret.(user-defined string)-
kaizen.iam.azure.ad.enabledEnables the Azure AD sync job handler.TRUE/FALSETRUE
kaizen.iam.azure.ad.graph-endpointSets the Microsoft Graph API URL.URL stringhttps://graph.microsoft.com/v1.0
kaizen.iam.azure.ad.tenant-idSets the organisation's Azure AD tenant ID.(user-defined string)-

Windows AD integration properties

PropertyDescriptionPossible valuesDefault
kaizen.iam.windows.ad.base-dnSets the base distinguished name. Used as a fallback if user and group search bases are not set.LDAP distinguished name, e.g. DC=example,DC=comDC=ecq,DC=com
kaizen.iam.windows.ad.enabledEnables the Windows AD sync job handler.TRUE/FALSEFALSE
kaizen.iam.windows.ad.group.filterSets the group search filter for Windows AD.LDAP filter, e.g. (objectClass=group)(LDAP filter for active groups)
kaizen.iam.windows.ad.group.search-baseSets the group distinguished name for Windows AD.LDAP distinguished name, e.g. OU=Groups,DC=example,DC=comCN=Users,DC=ecq,DC=com
kaizen.iam.windows.ad.user.filterSets the user search filter for Windows AD.LDAP filter, e.g. (objectClass=user)(LDAP filter for active users)
kaizen.iam.windows.ad.user.search-baseSets the user distinguished name for Windows AD.LDAP distinguished name, e.g. OU=Users,DC=example,DC=comCN=Users,DC=ecq,DC=com
spring.ldap.baseSets the LDAP base DN.See Spring Boot documentation-
spring.ldap.passwordSets the LDAP password.See Spring Boot documentationpassword$1
spring.ldap.urlsSets the LDAP server URLs.See Spring Boot documentationldap://{hostname}:389
spring.ldap.usernameSets the LDAP username.See Spring Boot documentationCN=Administrator,CN=Users,DC=ecq,DC=com

Other IAM properties

PropertyDescriptionPossible valuesDefault
lowcode.nonworkingday.weekendSets the non-working weekend days.Sun,Mon,Tue,Wed,Thu,Fri,SatSun,Sat

OIDC​

PropertyDescriptionPossible valuesDefault
kaizen.oidc.oauth2.security.cookie.persistenceSets the OIDC cookie type. When FALSE, uses session cookies. When TRUE, uses persistent cookies.TRUE/FALSEFALSE
oauth2.security.context.expired.timeSets the cookie expiry time (in seconds) when kaizen.oidc.oauth2.security.cookie.persistence is TRUE.Positive integer (seconds)300

Pagescan​

PropertyDescriptionPossible valuesDefault
puppeteer.executable.pathSets the browser executable path for Puppeteer.(user-defined path)/usr/bin/chromium-browser
server.scan.max.processSets the maximum number of concurrent scans. Exceeding this limit causes the service to reject incoming scan requests.Positive integer4

SaaS (Cloud)​

PropertyDescriptionPossible valuesDefault
cloud.base.rolesSets the base roles for cloud users.Comma-separated role codescloud_common
cloud.pm.rolesSets the project manager role for cloud users. Cloud users need this permission to operate projects.Comma-separated role codesagp_projectManager
lowcode.activation.expired.timeSets the cloud user sign-up activation code expiry time (in seconds).Positive integer (seconds)18000
lowcode.invitation.accept.urlSets the URL for accepting organisation invitations.URL stringhttps://ecq.lowcode.com/#/signIn
lowcode.invitation.create.user.urlSets the URL for registration and organisation join invitations.URL stringhttps://ecq.lowcode.com/#/signUp
lowcode.invitation.expired.timeSets the cloud invitation expiry time (in seconds).Positive integer (seconds)18000

Setup​

PropertyDescriptionPossible valuesDefault
kaizen.backend.servicesMaps backend service identifiers to display names (JSON object). Can be extended with project-specific service names.JSON object, e.g. {"iam":"IAM","common":"Common"}(KAIZEN default service map)
lowcode.required.servicesSets the required services that must be selected during system setup.Comma-separated service namesiam,common

Workflow​

PropertyDescriptionPossible valuesDefault
workflow.async.executor.allow.core.thread.timeoutControls whether core threads can time out and be scaled down.TRUE/FALSEFALSE
workflow.async.executor.await.termination.secondsSets the time (in seconds) to wait for graceful shutdown of the thread pool.Positive integer (seconds)60
workflow.async.executor.core.pool.sizeSets the minimum number of threads kept alive for job execution.Positive integer8
workflow.async.executor.keep.alive.secondsSets the time (in seconds) a thread must stay alive before it is destroyed.Positive integer (seconds)5
workflow.async.executor.max.pool.sizeSets the maximum number of threads for job execution.Positive integer8
workflow.async.executor.queue.sizeSets the size of the queue for jobs to be executed.Positive integer2048
workflow.async.executor.thread.name.prefixSets the naming prefix for workflow thread pool threads.(user-defined string)WorkflowThreadPoolExecutor:
workflow.auth.feature.cacheControls whether the workflow engine uses cached access tokens from Redis for inter-service calls. When FALSE, it always generates a fresh token.TRUE/FALSETRUE
workflow.auth.retry.status-codesSets the HTTP status codes that trigger an HTTP task retry.Comma-separated HTTP status codes401,403,406
workflow.GET.request.max.pagesizeA configurable property for pagination GET endpoints under workflow to limit the maximum number of data in a single page.Positive integer100
workflow.custom.task.generate-store.doc.feature.size-limit-in-bytesSets the maximum size (in bytes) for storing generated embeddings in the vector database.Positive integer20000000
workflow.custom.task.http.deser.feature.include-sourceControls whether the response body is printed when HTTP call deserialisation fails. Disable this if there is a security concern.TRUE/FALSETRUE
workflow.privilege.code.bypass.task.completion.checkSets the privilege code to bypass task completion ownership check for cross-domain operations.Privilege codew0f26
workflow.privilege.code.bypass.user.assign.checkSets the privilege code to bypass user task assignment check for cross-domain operations.Privilege codew0f27

Last updated on 21 Sep 2026