diff --git a/core/src/main/kotlin/com/bitwarden/core/data/manager/model/FlagKey.kt b/core/src/main/kotlin/com/bitwarden/core/data/manager/model/FlagKey.kt index cb3d85c6141..726813c1fe7 100644 --- a/core/src/main/kotlin/com/bitwarden/core/data/manager/model/FlagKey.kt +++ b/core/src/main/kotlin/com/bitwarden/core/data/manager/model/FlagKey.kt @@ -45,6 +45,7 @@ sealed class FlagKey { DebugDisableSelfHostPremiumCheck, FillAssistTargetingRules, PoliciesInAcceptedState, + FedRamp, ) } } @@ -170,6 +171,14 @@ sealed class FlagKey { override val defaultValue: Boolean get() = false } + /** + * Data object holding the feature flag key for the FedRAMP feature. + */ + data object FedRamp : FlagKey() { + override val keyName: String get() = "fedramp-gov-region" + override val defaultValue: Boolean get() = false + } + /** * Debug-only flag that, when enabled, makes self-hosted environments behave as cloud * environments for premium-upgrade gating. Used by QA to test the premium upgrade flow diff --git a/core/src/test/kotlin/com/bitwarden/core/data/manager/model/FlagKeyTest.kt b/core/src/test/kotlin/com/bitwarden/core/data/manager/model/FlagKeyTest.kt index 238bd7a56ae..463c1144543 100644 --- a/core/src/test/kotlin/com/bitwarden/core/data/manager/model/FlagKeyTest.kt +++ b/core/src/test/kotlin/com/bitwarden/core/data/manager/model/FlagKeyTest.kt @@ -60,6 +60,10 @@ class FlagKeyTest { FlagKey.PoliciesInAcceptedState.keyName, "pm-34145-policies-in-accepted-state", ) + assertEquals( + FlagKey.FedRamp.keyName, + "fedramp-gov-region", + ) } @Test @@ -79,6 +83,7 @@ class FlagKeyTest { FlagKey.FillAssistTargetingRules, FlagKey.ManageDevices, FlagKey.PoliciesInAcceptedState, + FlagKey.FedRamp, ).all { !it.defaultValue }, diff --git a/ui/src/main/kotlin/com/bitwarden/ui/platform/components/debug/FeatureFlagListItems.kt b/ui/src/main/kotlin/com/bitwarden/ui/platform/components/debug/FeatureFlagListItems.kt index 354550c2afe..76968a5ccfd 100644 --- a/ui/src/main/kotlin/com/bitwarden/ui/platform/components/debug/FeatureFlagListItems.kt +++ b/ui/src/main/kotlin/com/bitwarden/ui/platform/components/debug/FeatureFlagListItems.kt @@ -39,6 +39,7 @@ fun FlagKey.ListItemContent( FlagKey.FillAssistTargetingRules, FlagKey.DebugDisableSelfHostPremiumCheck, FlagKey.PoliciesInAcceptedState, + FlagKey.FedRamp, -> { @Suppress("UNCHECKED_CAST") BooleanFlagItem( @@ -101,4 +102,6 @@ private fun FlagKey.getDisplayLabel(): String = when (this) { FlagKey.DebugDisableSelfHostPremiumCheck -> { stringResource(BitwardenString.debug_disable_self_host_premium_check) } + + FlagKey.FedRamp -> stringResource(BitwardenString.fed_ramp) } diff --git a/ui/src/main/res/values/strings_non_localized.xml b/ui/src/main/res/values/strings_non_localized.xml index ac68c35f9da..1143bf45b64 100644 --- a/ui/src/main/res/values/strings_non_localized.xml +++ b/ui/src/main/res/values/strings_non_localized.xml @@ -56,6 +56,7 @@ Fill Assist Targeting Rules Debug: Disable self-host premium check Policies in accepted state + FedRAMP