diff --git a/.github/workflows/cloudflare-pages.yaml b/.github/workflows/cloudflare-pages.yaml index 2bee63fa3..076c00d38 100644 --- a/.github/workflows/cloudflare-pages.yaml +++ b/.github/workflows/cloudflare-pages.yaml @@ -24,7 +24,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v6 with: - node-version: '20' + node-version: '22' cache: 'yarn' - name: Install dependencies diff --git a/.gitignore b/.gitignore index 5e1256985..1c058c44d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,30 +1,57 @@ -# ANTORA -build -logs -site-urls.csv - -# DEPENDENCIES -# npm -package-lock.json -node_modules -# ruby -gems -Gemfile -Gemfile.lock -# yarn -.yarn/* -.pnp.* -.yarnrc.yml - -# IDE -.DS_Store -.idea -.vscode -.vs - -# TEMP FILES -*~ - -# CLOUDFLARE -.dev.vars -.wrangler +# ANTORA +build +logs +site-urls.csv + +# DEPENDENCIES +# npm +package-lock.json +node_modules +# ruby +gems +Gemfile +Gemfile.lock +# yarn +.yarn/* +.pnp.* +.yarnrc.yml + +# IDE +.DS_Store +.idea +.vscode +.vs + +# TEMP FILES +*~ + +# CLOUDFLARE +.dev.vars +.wrangler +======= +# ANTORA +build +logs +site-urls.csv + +# DEPENDENCIES +# npm +package-lock.json +node_modules +# ruby +gems +Gemfile +Gemfile.lock +# yarn +.yarn/* +.pnp.* +.yarnrc.yml + +# IDE +.DS_Store +.idea +.vscode +.vs + +# TEMP FILES +*~ diff --git a/docs/modules/devices/images/cleanup-policies-list.png b/docs/modules/devices/images/cleanup-policies-list.png new file mode 100644 index 000000000..c5e8917bf Binary files /dev/null and b/docs/modules/devices/images/cleanup-policies-list.png differ diff --git a/docs/modules/devices/images/cleanup-policy-remove-apps.png b/docs/modules/devices/images/cleanup-policy-remove-apps.png new file mode 100644 index 000000000..0b90685bd Binary files /dev/null and b/docs/modules/devices/images/cleanup-policy-remove-apps.png differ diff --git a/docs/modules/devices/images/cleanup-policy-selected.png b/docs/modules/devices/images/cleanup-policy-selected.png new file mode 100644 index 000000000..7b5fc519e Binary files /dev/null and b/docs/modules/devices/images/cleanup-policy-selected.png differ diff --git a/docs/modules/devices/images/cleanup-policy-view-teams.png b/docs/modules/devices/images/cleanup-policy-view-teams.png new file mode 100644 index 000000000..e8600ef75 Binary files /dev/null and b/docs/modules/devices/images/cleanup-policy-view-teams.png differ diff --git a/docs/modules/devices/images/new-cleanup-policy-created.png b/docs/modules/devices/images/new-cleanup-policy-created.png new file mode 100644 index 000000000..62b4cc7fe Binary files /dev/null and b/docs/modules/devices/images/new-cleanup-policy-created.png differ diff --git a/docs/modules/devices/nav.adoc b/docs/modules/devices/nav.adoc index 4ece447e1..321729529 100644 --- a/docs/modules/devices/nav.adoc +++ b/docs/modules/devices/nav.adoc @@ -7,6 +7,11 @@ ** xref:local-devices/set-up-device-for-apple-pay.adoc[] +** Cleanup policy + +*** xref:local-devices/cleanup-policy/manage-device-cleanup-policies.adoc[] +*** xref:local-devices/cleanup-policy/cleanup-configurations.adoc[] + ** xref:devices:local-devices/network-payload-capture/index.adoc[] *** xref:devices:local-devices/network-payload-capture/configure-the-host-machine.adoc[] *** xref:devices:local-devices/network-payload-capture/configure-an-ios-device.adoc[] @@ -15,6 +20,5 @@ *** xref:devices:local-devices/network-payload-capture/supported-mime-types.adoc[] * xref:devices:install-an-app.adoc[] -* xref:devices:create-a-device-cleanup-policy.adoc[Create a cleanup policy] * xref:devices:device-metadata.adoc[] * xref:devices:device-ip-addresses.adoc[] diff --git a/docs/modules/devices/pages/local-devices/cleanup-policy/cleanup-configurations.adoc b/docs/modules/devices/pages/local-devices/cleanup-policy/cleanup-configurations.adoc new file mode 100644 index 000000000..fa9c48bbf --- /dev/null +++ b/docs/modules/devices/pages/local-devices/cleanup-policy/cleanup-configurations.adoc @@ -0,0 +1,233 @@ += Cleanup configurations +:navtitle: Cleanup configurations + +Cleanup policies include configurable options that you select when creating or editing a +policy, and always-active configurations that run automatically on all user-created +policies and the _Thorough_ predefined policy. + +Configurations are listed in execution order within each section. + +== Android + +=== Configurable options + +Select or deselect these options in the cleanup policy dialog when creating or editing a +policy. + +[cols="2,3,2a", options="header"] +|=== +| Option | What it does | Notes + +| All apps installed within a session will be removed +| Removes all non-system applications. System apps, Kobiton agent apps, and exempted apps +are not removed +| To exempt specific apps, enter their package names in the exemption field. Wildcard +(`*`) is supported. Separate multiple entries with commas or spaces + +Example: `com.sample.app`, `com.myCompany.*` + +// [placeholder: screenshot of app exemption field] + +| App's data will be cleared +| Clears application data and cache for non-system apps. +| Only runs when _All apps installed within a session will be removed_ is turned off + +| Browser apps will have history and browsing data removed +| Clears browsing history and data for supported browsers +| Supported browsers: Chrome, Chrome Beta + +| Signed in accounts will be removed +| Removes all accounts from the device. Removes accounts with one-click approval access +first, then removes remaining accounts individually from Accounts settings +| + +| Device settings will be reset +a| Resets multiple device settings: + +* Turns on Wi-Fi +* Turns off pocket mode (supported models only) +* Enables "Stay Awake" while plugged in +* Resets timezone to the device's physical location +* Resets geolocation to the device's physical location +| + +| All apps in the Recent Apps list will return to their starting state +| Resets internal app state while keeping apps visible in the Recent Apps list. +| Screenshots in the Recent Apps list may not update until the app is reopened. Actual +reset behavior depends on each app + +| Turn on the navigation bar +| Sets the navigation bar to use buttons +| +* Samsung: Settings > Display > Navigation Bar > Navigation buttons +* Google Pixel: Settings > System > Gestures > System Navigation > 3-button navigation +* Not supported on some brands (for example, Oppo and Xiaomi) + +| Set Chrome as the default browser +| Sets Chrome as the device's default browser +| + +| Clear the keyboard cache +| Switches to the default system keyboard, clears supported keyboard caches (for example, +Gboard), and clears keyboard clipboard data +| + +// INFO PENDING: Confirm description with product team +| Use Kobiton Chrome version +| Keeps a version of Chrome on the device that is compatible with the Kobiton platform +| Recommended + +|=== + +=== Always-active configurations + +These configurations run automatically on all user-created cleanup policies and the +_Thorough_ predefined policy. They do not appear in the cleanup policy dialog and cannot +be disabled. + +[cols="2,3,2a", options="header"] +|=== +| Configuration | What it does | Conditions + +| Set Chrome as debug application +| Sets Chrome as the debug application in Developer options +| + +| Remove device passcode +| Removes the device passcode +| Runs when the organization uses passcode mode 1 or 2 + +| Unlock the screen +| Unlocks the device screen +| Runs when the organization uses passcode mode 1 or 2 + +| Clear HTTP proxy +| Clears HTTP proxy settings applied during an NPC session +| Runs when an NPC session ends + +| Reset screen brightness +| Resets screen brightness to the lowest level to reduce the risk of screen damage +| Not supported on some Chinese device models + +| Clear image injection +| Clears any injected image +| + +| Set device orientation to portrait +| Sets the device orientation to portrait mode +| + +| Change system language to English +| Changes the system display language to English +| + +| Enable access to hidden APIs +| Enables access to hidden APIs for testing or development +| Behavior may vary by device model and OS version + +| Turn off auto-update in Google Play Store +| Disables automatic app updates in Google Play Store +| + +| Set up Chrome browser +| Dismisses Chrome welcome screens, disables password saving, and disables translation +prompts +| + +| Disable the toolbar on Samsung Keyboard +| Hides keyboard shortcut icons on the Samsung Keyboard +| Supported Samsung devices only + +|=== + +== iOS/iPadOS + +=== Configurable options + +Select or deselect these options in the cleanup policy dialog when creating or editing a +policy. + +[cols="2,3,2a", options="header"] +|=== +| Option | What it does | Notes +| All apps installed and associated data within a session will be removed +| Removes all non-system applications and their data. Kobiton agent apps, apps with bundle +IDs starting with `com.apple`, and exempted apps are not removed +| To exempt specific apps, enter their bundle IDs in the exemption field. Wildcard (`*`) +is supported. Separate multiple entries with commas or spaces + +Example: `com.sample.app`, `com.myCompany.*` + +| App's data will be cleared +| Clears application data and cache for non-system apps +| Only runs when _All apps installed and associated data within a session will be removed_ +is turned off + +| Browser apps will have history and browsing data removed +| Clears Safari browsing history, website data, and closes all tabs +| Safari only + +| Signed in accounts will be removed +| Removes signed-in mail accounts for Google, Outlook, Microsoft Exchange, Yahoo, AOL, and +similar providers +| Does not remove Apple ID or iCloud accounts. Some iOS versions may not remove Yahoo +accounts + +| Device settings will be reset +a| +Resets multiple device settings: + +* Turns on Wi-Fi +* Turns on Bluetooth +* Turns off Airplane Mode +* Turns on Web Inspector for Safari (does not enable Remote Automation) +* Turns on UI Automation +* Turns off Low Power Mode and sets Auto-Lock to Never +* Turns on Location Services +* Turns off AssistiveTouch +* Turns off Ringer and Alert sound (sets volume to 0) +* Resets timezone to the device's physical location +* Resets geolocation to the device's physical location +* Resets display zoom to Standard (supported models only) + +| Timezone may not reset correctly if the device's current timezone differs from the one +set during initial device setup + +| All apps in the Recent Apps list will return to their starting state +| Resets internal app state while keeping apps in the Recent Apps list +| Screenshots in Recent Apps may not update until the app is reopened. Reset behavior +varies by app + +|=== + +=== Always-active configurations + +These configurations run automatically on all user-created cleanup policies and the +_Thorough_ predefined policy. They do not appear in the cleanup policy dialog and cannot +be disabled. + +[cols="2,3,2a", options="header"] +|=== +| Configuration | What it does | Conditions + +| Remove passcode +| Removes the device passcode using the unlock token +| Runs when the organization uses passcode mode 1 or 2 + +| Clear HTTP proxy +| Clears HTTP proxy settings applied during an NPC session +| Runs when an NPC session ends + +| Set orientation to portrait +| Sets the device orientation to portrait mode +| + +| Set screen brightness to lowest +| Sets screen brightness to the lowest level to avoid screen damage +| + +| Reset device language to English +| Resets the device display language to English +| + +|=== \ No newline at end of file diff --git a/docs/modules/devices/pages/local-devices/cleanup-policy/manage-device-cleanup-policies.adoc b/docs/modules/devices/pages/local-devices/cleanup-policy/manage-device-cleanup-policies.adoc new file mode 100644 index 000000000..88be8b76d --- /dev/null +++ b/docs/modules/devices/pages/local-devices/cleanup-policy/manage-device-cleanup-policies.adoc @@ -0,0 +1,96 @@ += Manage device cleanup policies +:navtitle: Manage device cleanup policies + +A cleanup policy defines the steps performed on a device at the end of a session to remove test data and restore device settings. Policies can be assigned at the organization level or the team level. If both are set, the team-level policy takes precedence. + +For details on each configuration option, see +xref:local-devices/cleanup-policy/cleanup-configurations.adoc[Cleanup configurations]. + +== Open the Cleanup Policies page + +Select your profile name and select *Settings*. + +Select *Cleanup Policy*. + +image::cleanup-policies-list.png[Cleanup Policies window in the Account > Settings, width=1000] + +== Predefined cleanup policies + +The Cleanup Policies page includes two system-created policies that cannot be edited or +removed: + +* *Thorough* — Runs all cleanup configurations, including all configurable options and always-active configurations. Performs the most comprehensive cleanup. + +* *No Cleanup* — Skips all cleanup. This is not the same as a user-created policy with no options selected, which still runs the xref:local-devices/cleanup-policy/cleanup-configurations.adoc[always-active + configurations]. + +NOTE: When you create or edit a cleanup policy, a confirmation popup warns that custom +policies may conflict when devices are assigned to multiple teams. This applies when a +device belongs to more than one team with different cleanup policies. + +== Create a cleanup policy + +. On the Cleanup Policies page, select *Create*. +. Enter a name and an optional description. +. Select the *Android* tab and check the configurations to apply. Then select the *iOS* +tab and do the same. ++ +For details on each option, see xref:local-devices/cleanup-policy/cleanup-configurations.adoc[Cleanup configurations]. +. Select *Save*. +. In the confirmation popup, select *Create*. + +The new policy appears in the list but is not active until assigned as the default for the xref:#_assign_as_organization_default[organization] or a xref:#_assign_to_a_team[team]. + +== Edit a cleanup policy + +. On the Cleanup Policies page, select the policy name to open the configuration dialog. +. Select the *Android* or *iOS* tab and check or uncheck configurations. +. Select *Save*. +. In the confirmation popup, select *Save*. + +[NOTE] +==== +The following cannot be edited: + +* Predefined policies (_Thorough_ and _No Cleanup_). +* The policy currently assigned as the organization default. +==== + +== Remove a cleanup policy + +. On the Cleanup Policies page, select a policy to highlight it. +. Select *Remove*, then confirm in the popup. + +If the removed policy was assigned as the default for one or more teams, those teams revert to the organization default policy. + +[NOTE] +==== +The following cannot be removed: + +* Predefined policies (_Thorough_ and _No Cleanup_). +* The policy currently assigned as the organization default. +==== + +== Assign as organization default + +. On the Cleanup Policies page, select a policy to highlight it. +. Select *Mark as default*, then confirm in the popup. + +The organization default policy runs: + +* At the end of all sessions launched under the organization. +* After a device restarts or reconnects to the Portal. +* After a device is released from retain or virtualUSB. + +If a team has its own assigned policy, the team policy overrides the organization default for that team's sessions. + +== Assign to a team + +You can assign a cleanup policy to a specific team from the team's settings page. When a team has its own policy, it overrides the organization default for sessions launched under that team. + +For instructions, see +xref:organization:teams/create-a-device-cleanup-policy.adoc[Create a device cleanup +policy for a team]. + +To view which teams are assigned to a specific policy, select the policy on the Cleanup +Policies page, then select *View teams*. \ No newline at end of file diff --git a/docs/modules/organization/images/configure-cleanup-policy-closeup.png b/docs/modules/organization/images/configure-cleanup-policy-closeup.png index 8647d4b46..d0d6a58e4 100644 Binary files a/docs/modules/organization/images/configure-cleanup-policy-closeup.png and b/docs/modules/organization/images/configure-cleanup-policy-closeup.png differ diff --git a/docs/modules/organization/nav.adoc b/docs/modules/organization/nav.adoc index b09f45e40..284befb99 100644 --- a/docs/modules/organization/nav.adoc +++ b/docs/modules/organization/nav.adoc @@ -9,7 +9,7 @@ ** xref:organization:teams/team-roles-and-permissions.adoc[] ** xref:organization:teams/change-a-users-team-role.adoc[] ** xref:organization:teams/manage-team-devices.adoc[] -** xref:organization:teams/create-a-device-cleanup-policy.adoc[] +** xref:organization:teams/set-team-cleanup-policy.adoc[] * Roles ** xref:organization:roles/search-for-a-role.adoc[] diff --git a/docs/modules/organization/pages/teams/create-a-device-cleanup-policy.adoc b/docs/modules/organization/pages/teams/create-a-device-cleanup-policy.adoc deleted file mode 100644 index edc32868d..000000000 --- a/docs/modules/organization/pages/teams/create-a-device-cleanup-policy.adoc +++ /dev/null @@ -1,33 +0,0 @@ -= Create a device cleanup policy -:navtitle: Create a device cleanup policy - -Learn how to create a cleanup policy for your team's private devices, so your devices will be cleaned up after a session and ready to be used in the next one. - -== Create a cleanup policy - -In *Org Management*, select *Teams*, then search for your team. - -image:organization:select-a-team-context.png[width=1000,alt="Select a Team"] - -In your team, select *Settings*, then select *New*. - -image:organization:select-new-settings-context.png[width=1000,alt="Click New to add a cleanup policy"] - -Choose an OS, then enter a name and description. - -[NOTE] -Apple IDs cannot be added to iOS cleanup policies. - -image:organization:configure-cleanup-policy-closeup.png[width=500,alt="A closeup to cleanup policy configuration modal"] - -Check the policies you want to add. - -image:organization:check-policies-closeup.png[width=500,alt="Check the policies you want to add"] - -When you're finished, select *Save*. - -image:organization:cleanup-confirm-popup-closeup.png[width=500,alt="Confirm create new cleanup policies"] - -Now your devices will be cleaned up after a session, so they're ready to use in the next session. - -image:organization:click-save-cleanup-context.png[width=1000,alt="Click Save after creating a new cleanup policy"] diff --git a/docs/modules/organization/pages/teams/manage-teams.adoc b/docs/modules/organization/pages/teams/manage-teams.adoc index 1dd310256..a28924286 100644 --- a/docs/modules/organization/pages/teams/manage-teams.adoc +++ b/docs/modules/organization/pages/teams/manage-teams.adoc @@ -60,7 +60,7 @@ When you're finished, select *Save*. //// [#_cleanup_policy] -=== Set a cleanup policy +=== Set a default cleanup policy In *Settings*, select the dropdown. You can choose a default cleanup policy or xref:organization:teams/create-a-device-cleanup-policy.adoc[create a new one]. Team devices are cleaned up after every session, so they're ready to use for the next one. diff --git a/docs/modules/organization/pages/teams/set-team-cleanup-policy.adoc b/docs/modules/organization/pages/teams/set-team-cleanup-policy.adoc new file mode 100644 index 000000000..444ae1445 --- /dev/null +++ b/docs/modules/organization/pages/teams/set-team-cleanup-policy.adoc @@ -0,0 +1,33 @@ += Set a cleanup policy for a team +:navtitle: Set a team cleanup policy + +Assign a cleanup policy to a team so the team's Private & Local Devices are cleaned up at the end of each session. A team-level policy overrides the xref:devices:local-devices/cleanup-policy/manage-device-cleanup-policies.adoc#_assign_as_organization_default[organization default]. + +NOTE: If a device is assigned to multiple teams with different cleanup policies, the policies may conflict. A confirmation popup warns you of this when saving. + +== Open team settings + +. In the left navigation bar, select the *Org Management* icon, then select *Teams*. +. Search for your team, then select the team name. +. Select *Settings*. + +== Assign an existing policy + +. From the cleanup policy dropdown, select a policy. +. Select *Save*. + +== Create and assign a new policy + +. Next to the cleanup policy dropdown, select *New*. +. Enter a name and an optional description. +. Select the *Android* tab and check the configurations to apply. Then select the *iOS* +tab and do the same. ++ +For details on each option, see +xref:devices:local-devices/cleanup-policy/cleanup-configurations.adoc[Cleanup configurations]. +. Select *Save*. +. In the *Create Cleanup policy* popup, select *Create*. +. On the team settings page, select *Save* to apply the assignment. + +To manage all cleanup policies including editing, removing, or assigning as the +organization default, see xref:devices:local-devices/cleanup-policy/manage-device-cleanup-policies.adoc[Manage device cleanup policies]. \ No newline at end of file