Skip to content

Conversation

@szwarckonrad
Copy link
Contributor

@szwarckonrad szwarckonrad commented Jul 22, 2025

Follow up #229921

This PR adds support for Trusted Devices management in Endpoint policy settings, introducing new UI and backend capabilities gated by license and product feature checks.

Final card

Screenshot 2025-08-01 at 13 01 16 Screenshot 2025-07-30 at 11 42 55

Key Features

  • Trusted Devices Privilege:
    Users can be assigned a "Trusted Devices" privilege, granting access to the Device Control panel within policy settings.

    📷 ScreenshotsScreenshot 2025-07-28 at 09 49 50
  • Product Feature Flag:
    Adds the endpointTrustedDevice product feature, available as part of the Endpoint Complete Serverless PLI.

  • Device Control Section:
    Policies now include a Device Control section, allowing users to enable/disable the feature and set the required protection level.

  • Feature Flag Coverage:
    All UI and backend flows are orchestrated by a dedicated feature flag to ensure consistent enablement and rollout.

Supported Scenarios

  • Exitsting Policy:
    When upgrading to this version, existing endpoint policies will display the Device Control section (disabled by default).

    📷 ScreenshotsScreenshot 2025-07-28 at 09 44 11
  • New Policy Creation:
    New policies have Device Control enabled and set to "Block all" by default.

    📷 ScreenshotsScreenshot 2025-07-28 at 09 44 21
  • Serverless Upsell:
    On Serverless, users without Endpoint Complete tier see an upsell component in place of Device Control.

    📷 ScreenshotsScreenshot 2025-07-25 at 21 54 33
  • ESS Upsell:
    On ESS, users without an Enterprise license see an upsell component instead of Device Control.

    📷 ScreenshotsScreenshot 2025-07-28 at 09 47 20
  • API Enforcement:
    All API endpoints for policy creation/modification are gated with PLI and license checks to prevent unauthorized use of Device Control.

  • Compliance Task:
    A background task checks all policies for compliance with enabled features. Device Control is automatically disabled on non-compliant policies.

@szwarckonrad szwarckonrad self-assigned this Jul 22, 2025
@szwarckonrad szwarckonrad added release_note:skip Skip the PR/issue when compiling release notes backport:skip This PR does not require backporting Team:Defend Workflows “EDR Workflows” sub-team of Security Solution v9.2.0 labels Jul 22, 2025
@szwarckonrad szwarckonrad changed the title [EDR Workflows][Device Control] Add trusted devices feature flag and role [EDR Workflows][Device Control] Policy configuration Jul 28, 2025
@szwarckonrad szwarckonrad requested review from a team as code owners July 30, 2025 12:52
@elasticmachine
Copy link
Contributor

Pinging @elastic/security-defend-workflows (Team:Defend Workflows)

@szwarckonrad
Copy link
Contributor Author

@gergoabraham @paul-tavares

This feature is too large to land in a single PR, so I’ll be splitting the work into reasonably scoped chunks. This is the initial PR, which introduces the policy settings UI for Device Control. More importantly, it also lays down the internal logic for handling permission validation, license downgrades, and related mechanisms.

All texts should be treated as placeholders for now - final copy is still in progress.

Crucially, all changes are gated behind a feature flag. Please double-check that nothing unintentionally affects existing policy behavior when the flag is off (which will be the case after merge).

Thanks! :)

@botelastic botelastic bot added the Team:Fleet Team label for Observability Data Collection Fleet team label Jul 30, 2025
@elasticmachine
Copy link
Contributor

Pinging @elastic/fleet (Team:Fleet)

Copy link
Contributor

@PhilippeOberti PhilippeOberti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left a comment, not a blocker just an fyi :)

Copy link
Contributor

@paul-tavares paul-tavares left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Copy link
Contributor

@jen-huang jen-huang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fleet auth changes LGTM

Copy link
Contributor

@gergoabraham gergoabraham left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks great! added some small stuff, but no blockers 🚀 nice work!

@elasticmachine
Copy link
Contributor

💚 Build Succeeded

Metrics [docs]

Module Count

Fewer modules leads to a faster build time

id before after diff
securitySolution 7813 7819 +6
securitySolutionServerless 143 144 +1
total +7

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
securitySolution 10.3MB 10.3MB +10.3KB
securitySolutionServerless 55.1KB 58.7KB +3.6KB
total +13.9KB

Page load bundle

Size of the bundles that are downloaded on every page load. Target size is below 100kb

id before after diff
fleet 171.0KB 171.2KB +278.0B
securitySolution 94.4KB 94.5KB +68.0B
securitySolutionEss 30.6KB 30.7KB +52.0B
securitySolutionServerless 44.2KB 44.5KB +275.0B
total +673.0B
Unknown metric groups

async chunk count

id before after diff
securitySolutionServerless 18 19 +1

History

cc @szwarckonrad

@szwarckonrad szwarckonrad merged commit afccad2 into elastic:main Aug 5, 2025
12 checks passed
delanni pushed a commit to delanni/kibana that referenced this pull request Aug 5, 2025
Follow up elastic#229921

This PR adds support for Trusted Devices management in Endpoint policy
settings, introducing new UI and backend capabilities gated by license
and product feature checks.

Final card 

<img width="1236" height="470" alt="Screenshot 2025-08-01 at 13 01 16"
src="https://github.com/user-attachments/assets/d1e14488-507f-4569-bf13-208c10b06196"
/>

<img width="1652" height="1288" alt="Screenshot 2025-07-30 at 11 42 55"
src="https://github.com/user-attachments/assets/e3d6289e-c796-4d23-9cc8-5e3bbc1d8000"
/>


#### Key Features

- **Trusted Devices Privilege:**  
Users can be assigned a "Trusted Devices" privilege, granting access to
the Device Control panel within policy settings.
<details><summary>:camera: Screenshots</summary><img width="1423"
height="1342" alt="Screenshot 2025-07-28 at 09 49 50"
src="https://github.com/user-attachments/assets/f115e31b-6e09-4f04-bf86-ccc77643a408"
/></details>
- **Product Feature Flag:**  
Adds the `endpointTrustedDevice` product feature, available as part of
the Endpoint Complete Serverless PLI.

- **Device Control Section:**  
Policies now include a Device Control section, allowing users to
enable/disable the feature and set the required protection level.

- **Feature Flag Coverage:**  
All UI and backend flows are orchestrated by a dedicated feature flag to
ensure consistent enablement and rollout.

#### Supported Scenarios

- **Exitsting Policy:**  
When upgrading to this version, existing endpoint policies will display
the Device Control section (disabled by default).
<details><summary>:camera: Screenshots</summary><img width="1331"
height="1194" alt="Screenshot 2025-07-28 at 09 44 11"
src="https://github.com/user-attachments/assets/164efc19-bc48-4657-8989-09764556c2f1"
/></details>
- **New Policy Creation:**  
New policies have Device Control enabled and set to "Block all" by
default.
<details><summary>:camera: Screenshots</summary><img width="1364"
height="1275" alt="Screenshot 2025-07-28 at 09 44 21"
src="https://github.com/user-attachments/assets/299b3f77-0ee4-4921-bd26-f6ad334c4583"
/></details>

- **Serverless Upsell:**  
On Serverless, users without Endpoint Complete tier see an upsell
component in place of Device Control.
<details><summary>:camera: Screenshots</summary><img width="2555"
height="1241" alt="Screenshot 2025-07-25 at 21 54 33"
src="https://github.com/user-attachments/assets/4137e6bf-8b91-44a2-92c1-927620935d4e"
/></details>

- **ESS Upsell:**  
On ESS, users without an Enterprise license see an upsell component
instead of Device Control.
<details><summary>:camera: Screenshots</summary><img width="1412"
height="1168" alt="Screenshot 2025-07-28 at 09 47 20"
src="https://github.com/user-attachments/assets/58fe310e-ae77-4dfc-b72d-ce2d6d3cf948"
/></details>

- **API Enforcement:**  
All API endpoints for policy creation/modification are gated with PLI
and license checks to prevent unauthorized use of Device Control.

- **Compliance Task:**  
A background task checks all policies for compliance with enabled
features. Device Control is automatically disabled on non-compliant
policies.
@wildemat wildemat mentioned this pull request Aug 7, 2025
10 tasks
szwarckonrad added a commit that referenced this pull request Aug 8, 2025
Prerequisite #228958
Followup #230174

### Device Control — Trusted Devices (UI only)


This is the next PR in the Device Control series and focuses on the UI
for **Trusted Devices**.

**What’s included**
- New **Trusted Devices** section under **Management** and a “Trusted
devices” tab in policy settings.
- Lists API now accepts the `trusted_device` list type (read-only for
now).
- Feature flag and RBAC/PLI visibility wired up.

**What’s missing**
- Artifact CRUD ops; the form is stubbed and will be completed in the
next PR.

**Heads-up**
All texts and icons are placeholders while we wait for final assets.
That shouldn’t block this PR - ​we’ll merge with the feature flag
disabled.

See the attached screenshots for how it behaves in various states.

<img width="1405" height="967" alt="Screenshot 2025-07-29 at 13 57 46"
src="https://github.com/user-attachments/assets/2c3a3951-5410-44cf-b533-2865a342eb13"
/>
<img width="1402" height="1124" alt="Screenshot 2025-07-29 at 13 57 59"
src="https://github.com/user-attachments/assets/796bc42e-7a40-4306-a6c2-73cb850329aa"
/>
<img width="1419" height="1142" alt="Screenshot 2025-07-29 at 13 58 06"
src="https://github.com/user-attachments/assets/8289d165-8a66-4b12-b554-8dc38b7022c8"
/>
<img width="1407" height="887" alt="Screenshot 2025-07-29 at 16 51 25"
src="https://github.com/user-attachments/assets/39e0543f-d0bc-4698-a169-e6dc54c8c934"
/>
<img width="1420" height="1181" alt="Screenshot 2025-07-30 at 09 20 46"
src="https://github.com/user-attachments/assets/f82b8551-6ada-4ac7-980a-f56daf4f22df"
/>
<img width="1396" height="1216" alt="Screenshot 2025-07-30 at 09 21 02"
src="https://github.com/user-attachments/assets/fb0a1cd2-2e8b-417a-800c-b02926dfe79f"
/>

<details><summary>ESS Feature Flag Disabled 📸 </summary>
<img width="1424" height="880" alt="Screenshot 2025-07-30 at 09 35 27"
src="https://github.com/user-attachments/assets/c7b517ed-367f-4783-ad28-5089e7e59341"
/>
<img width="1399" height="992" alt="Screenshot 2025-07-30 at 09 35 58"
src="https://github.com/user-attachments/assets/227944d1-121c-443c-bd54-6b731476cfe1"
/>
<img width="1412" height="853" alt="Screenshot 2025-07-30 at 09 36 14"
src="https://github.com/user-attachments/assets/de37e0af-a9e2-45c7-bb8e-736ecca8c473"
/>
<img width="1418" height="975" alt="Screenshot 2025-07-30 at 09 36 38"
src="https://github.com/user-attachments/assets/9bff9aeb-4cdf-4d33-80a7-4fb765c1e38a"
/>
<img width="1373" height="1069" alt="Screenshot 2025-07-30 at 09 37 01"
src="https://github.com/user-attachments/assets/010a45f9-67ef-439b-a413-8d5c69aa2622"
/>
<img width="1407" height="826" alt="Screenshot 2025-07-30 at 09 37 16"
src="https://github.com/user-attachments/assets/a889f4f9-b4cd-4803-b176-addbd081b161"
/>
<img width="1405" height="955" alt="Screenshot 2025-07-30 at 09 37 28"
src="https://github.com/user-attachments/assets/0f5fee8a-79ee-4b74-9975-013ee13ca0f8"
/>
</details>

<details><summary>ESS Platinum Feature Flag Enabled 📸 </summary>
<img width="1427" height="968" alt="Screenshot 2025-07-30 at 09 41 05"
src="https://github.com/user-attachments/assets/2bccb7a7-2931-413f-bfae-9d9e7a439236"
/>
<img width="1413" height="885" alt="Screenshot 2025-07-30 at 09 41 57"
src="https://github.com/user-attachments/assets/dd72c88f-ddc1-4b85-9732-fde5877d976f"
/>
<img width="1338" height="893" alt="Screenshot 2025-07-30 at 09 42 13"
src="https://github.com/user-attachments/assets/90e52017-d7b0-48e2-8e4d-1972a1addbe8"
/>
<img width="1402" height="1377" alt="Screenshot 2025-07-30 at 09 42 26"
src="https://github.com/user-attachments/assets/4623dfdd-40e3-471c-b993-c52bcba05ca9"
/>
<img width="1413" height="1375" alt="Screenshot 2025-07-30 at 09 42 38"
src="https://github.com/user-attachments/assets/6deba224-85d2-4356-adc7-59dc9b951d46"
/>
<img width="1411" height="1379" alt="Screenshot 2025-07-30 at 09 42 49"
src="https://github.com/user-attachments/assets/dabb63b4-840d-47f2-82bb-509656723ba4"
/>
<img width="1415" height="934" alt="Screenshot 2025-07-30 at 09 44 25"
src="https://github.com/user-attachments/assets/bc8d59bb-698a-463d-b5e9-d803ddf7310a"
/>
</details>

<details><summary>Serverless Complete Feature Flag Enabled 📸 </summary>
<img width="1408" height="940" alt="Screenshot 2025-07-30 at 09 48 37"
src="https://github.com/user-attachments/assets/df052087-16cd-4514-bad0-6d426d2d40fe"
/>
</details>

<details><summary>Serverless Complete Feature Flag Disabled 📸 </summary>
<img width="1419" height="1175" alt="Screenshot 2025-07-30 at 09 57 31"
src="https://github.com/user-attachments/assets/7da1e6f9-c34d-4785-b474-978a1b8054c6"
/>
</details>

<details><summary>Serverless Essentials Feature Flag Enabled 📸
</summary>
<img width="1423" height="1090" alt="Screenshot 2025-07-30 at 10 03 09"
src="https://github.com/user-attachments/assets/7ec19cee-5665-48b8-b17e-517f19b319fe"
/>
<img width="1418" height="1092" alt="Screenshot 2025-07-30 at 10 03 45"
src="https://github.com/user-attachments/assets/05a021fb-c258-48dc-84bb-d02b3a435911"
/>
<img width="1418" height="883" alt="Screenshot 2025-07-30 at 10 04 15"
src="https://github.com/user-attachments/assets/732ef702-7407-47d0-b8fa-4937b4c6c1cb"
/>
<img width="1412" height="1026" alt="Screenshot 2025-07-30 at 10 04 51"
src="https://github.com/user-attachments/assets/f263892d-4d0b-4993-a65f-730400b57c0a"
/>
<img width="1418" height="811" alt="Screenshot 2025-07-30 at 10 04 58"
src="https://github.com/user-attachments/assets/53336a3d-1b04-41a6-b94e-4ac5e9d6810c"
/>
<img width="1406" height="1378" alt="Screenshot 2025-07-30 at 10 05 19"
src="https://github.com/user-attachments/assets/52e822e6-4c74-46ee-9b45-1552659c2671"
/>
<img width="1425" height="1007" alt="Screenshot 2025-07-30 at 10 05 36"
src="https://github.com/user-attachments/assets/56a0db6f-f295-457f-82bf-1637f4ea85cb"
/>
</details>

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
NicholasPeretti pushed a commit to NicholasPeretti/kibana that referenced this pull request Aug 18, 2025
Follow up elastic#229921

This PR adds support for Trusted Devices management in Endpoint policy
settings, introducing new UI and backend capabilities gated by license
and product feature checks.

Final card 

<img width="1236" height="470" alt="Screenshot 2025-08-01 at 13 01 16"
src="https://github.com/user-attachments/assets/d1e14488-507f-4569-bf13-208c10b06196"
/>

<img width="1652" height="1288" alt="Screenshot 2025-07-30 at 11 42 55"
src="https://github.com/user-attachments/assets/e3d6289e-c796-4d23-9cc8-5e3bbc1d8000"
/>


#### Key Features

- **Trusted Devices Privilege:**  
Users can be assigned a "Trusted Devices" privilege, granting access to
the Device Control panel within policy settings.
<details><summary>:camera: Screenshots</summary><img width="1423"
height="1342" alt="Screenshot 2025-07-28 at 09 49 50"
src="https://github.com/user-attachments/assets/f115e31b-6e09-4f04-bf86-ccc77643a408"
/></details>
- **Product Feature Flag:**  
Adds the `endpointTrustedDevice` product feature, available as part of
the Endpoint Complete Serverless PLI.

- **Device Control Section:**  
Policies now include a Device Control section, allowing users to
enable/disable the feature and set the required protection level.

- **Feature Flag Coverage:**  
All UI and backend flows are orchestrated by a dedicated feature flag to
ensure consistent enablement and rollout.

#### Supported Scenarios

- **Exitsting Policy:**  
When upgrading to this version, existing endpoint policies will display
the Device Control section (disabled by default).
<details><summary>:camera: Screenshots</summary><img width="1331"
height="1194" alt="Screenshot 2025-07-28 at 09 44 11"
src="https://github.com/user-attachments/assets/164efc19-bc48-4657-8989-09764556c2f1"
/></details>
- **New Policy Creation:**  
New policies have Device Control enabled and set to "Block all" by
default.
<details><summary>:camera: Screenshots</summary><img width="1364"
height="1275" alt="Screenshot 2025-07-28 at 09 44 21"
src="https://github.com/user-attachments/assets/299b3f77-0ee4-4921-bd26-f6ad334c4583"
/></details>

- **Serverless Upsell:**  
On Serverless, users without Endpoint Complete tier see an upsell
component in place of Device Control.
<details><summary>:camera: Screenshots</summary><img width="2555"
height="1241" alt="Screenshot 2025-07-25 at 21 54 33"
src="https://github.com/user-attachments/assets/4137e6bf-8b91-44a2-92c1-927620935d4e"
/></details>

- **ESS Upsell:**  
On ESS, users without an Enterprise license see an upsell component
instead of Device Control.
<details><summary>:camera: Screenshots</summary><img width="1412"
height="1168" alt="Screenshot 2025-07-28 at 09 47 20"
src="https://github.com/user-attachments/assets/58fe310e-ae77-4dfc-b72d-ce2d6d3cf948"
/></details>

- **API Enforcement:**  
All API endpoints for policy creation/modification are gated with PLI
and license checks to prevent unauthorized use of Device Control.

- **Compliance Task:**  
A background task checks all policies for compliance with enabled
features. Device Control is automatically disabled on non-compliant
policies.
NicholasPeretti pushed a commit to NicholasPeretti/kibana that referenced this pull request Aug 18, 2025
…29921)

Prerequisite elastic#228958
Followup elastic#230174

### Device Control — Trusted Devices (UI only)


This is the next PR in the Device Control series and focuses on the UI
for **Trusted Devices**.

**What’s included**
- New **Trusted Devices** section under **Management** and a “Trusted
devices” tab in policy settings.
- Lists API now accepts the `trusted_device` list type (read-only for
now).
- Feature flag and RBAC/PLI visibility wired up.

**What’s missing**
- Artifact CRUD ops; the form is stubbed and will be completed in the
next PR.

**Heads-up**
All texts and icons are placeholders while we wait for final assets.
That shouldn’t block this PR - ​we’ll merge with the feature flag
disabled.

See the attached screenshots for how it behaves in various states.

<img width="1405" height="967" alt="Screenshot 2025-07-29 at 13 57 46"
src="https://github.com/user-attachments/assets/2c3a3951-5410-44cf-b533-2865a342eb13"
/>
<img width="1402" height="1124" alt="Screenshot 2025-07-29 at 13 57 59"
src="https://github.com/user-attachments/assets/796bc42e-7a40-4306-a6c2-73cb850329aa"
/>
<img width="1419" height="1142" alt="Screenshot 2025-07-29 at 13 58 06"
src="https://github.com/user-attachments/assets/8289d165-8a66-4b12-b554-8dc38b7022c8"
/>
<img width="1407" height="887" alt="Screenshot 2025-07-29 at 16 51 25"
src="https://github.com/user-attachments/assets/39e0543f-d0bc-4698-a169-e6dc54c8c934"
/>
<img width="1420" height="1181" alt="Screenshot 2025-07-30 at 09 20 46"
src="https://github.com/user-attachments/assets/f82b8551-6ada-4ac7-980a-f56daf4f22df"
/>
<img width="1396" height="1216" alt="Screenshot 2025-07-30 at 09 21 02"
src="https://github.com/user-attachments/assets/fb0a1cd2-2e8b-417a-800c-b02926dfe79f"
/>

<details><summary>ESS Feature Flag Disabled 📸 </summary>
<img width="1424" height="880" alt="Screenshot 2025-07-30 at 09 35 27"
src="https://github.com/user-attachments/assets/c7b517ed-367f-4783-ad28-5089e7e59341"
/>
<img width="1399" height="992" alt="Screenshot 2025-07-30 at 09 35 58"
src="https://github.com/user-attachments/assets/227944d1-121c-443c-bd54-6b731476cfe1"
/>
<img width="1412" height="853" alt="Screenshot 2025-07-30 at 09 36 14"
src="https://github.com/user-attachments/assets/de37e0af-a9e2-45c7-bb8e-736ecca8c473"
/>
<img width="1418" height="975" alt="Screenshot 2025-07-30 at 09 36 38"
src="https://github.com/user-attachments/assets/9bff9aeb-4cdf-4d33-80a7-4fb765c1e38a"
/>
<img width="1373" height="1069" alt="Screenshot 2025-07-30 at 09 37 01"
src="https://github.com/user-attachments/assets/010a45f9-67ef-439b-a413-8d5c69aa2622"
/>
<img width="1407" height="826" alt="Screenshot 2025-07-30 at 09 37 16"
src="https://github.com/user-attachments/assets/a889f4f9-b4cd-4803-b176-addbd081b161"
/>
<img width="1405" height="955" alt="Screenshot 2025-07-30 at 09 37 28"
src="https://github.com/user-attachments/assets/0f5fee8a-79ee-4b74-9975-013ee13ca0f8"
/>
</details>

<details><summary>ESS Platinum Feature Flag Enabled 📸 </summary>
<img width="1427" height="968" alt="Screenshot 2025-07-30 at 09 41 05"
src="https://github.com/user-attachments/assets/2bccb7a7-2931-413f-bfae-9d9e7a439236"
/>
<img width="1413" height="885" alt="Screenshot 2025-07-30 at 09 41 57"
src="https://github.com/user-attachments/assets/dd72c88f-ddc1-4b85-9732-fde5877d976f"
/>
<img width="1338" height="893" alt="Screenshot 2025-07-30 at 09 42 13"
src="https://github.com/user-attachments/assets/90e52017-d7b0-48e2-8e4d-1972a1addbe8"
/>
<img width="1402" height="1377" alt="Screenshot 2025-07-30 at 09 42 26"
src="https://github.com/user-attachments/assets/4623dfdd-40e3-471c-b993-c52bcba05ca9"
/>
<img width="1413" height="1375" alt="Screenshot 2025-07-30 at 09 42 38"
src="https://github.com/user-attachments/assets/6deba224-85d2-4356-adc7-59dc9b951d46"
/>
<img width="1411" height="1379" alt="Screenshot 2025-07-30 at 09 42 49"
src="https://github.com/user-attachments/assets/dabb63b4-840d-47f2-82bb-509656723ba4"
/>
<img width="1415" height="934" alt="Screenshot 2025-07-30 at 09 44 25"
src="https://github.com/user-attachments/assets/bc8d59bb-698a-463d-b5e9-d803ddf7310a"
/>
</details>

<details><summary>Serverless Complete Feature Flag Enabled 📸 </summary>
<img width="1408" height="940" alt="Screenshot 2025-07-30 at 09 48 37"
src="https://github.com/user-attachments/assets/df052087-16cd-4514-bad0-6d426d2d40fe"
/>
</details>

<details><summary>Serverless Complete Feature Flag Disabled 📸 </summary>
<img width="1419" height="1175" alt="Screenshot 2025-07-30 at 09 57 31"
src="https://github.com/user-attachments/assets/7da1e6f9-c34d-4785-b474-978a1b8054c6"
/>
</details>

<details><summary>Serverless Essentials Feature Flag Enabled 📸
</summary>
<img width="1423" height="1090" alt="Screenshot 2025-07-30 at 10 03 09"
src="https://github.com/user-attachments/assets/7ec19cee-5665-48b8-b17e-517f19b319fe"
/>
<img width="1418" height="1092" alt="Screenshot 2025-07-30 at 10 03 45"
src="https://github.com/user-attachments/assets/05a021fb-c258-48dc-84bb-d02b3a435911"
/>
<img width="1418" height="883" alt="Screenshot 2025-07-30 at 10 04 15"
src="https://github.com/user-attachments/assets/732ef702-7407-47d0-b8fa-4937b4c6c1cb"
/>
<img width="1412" height="1026" alt="Screenshot 2025-07-30 at 10 04 51"
src="https://github.com/user-attachments/assets/f263892d-4d0b-4993-a65f-730400b57c0a"
/>
<img width="1418" height="811" alt="Screenshot 2025-07-30 at 10 04 58"
src="https://github.com/user-attachments/assets/53336a3d-1b04-41a6-b94e-4ac5e9d6810c"
/>
<img width="1406" height="1378" alt="Screenshot 2025-07-30 at 10 05 19"
src="https://github.com/user-attachments/assets/52e822e6-4c74-46ee-9b45-1552659c2671"
/>
<img width="1425" height="1007" alt="Screenshot 2025-07-30 at 10 05 36"
src="https://github.com/user-attachments/assets/56a0db6f-f295-457f-82bf-1637f4ea85cb"
/>
</details>

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
qn895 pushed a commit to qn895/kibana that referenced this pull request Aug 26, 2025
…29921)

Prerequisite elastic#228958
Followup elastic#230174

### Device Control — Trusted Devices (UI only)


This is the next PR in the Device Control series and focuses on the UI
for **Trusted Devices**.

**What’s included**
- New **Trusted Devices** section under **Management** and a “Trusted
devices” tab in policy settings.
- Lists API now accepts the `trusted_device` list type (read-only for
now).
- Feature flag and RBAC/PLI visibility wired up.

**What’s missing**
- Artifact CRUD ops; the form is stubbed and will be completed in the
next PR.

**Heads-up**
All texts and icons are placeholders while we wait for final assets.
That shouldn’t block this PR - ​we’ll merge with the feature flag
disabled.

See the attached screenshots for how it behaves in various states.

<img width="1405" height="967" alt="Screenshot 2025-07-29 at 13 57 46"
src="https://github.com/user-attachments/assets/2c3a3951-5410-44cf-b533-2865a342eb13"
/>
<img width="1402" height="1124" alt="Screenshot 2025-07-29 at 13 57 59"
src="https://github.com/user-attachments/assets/796bc42e-7a40-4306-a6c2-73cb850329aa"
/>
<img width="1419" height="1142" alt="Screenshot 2025-07-29 at 13 58 06"
src="https://github.com/user-attachments/assets/8289d165-8a66-4b12-b554-8dc38b7022c8"
/>
<img width="1407" height="887" alt="Screenshot 2025-07-29 at 16 51 25"
src="https://github.com/user-attachments/assets/39e0543f-d0bc-4698-a169-e6dc54c8c934"
/>
<img width="1420" height="1181" alt="Screenshot 2025-07-30 at 09 20 46"
src="https://github.com/user-attachments/assets/f82b8551-6ada-4ac7-980a-f56daf4f22df"
/>
<img width="1396" height="1216" alt="Screenshot 2025-07-30 at 09 21 02"
src="https://github.com/user-attachments/assets/fb0a1cd2-2e8b-417a-800c-b02926dfe79f"
/>

<details><summary>ESS Feature Flag Disabled 📸 </summary>
<img width="1424" height="880" alt="Screenshot 2025-07-30 at 09 35 27"
src="https://github.com/user-attachments/assets/c7b517ed-367f-4783-ad28-5089e7e59341"
/>
<img width="1399" height="992" alt="Screenshot 2025-07-30 at 09 35 58"
src="https://github.com/user-attachments/assets/227944d1-121c-443c-bd54-6b731476cfe1"
/>
<img width="1412" height="853" alt="Screenshot 2025-07-30 at 09 36 14"
src="https://github.com/user-attachments/assets/de37e0af-a9e2-45c7-bb8e-736ecca8c473"
/>
<img width="1418" height="975" alt="Screenshot 2025-07-30 at 09 36 38"
src="https://github.com/user-attachments/assets/9bff9aeb-4cdf-4d33-80a7-4fb765c1e38a"
/>
<img width="1373" height="1069" alt="Screenshot 2025-07-30 at 09 37 01"
src="https://github.com/user-attachments/assets/010a45f9-67ef-439b-a413-8d5c69aa2622"
/>
<img width="1407" height="826" alt="Screenshot 2025-07-30 at 09 37 16"
src="https://github.com/user-attachments/assets/a889f4f9-b4cd-4803-b176-addbd081b161"
/>
<img width="1405" height="955" alt="Screenshot 2025-07-30 at 09 37 28"
src="https://github.com/user-attachments/assets/0f5fee8a-79ee-4b74-9975-013ee13ca0f8"
/>
</details>

<details><summary>ESS Platinum Feature Flag Enabled 📸 </summary>
<img width="1427" height="968" alt="Screenshot 2025-07-30 at 09 41 05"
src="https://github.com/user-attachments/assets/2bccb7a7-2931-413f-bfae-9d9e7a439236"
/>
<img width="1413" height="885" alt="Screenshot 2025-07-30 at 09 41 57"
src="https://github.com/user-attachments/assets/dd72c88f-ddc1-4b85-9732-fde5877d976f"
/>
<img width="1338" height="893" alt="Screenshot 2025-07-30 at 09 42 13"
src="https://github.com/user-attachments/assets/90e52017-d7b0-48e2-8e4d-1972a1addbe8"
/>
<img width="1402" height="1377" alt="Screenshot 2025-07-30 at 09 42 26"
src="https://github.com/user-attachments/assets/4623dfdd-40e3-471c-b993-c52bcba05ca9"
/>
<img width="1413" height="1375" alt="Screenshot 2025-07-30 at 09 42 38"
src="https://github.com/user-attachments/assets/6deba224-85d2-4356-adc7-59dc9b951d46"
/>
<img width="1411" height="1379" alt="Screenshot 2025-07-30 at 09 42 49"
src="https://github.com/user-attachments/assets/dabb63b4-840d-47f2-82bb-509656723ba4"
/>
<img width="1415" height="934" alt="Screenshot 2025-07-30 at 09 44 25"
src="https://github.com/user-attachments/assets/bc8d59bb-698a-463d-b5e9-d803ddf7310a"
/>
</details>

<details><summary>Serverless Complete Feature Flag Enabled 📸 </summary>
<img width="1408" height="940" alt="Screenshot 2025-07-30 at 09 48 37"
src="https://github.com/user-attachments/assets/df052087-16cd-4514-bad0-6d426d2d40fe"
/>
</details>

<details><summary>Serverless Complete Feature Flag Disabled 📸 </summary>
<img width="1419" height="1175" alt="Screenshot 2025-07-30 at 09 57 31"
src="https://github.com/user-attachments/assets/7da1e6f9-c34d-4785-b474-978a1b8054c6"
/>
</details>

<details><summary>Serverless Essentials Feature Flag Enabled 📸
</summary>
<img width="1423" height="1090" alt="Screenshot 2025-07-30 at 10 03 09"
src="https://github.com/user-attachments/assets/7ec19cee-5665-48b8-b17e-517f19b319fe"
/>
<img width="1418" height="1092" alt="Screenshot 2025-07-30 at 10 03 45"
src="https://github.com/user-attachments/assets/05a021fb-c258-48dc-84bb-d02b3a435911"
/>
<img width="1418" height="883" alt="Screenshot 2025-07-30 at 10 04 15"
src="https://github.com/user-attachments/assets/732ef702-7407-47d0-b8fa-4937b4c6c1cb"
/>
<img width="1412" height="1026" alt="Screenshot 2025-07-30 at 10 04 51"
src="https://github.com/user-attachments/assets/f263892d-4d0b-4993-a65f-730400b57c0a"
/>
<img width="1418" height="811" alt="Screenshot 2025-07-30 at 10 04 58"
src="https://github.com/user-attachments/assets/53336a3d-1b04-41a6-b94e-4ac5e9d6810c"
/>
<img width="1406" height="1378" alt="Screenshot 2025-07-30 at 10 05 19"
src="https://github.com/user-attachments/assets/52e822e6-4c74-46ee-9b45-1552659c2671"
/>
<img width="1425" height="1007" alt="Screenshot 2025-07-30 at 10 05 36"
src="https://github.com/user-attachments/assets/56a0db6f-f295-457f-82bf-1637f4ea85cb"
/>
</details>

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:skip This PR does not require backporting release_note:skip Skip the PR/issue when compiling release notes Team:Defend Workflows “EDR Workflows” sub-team of Security Solution Team:Fleet Team label for Observability Data Collection Fleet team v9.2.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants