{
    "schemaVersion":  "1.0",
    "contract":  "openacai-client-update-policy",
    "generatedAtUtc":  "2026-07-07T18:54:10.9150789+00:00",
    "status":  "ready-safe-fallbacks",
    "policyRevision":  "2026.07.06",
    "canonicalUrl":  "https://openacai.ong/.well-known/openacai-client-update-policy.json",
    "apiUrl":  "https://openacai.ong/api/v1/mobile/client-update-policy",
    "compatibilityUrl":  "https://openacai.ong/.well-known/openacai-client-compatibility.json",
    "packageUrl":  "https://openacai.ong/.well-known/openacai-mobile-package.json",
    "appConfigUrl":  "https://openacai.ong/.well-known/openacai-app-config.json",
    "channels":  [
                     {
                         "id":  "web-pwa",
                         "status":  "active",
                         "latest":  "2026.07",
                         "minimum":  "2026.07",
                         "updateUrl":  "https://openacai.com/",
                         "fallbackUrl":  "https://openacai.com/"
                     },
                     {
                         "id":  "android",
                         "status":  "planning",
                         "latest":  "not-released",
                         "minimum":  "0.1.0",
                         "updateUrl":  "",
                         "fallbackUrl":  "https://openacai.com/"
                     },
                     {
                         "id":  "ios",
                         "status":  "planning",
                         "latest":  "not-released",
                         "minimum":  "0.1.0",
                         "updateUrl":  "",
                         "fallbackUrl":  "https://openacai.com/"
                     }
                 ],
    "updateRules":  {
                        "forceUpdateAllowed":  false,
                        "nativeStorePromptAllowed":  false,
                        "pwaRefreshPromptAllowed":  true,
                        "securityHotfixCanDisableNativeOnlyFeatures":  true,
                        "webFallbackRequired":  true,
                        "maxConfigAgeHours":  24,
                        "stalePolicyWarningHours":  24,
                        "hardFailToPublicWebAfterHours":  72
                    },
    "rollbackRules":  {
                          "useLastKnownGoodConfig":  true,
                          "useLastKnownGoodPackage":  true,
                          "disableNativeOnlyFeaturesOnPolicyFailure":  true,
                          "neverBlockPublicResources":  true,
                          "showStatusWarningOnStalePolicy":  true,
                          "keepContactFlowWebOnlyWhenPolicyMissing":  true
                      },
    "killSwitches":  {
                         "directNativeIntake":  false,
                         "nativeFileUpload":  false,
                         "nativePushNotifications":  false,
                         "authenticatedCaseStatus":  false,
                         "partnerPortalInNative":  false,
                         "staffPortalInNative":  false,
                         "nativePayments":  false
                     },
    "clientRules":  {
                        "fetchAfterClientCompatibility":  true,
                        "fetchBeforeAppStorePrompt":  true,
                        "verifyPackageHashesBeforeApplying":  true,
                        "validateAppConfigSchemaBeforeApplying":  true,
                        "neverForceUpdateWithoutFreshPolicy":  true,
                        "neverCachePrivateUpdateResponses":  true,
                        "keepPublicWebFallbackVisible":  true,
                        "keepEmergencyAndCrisisLinksVisible":  true,
                        "doNotSendDeviceIdsToAnalytics":  true,
                        "doNotSendInstalledVersionToAnalytics":  true
                    },
    "userExperience":  {
                           "language":  "plain",
                           "noBlockingModalForPublicResources":  true,
                           "showUpdatePromptOnlyAfterUsefulContentLoads":  true,
                           "explainFallbackWhenNativeFeatureDisabled":  true,
                           "defaultFallback":  "Open the current public website and public resource guide."
                       },
    "privacy":  {
                    "publicOnly":  true,
                    "containsSecrets":  false,
                    "containsPrivateCaseData":  false,
                    "containsHelpSeekerMessages":  false,
                    "safeForDeviceCache":  true
                }
}