Class FeatureFlags
- Namespace
- SEBT.Portal.Core.AppSettings
- Assembly
- SEBT.Portal.Core.dll
Constants for feature flag names used across the portal. Names must contain only alphanumeric characters and underscores to satisfy both the FeatureFlagQueryService validator and AWS AppConfig naming requirements.
public static class FeatureFlags
- Inheritance
-
objectFeatureFlags
Fields
BypassOtp
When enabled, OTP validation may be bypassed for the DAST scanner account in non-production environments. See OtpBypassSettings. Never enable in production. Not included in the public feature-flag map.
public const string BypassOtp = "bypass_otp"
Field Value
- string
CheckerOutagePageEnabled
When enabled, the standalone enrollment checker app shows a sitewide outage page instead of normal routes. Manual counterpart to OutageSchedule windows targeting EnrollmentChecker: with no such windows configured, this flag is the authority (for unscheduled emergencies); when windows targeting the checker exist, the schedule wins and this flag is ignored. Toggle at runtime via AWS AppConfig; the checker polls the enrollment features endpoint, so no checker redeploy is required.
public const string CheckerOutagePageEnabled = "checker_outage_page_enabled"
Field Value
- string
DeferEbtCardDataLoading
When enabled (CO), the dashboard may request household data without CBMS FIS card details first, then load card fields in a follow-up request. Defaults to false.
public const string DeferEbtCardDataLoading = "defer_ebt_card_data_loading"
Field Value
- string
EnableApply
When enabled, applications are open: the portal and the enrollment checker may show apply links. Both also need an apply destination configured; off hides the apply UI regardless. Unset reads as disabled, so applications stay closed unless a state opens them.
public const string EnableApply = "enable_apply"
Field Value
- string
EnableCheckerIncomeEligibility
When enabled, the enrollment checker offers income screening on its not-enrolled result. Thresholds come from EnrollmentChecker:IncomeEligibility (see IncomeEligibilitySettings). Disabling withdraws the tool rather than screening against stale figures.
public const string EnableCheckerIncomeEligibility = "enable_checker_income_eligibility"
Field Value
- string
EnableCheckerMaintenanceBanner
When enabled, the standalone enrollment checker app shows a maintenance banner. Banner copy comes from the EnrollmentChecker:MaintenanceBanner:Message per-language map (see MaintenanceBannerSettings); the checker selects the active language's copy client-side. Toggle at runtime via AWS AppConfig; the checker polls the enrollment features endpoint, so no checker redeploy is required.
public const string EnableCheckerMaintenanceBanner = "enable_checker_maintenance_banner"
Field Value
- string
EnableEnrollment
When enabled, the season is still enrolling. Off switches the enrollment checker to past-tense copy ("was your student enrolled?") and drops every apply path. Wider than EnableApply, which covers only the application window inside a season — a state can pause applications while it keeps enrolling. Set true in the base appsettings so an unset flag cannot close a state's season.
public const string EnableEnrollment = "enable_enrollment"
Field Value
- string
EnableHouseholdAnalyticsIdentifiers
When enabled, household data responses include hashed application and case identifiers so analytics events can be joined to state data without exposing raw IDs. Defaults to false.
public const string EnableHouseholdAnalyticsIdentifiers = "enable_household_analytics_identifiers"
Field Value
- string
EnrollmentCheckRequiresAtLeastOneExactMatchedField
When enabled, the portal drops enrollment check candidates (Match/PossibleMatch) where neither the date of birth nor the full name (first + last) exactly matches what was submitted. Defaults to true for CO via appsettings.co.json.
public const string EnrollmentCheckRequiresAtLeastOneExactMatchedField = "enrollment_check_requires_at_least_one_exact_matched_field"
Field Value
- string
OutagePageEnabled
When enabled, the portal shows a sitewide outage page instead of normal routes. State partners can toggle via appsettings.{State}.json or AWS AppConfig.
public const string OutagePageEnabled = "outage_page_enabled"
Field Value
- string
TestErrorEndpointsEnabled
When enabled, the diagnostic test-error endpoints under /api/test-error are active. Disabled by default; enable in Development or staging via appsettings.Development.json or AWS AppConfig. Never enable in production. Not included in the public feature-flag map.
public const string TestErrorEndpointsEnabled = "test_error_endpoints_enabled"
Field Value
- string
UseConfigurableStateBackend
When enabled, household lookup, card replacement, address update, enrollment check,
and state-backend health go through ConfigurableStateBackend instead of the
MEF state plugins. Defaults to false (plugins remain the live path). Requires
StateBackend:ConfigPath to point at a valid YAML bundle; enabling the flag
without that path fails the request. Toggle at runtime via AWS AppConfig.
This is a backend dark-launch switch, not a UI flag.
public const string UseConfigurableStateBackend = "use_configurable_state_backend"
Field Value
- string
UseMockCbmsResponses
When enabled outside Production, the Colorado connector returns mock CBMS
responses and does not require CBMS credentials. Ignored when
ASPNETCORE_ENVIRONMENT is Production, matching the host
default. Takes effect on the next request. The connector reads
FeatureManagement:use_mock_cbms_responses.
public const string UseMockCbmsResponses = "use_mock_cbms_responses"
Field Value
- string
UseMockHouseholdData
When enabled outside Production, household reads and writes use
MockHouseholdRepository instead of the state connector. Ignored when
the host is Production. Takes effect on the next request.
public const string UseMockHouseholdData = "use_mock_household_data"
Field Value
- string