Skip to content

Migration Guide to Support FedRAMP Mode from 3.9.0v Onwards

ciscoRankush edited this page Jun 20, 2023 · 1 revision

Starting from version 3.9.0v of the Webex SDK, clients are required to make changes in order to toggle FedRAMP mode or update their existing code to adapt to the changes introduced in the Webex SDK.

New Way: API-based Toggle

From version 3.9.0v onwards, app developers can directly use APIs to toggle the FedRAMP mode in the Webex SDK. Existing users' FedRAMP mode values set through RestrictionManager will be preserved during migration. This API-based toggle provides simplicity and flexibility, allowing developers to programmatically enable or disable FedRAMP mode at the time authorization only. For detailed information, refer to the below Webex API docs for version 3.9.0v onwards.

Updating Existing Code

To support profile-based restrictions for FedRAMP, the Webex SDK utilizes Android's RestrictionServices feature. This feature relies on an XML file that defines the restrictions to be applied. Previously, the SDK included an XML file named app_restrictions.xml to handle this. However, in order to enhance the robustness and flexibility of the SDK, app developers now have the freedom to define their own custom restrictions XML.

Starting from version 3.9.0v, the SDK no longer includes the app_restrictions.xml file in its resource directory. If app developers prefer not to adopt the new proposed method, they can include the app_restrictions.xml file in their application's resource folder (app/res/xml/app_restrictions.xml).

Here is an example of the app_restrictions.xml file:

<?xml version="1.0" encoding="utf-8"?>
<restrictions xmlns:android="http://schemas.android.com/apk/res/android">
    <restriction
        android:description="@string/appconfig_fedramp_description"
        android:key="fedRampEnabled"
        android:restrictionType="bool"
        android:title="@string/appconfig_fedramp_title"
        android:defaultValue="false"/>
</restrictions>

Furthermore, app developers need to add metadata to their application's manifest file to enable the use of these restrictions:

<manifest>
    <application>
        ...
        <meta-data
            android:name="android.content.APP_RESTRICTIONS"
            android:resource="@xml/app_restrictions" />
        ...
    </application>
</manifest>

By including this metadata in the manifest file, the application will utilize the defined restrictions specified in the app_restrictions.xml file.

Please note that starting from version 3.9.0v of the Webex SDK, developers have the option to either adopt the new API-based toggle method or continue using the previous approach by including the app_restrictions.xml file in their application.

Clone this wiki locally