v1.27.0

Branding

Configuration options for CiviForm branding.

WHITELABEL_SMALL_LOGO_URL

Small logo for the civic entity used on the login page.

  • Type: string

WHITELABEL_LOGO_WITH_NAME_URL

Logo with civic entity name used on the applicant-facing program index page.

  • Type: string

WHITELABEL_CIVIC_ENTITY_SHORT_NAME

The short display name of the civic entity, will use 'TestCity' if not set.

  • Type: string

WHITELABEL_CIVIC_ENTITY_FULL_NAME

The full display name of the civic entity, will use 'City of TestCity' if not set.

  • Type: string

FAVICON_URL

The URL of a 32x32 or 16x16 pixel favicon image, in GIF, PNG, or ICO format.

  • Type: string

External service dependencies

Configures connections to external services the CiviForm server relies on.

Applicant Identity Provider

Configuration options for the applicant identity provider.

CIVIFORM_APPLICANT_IDP

What identity provider to use for applicants.

  • Type: string

  • Allowed values:

    • idcs

    • login-radius

    • generic-oidc

    • login-gov

    • auth0

    • disabled

APPLICANT_REGISTER_URI

URI to create a new account in the applicant identity provider.

  • Type: string

APPLICANT_PORTAL_NAME

The name of the portal that applicants log into, used in sentences like 'Log into your APPLICANT_PORTAL_NAME account.'

  • Type: string

Oracle Identity Cloud Service

Configuration options for the idcs provider.

IDCS_CLIENT_ID

An opaque public identifier for apps that use OIDC (OpenID Connect) to request data from authorization servers, specifically communicating with IDCS. A Civiform instance is always the client.

  • Type: string

IDCS_SECRET

A secret known only to the client (Civiform) and authorization server, specifically for IDCS OIDC systems. This secret essentially acts as the client’s “password” for accessing data from the auth server.

  • Type: string

IDCS_DISCOVERY_URI

A URL that returns a JSON listing of OIDC (OpenID Connect) data associated with the IDCS auth provider.

  • Type: string

Login Radius

Configuration options for the login-radius provider

LOGIN_RADIUS_API_KEY

The API key used to interact with LoginRadius.

  • Type: string

LOGIN_RADIUS_METADATA_URI

The base URL to construct SAML endpoints, based on the SAML2 spec.

  • Type: string

LOGIN_RADIUS_SAML_APP_NAME

The name for the app, based on the SAML2 spec.

  • Type: string

LOGIN_RADIUS_KEYSTORE_NAME

Name of the SAML2 keystore, used to store digital certificates and private keys for SAML auth.

  • Type: string

LOGIN_RADIUS_KEYSTORE_PASS

The password used the protect the integrity of the SAML keystore file.

  • Type: string

LOGIN_RADIUS_PRIVATE_KEY_PASS

The password used to protect the private key of the SAML digital certificate.

  • Type: string

OpenID Connect

Configuration options for the generic-oidc provider.

APPLICANT_OIDC_PROVIDER_LOGOUT

Enables central logout.

  • Type: bool

APPLICANT_OIDC_OVERRIDE_LOGOUT_URL

By default the 'end_session_endpoint' from the auth provider discovery metadata file is used as the logout endpoint. However for some integrations that standard flow might not work and we need to override logout URL.

  • Type: string

APPLICANT_OIDC_POST_LOGOUT_REDIRECT_PARAM

URL param used to pass the post logout redirect url in the logout request to the auth provider. It defaults to 'post_logout_redirect_uri' if this variable is unset. If this variable is set to the empty string, the post logout redirect url is not passed at all and instead it needs to be hardcoded on the the auth provider (otherwise the user won't be redirected back to civiform after logout).

  • Type: string

APPLICANT_OIDC_PROVIDER_NAME

The name of the OIDC (OpenID Connect) auth provider (server), such as “Auth0” or “LoginRadius”.

  • Type: string

APPLICANT_OIDC_CLIENT_ID

An opaque public identifier for apps that use OIDC (OpenID Connect) to request data from authorization servers. A Civiform instance is always the client.

  • Type: string

APPLICANT_OIDC_CLIENT_SECRET

A secret known only to the client (Civiform) and authorization server. This secret essentially acts as the client’s “password” for accessing data from the auth server.

  • Type: string

APPLICANT_OIDC_DISCOVERY_URI

A URL that returns a JSON listing of OIDC (OpenID Connect) data associated with a given auth provider.

  • Type: string

APPLICANT_OIDC_RESPONSE_MODE

Informs the auth server of the desired auth processing flow, based on the OpenID Connect spec.

  • Type: string

APPLICANT_OIDC_RESPONSE_TYPE

Informs the auth server of the mechanism to be used for returning response params from the auth endpoint, based on the OpenID Connect spec.

  • Type: string

APPLICANT_OIDC_ADDITIONAL_SCOPES

Scopes the client (CiviForm) is requesting in addition to the standard scopes the OpenID Connect spec provides.

  • Type: string

APPLICANT_OIDC_LOCALE_ATTRIBUTE

The locale of the user, such as “en-US”.

  • Type: string

APPLICANT_OIDC_EMAIL_ATTRIBUTE

The OIDC attribute name for the user’s email address.

  • Type: string

APPLICANT_OIDC_FIRST_NAME_ATTRIBUTE

The OIDC attribute name for the user’s first name.

  • Type: string

APPLICANT_OIDC_MIDDLE_NAME_ATTRIBUTE

The OIDC attribute name for the user’s middle name.

  • Type: string

APPLICANT_OIDC_LAST_NAME_ATTRIBUTE

The OIDC attribute name for the user’s last name.

  • Type: string

Login.gov

Configuration options for the login-gov provider

LOGIN_GOV_CLIENT_ID

An opaque public identifier for apps that use OIDC (OpenID Connect) to request data from authorization servers, specifically communicating with Login.gov. A Civiform instance is always the client.

  • Type: string

LOGIN_GOV_DISCOVERY_URI

A URL that returns a JSON listing of OIDC (OpenID Connect) data associated with a given auth provider, specifically for Login.gov.

  • Type: string

LOGIN_GOV_ADDITIONAL_SCOPES

Scopes the client (CiviForm) is requesting in addition to the standard scopes the OpenID Connect spec provides. Scopes should be separated by a space.

  • Type: string

LOGIN_GOV_ACR_VALUE

Authentication Context Class Reference requests. ial/1 is for open registration, email only. ial/2 is for requiring identity verification.

  • Type: string

  • Allowed values:

    • http://idmanagement.gov/ns/assurance/ial/1

    • http://idmanagement.gov/ns/assurance/ial/2

Administrator Identity Provider

Configuration options for the administrator identity provider.

ADFS_CLIENT_ID

An opaque public identifier for apps that use OIDC (OpenID Connect) to request data from authorization servers, specifically communicating with ADFS. A Civiform instance is always the client.

  • Type: string

ADFS_SECRET

A secret known only to the client (Civiform) and authorization server. This secret essentially acts as the client’s “password” for accessing data from the auth server.

  • Type: string

ADFS_DISCOVERY_URI

A URL that returns a JSON listing of OIDC (OpenID Connect) data associated with the IDCS auth provider.

  • Type: string

ADFS_GLOBAL_ADMIN_GROUP

The name of the admin group in Active Directory, typically used to tell if a user is a global admin.

  • Type: string

ADFS_ADDITIONAL_SCOPES

Scopes the client (CiviForm) is requesting in addition to the standard scopes the OpenID Connect spec provides. Scopes should be separated by a space.

  • Type: string

AD_GROUPS_ATTRIBUTE_NAME

The attribute name for looking up the groups associated with a particular user.

  • Type: string

Database

Configures the connection to the PostgreSQL database.

DATABASE_APPLY_DESTRUCTIVE_CHANGES

If enabled, playframework down evolutions are automatically applied on server start if needed.

  • Type: bool

DATABASE_CONNECTION_POOL_SIZE

Sets how many connections to the database are maintained.

  • Type: int

DB_JDBC_STRING

The database URL.

  • Type: string

DB_USERNAME

The username used to connect to the database.

  • Type: string

DB_PASSWORD

The password used to connect to the database.

  • Type: string

AWS_REGION

Region where the AWS SES service exists. If STORAGE_SERVICE_NAME is set to 'aws', it is also the region where the AWS s3 service exists.

  • Type: string

AWS_SES_SENDER

The email address used for the 'from' email header for emails sent by CiviForm.

  • Type: string

Application File Upload Storage

Configuration options for the application file upload storage provider

STORAGE_SERVICE_NAME

What static file storage provider to use.

  • Type: string

  • Allowed values:

    • s3

    • azure-blob

AWS_S3_BUCKET_NAME

s3 bucket to store files in.

  • Type: string

AWS_S3_FILE_LIMIT_MB

The max size (in Mb) of files uploaded to s3.

  • Type: string

AZURE_STORAGE_ACCOUNT_NAME

The azure account name where the blob storage service exists.

  • Type: string

AZURE_STORAGE_ACCOUNT_CONTAINER

Azure blob storage container name to store files in.

  • Type: string

AZURE_LOCAL_CONNECTION_STRING

Allows local Azurite emulator to be used for developer deployments.

  • Type: string

ESRI Address Validation

Configuration options for the ESRI GIS client and address validation/correction feature.

ESRI_ADDRESS_CORRECTION_ENABLED

Enables the feature that allows address correction for address questions.

  • Type: bool

ESRI_FIND_ADDRESS_CANDIDATES_URL

The URL CiviForm will use to call Esri’s findAddressCandidates service.

  • Type: string

ESRI_ADDRESS_SERVICE_AREA_VALIDATION_ENABLED

Enables the feature that allows for service area validation of a corrected address. ESRI_ADDRESS_CORRECTION_ENABLED needs to be enabled.

  • Type: bool

ESRI_ADDRESS_SERVICE_AREA_VALIDATION_LABELS

Human readable labels used to present the service area validation options in CiviForm’s admin UI.

  • Type: index-list

ESRI_ADDRESS_SERVICE_AREA_VALIDATION_IDS

The value CiviForm uses to validate if an address is in a service area.

  • Type: index-list

ESRI_ADDRESS_SERVICE_AREA_VALIDATION_URLS

The URL CiviForm will use to call Esri’s map query service for service area validation.

  • Type: index-list

ESRI_ADDRESS_SERVICE_AREA_VALIDATION_ATTRIBUTES

The attribute CiviForm checks from the service area validation response to get the service area validation ID.

  • Type: index-list

ESRI_EXTERNAL_CALL_TRIES

The number of tries CiviForm will attempt requests to external Esri services.

  • Type: int

Email addresses

Configuration options for CiviForm email usage.

SUPPORT_EMAIL_ADDRESS

This email address is listed in the footer for applicants to contact support.

  • Type: string

IT_EMAIL_ADDRESS

This email address receives error notifications from CiviForm when things break.

  • Type: string

STAGING_ADMIN_LIST

If this is a staging deployment, the application notification email is sent to this email address instead of the program administrator's email address.

  • Type: string

STAGING_TI_LIST

If this is a staging deployment, the application notification email is sent to this email address instead of the trusted intermediary's email address.

  • Type: string

STAGING_APPLICANT_LIST

If this is a staging deployment, the application notification email is sent to this email address instead of the applicant's email address.

  • Type: string

Custom Text

Text specific to a civic entity.

The text for a link on the Common Intake confirmation page that links to more resources. Shown when the applicant is not eligible for any programs in CiviForm.

  • Type: string

The HREF for a link on the Common Intake confirmation page that links to more resources. Shown when the applicant is not eligible for any programs in CiviForm.

  • Type: string

SECRET_KEY

The secret key is used to sign Play's session cookie. This must be changed for production.

  • Type: string

BASE_URL

The URL of the CiviForm deployment. Must start with 'https://' or 'http://'.

  • Type: string

  • Validation regular expression: ^(http://|https://)

  • Regular expression examples:

    • http://my-civiform.org should match.

    • https://my-civiform.org should match.

    • my-civiform.org should not match.

STAGING_HOSTNAME

DNS name of the staging deployment. Must not start with 'https://' or 'http://'.

  • Type: string

  • Validation regular expression: ^(?!http://|https://)

  • Regular expression examples:

    • my-civiform.org should match.

    • http://my-civiform.org should not match.

    • https://my-civiform.org should not match.

CIVIFORM_SUPPORTED_LANGUAGES

The languages that applicants can choose from when specifying their language preference and that admins can choose from when adding translations for programs and applications.

  • Type: index-list

CIVIFORM_TIME_ZONE_ID

A Java time zone ID indicating the time zone for this CiviForm deployment. All times in the system will be calculated in this zone. Default value is 'America/Los_Angeles'

  • Type: string

CIVIFORM_IMAGE_TAG

The tag of the docker image this server is running inside. Is added as a HTML meta tag with name 'civiform-build-tag'. If SHOW_CIVIFORM_IMAGE_TAG_ON_LANDING_PAGE is set to true, is also shown on the login page if CIVIFORM_VERSION is the empty string or set to 'latest'.

  • Type: string

CIVIFORM_VERSION

The release version of CiviForm. For example: v1.18.0. If SHOW_CIVIFORM_IMAGE_TAG_ON_LANDING_PAGE is set to true, is also shown on the login page if it a value other than the empty string or 'latest'.

  • Type: string

CLIENT_IP_TYPE

Where to find the IP address for incoming requests. Default is "DIRECT" where the IP address of the request is the originating IP address. If "FORWARDED" then request has been reverse proxied and the originating IP address is stored in the X-Forwarded-For header.

  • Type: string

  • Allowed values:

    • DIRECT

    • FORWARDED

Observability

Configuration options for CiviForm observability features.

CIVIFORM_SERVER_METRICS_ENABLED

If enabled, allows server Prometheus metrics to be retrieved via the '/metrics' URL path. If disabled, '/metrics' returns a 404.

  • Type: bool

MEASUREMENT_ID

The Google Analytics tracking ID. If set, Google Analytics JavaScript scripts are added to the CiviForm pages.

  • Type: string

Data Export API

Configuration options for the CiviForm API.

CIVIFORM_API_SECRET_SALT

A cryptographic secret salt used for salting API keys before storing their hash values in the database. This value should be kept strictly secret. If one suspects the secret has been leaked or otherwise comprised it should be changed and all active API keys should be retired and reissued. Default value is 'changeme'.

  • Type: string

CIVIFORM_API_KEYS_BAN_GLOBAL_SUBNET

When true prevents the CiviForm admin from issuing API keys that allow callers from all IP addresses (i.e. a CIDR mask of /0).

  • Type: bool

CIVIFORM_API_APPLICATIONS_LIST_MAX_PAGE_SIZE

An integer specifying the maximum number of entries returned in a page of results for the applications export API.

  • Type: int

Durable Jobs

Configuration options for the CiviForm Job Runner.

DURABLE_JOBS_POLL_INTERVAL_SECONDS

An integer specifying the polling interval in seconds for the durable job system. A smaller number here increases the polling frequency, which results in jobs running sooner when they are scheduled to be run immediately, at the cost of more pressure on the database. Default value is 5.

  • Type: int

DURABLE_JOBS_JOB_TIMEOUT_MINUTES

An integer specifying the timeout in minutes for durable jobs i.e. how long a single job is allowed to run before the system attempts to interrupt it. Default value is 30.

  • Type: int

DURABLE_JOBS_THREAD_POOL_SIZE

The number of server threads available for the durable job runner. More than a single thread will the server execute multiple jobs in parallel. Default value is 1.

  • Type: int

Feature Flags

Configuration options to enable or disable optional or in-development features.

CF_OPTIONAL_QUESTIONS

If enabled, allows questions to be optional in programs. Is enabled by default.

  • Type: bool

ALLOW_CIVIFORM_ADMIN_ACCESS_PROGRAMS

If enabled, CiviForm Admins are able to see all applications for all programs. Is disabled by default.

  • Type: bool

SHOW_CIVIFORM_IMAGE_TAG_ON_LANDING_PAGE

If enabled, the value of CIVIFORM_IMAGE_TAG will be shown on the login screen. Is disabled by default.

  • Type: bool

FEATURE_FLAG_OVERRIDES_ENABLED

Allows feature flags to be overridden via request cookies. Is used by browswer tests. Should only be enabled in test and staging deployments.

  • Type: bool

INTAKE_FORM_ENABLED

Enables the Common Intake Form feature.

  • Type: bool

NONGATED_ELIGIBILITY_ENABLED

Enables the feature that allows setting eligibility criteria to non-gating.

  • Type: bool

STAGING_ADD_NOINDEX_META_TAG

If this is a staging deployment and this variable is set to true, a robots noindex metadata tag is added to the CiviForm pages. This causes the staging site to not be listed on search engines.

  • Type: bool

STAGING_DISABLE_DEMO_MODE_LOGINS

If this is a staging deployment and this variable is set to true, the 'DEMO MODE. LOGIN AS:' buttons are not shown on the login page.

  • Type: bool

PHONE_QUESTION_TYPE_ENABLED

Enables the phone number question type.

  • Type: bool

PUBLISH_SINGLE_PROGRAM_ENABLED

Enables the feature that allows publishing a single program on its own.

  • Type: bool

Last updated