Commit Graph
19150 Commits
Author SHA1 Message Date
Allen Houchins f686590dc7 Added logo to Zoom custom package (#34493)
- Added Zoom logo to the Zoom custom package
2025-10-28 10:53:55 -05:00
Noah Talerman 444c7b5238 macOS Setup Assistant (#34863)
- Link to Apple docs:
https://developer.apple.com/documentation/devicemanagement/profile
2025-10-28 15:38:06 +00:00
github-actions[bot]andlucasmrod d8f34da3ac Update versions of fleetd components in Fleet's TUF [automated] (#34787)
Automated change from [GitHub
action](https://github.com/fleetdm/fleet/actions/workflows/fleetd-tuf.yml).

Co-authored-by: lucasmrod <lucasmrod@users.noreply.github.com>
2025-10-28 09:32:19 -05:00
Allen Houchins 05807b768c Update 1Password macOS version number to 8.11.16 (#34850) 2025-10-28 08:52:31 -05:00
Martin Angers cab7cc15be Initial support for in-house apps on iOS/iPadOS (#34802) 2025-10-28 08:33:58 -04:00
437cb9ca96 Add script to remove custom santa extension (#34828)
TODO:
- Make the script itself executable. Right now you have to run `sudo
./unload_osquery_extension.sh /var/fleet/extensions/santa.ext`

Context: https://github.com/fleetdm/fleet/issues/34789

---------

Co-authored-by: Allen Houchins <allenhouchins@mac.com>
Co-authored-by: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
2025-10-27 22:03:56 -05:00
Noah Talerman 00004f296d Handbook: Product groups + DRIs (#34825) 2025-10-27 19:54:25 -05:00
Victor Lyuboslavsky 7481dc4319 Updated changelog for fleetd 1.49.1 (#34836) 2025-10-27 19:19:48 -05:00
jacobshandling 3aad722924 (releases on merge to main) Fix vuln false positives for "Logi Bolt.app" (#33920)
**_QA on-branch before merge_**
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #31082 

Before:
<img width="1258" height="989" alt="Screenshot 2025-10-06 at 9 31 46 PM"
src="https://github.com/user-attachments/assets/b027b3b6-6201-468d-9141-76b80daa35c8"
/>

After
<img width="1258" height="989" alt="Screenshot 2025-10-06 at 9 26 03 PM"
src="https://github.com/user-attachments/assets/147bdd41-5ebc-4d23-bd85-c1cb963a429d"
/>


- [x] Changes file added for user-visible changes in `changes/`
- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually
2025-10-27 16:55:30 -07:00
Ian Littman 7502880869 Allow query editing in GitOps Mode for policies, add ▶ icon to live query "Run" button (#34838)
Fixes #34086.

<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.

## Testing

- [x] QA'd all new/changed functionality manually
2025-10-27 18:52:17 -05:00
Noah TalermanandRachael Shaw 4c104da5b9 [YAML reference] Clarify Apple's built-in variables (#34030)
- @noahtalerman: These variables are only supported in specific
payloads. Apple source:
https://support.apple.com/en-my/guide/deployment/dep04666af94/1/web/1.0
- @noahtalerman: We confirmed this. See @allenhouchins's findings in
this feature request: https://github.com/fleetdm/fleet/issues/28636

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2025-10-27 17:29:42 -05:00
Brock Walters 1874880d15 Fix minor grammatical issues in documentation (#34675)
Accurate.
2025-10-27 17:25:23 -05:00
Brock Walters 334572bf0c Enhance MDM command payload encoding instructions (#34722)
Added instructions for base64 encoding MDM command payloads in Terminal
and PowerShell.
2025-10-27 17:13:48 -05:00
Noah Talerman 53a6179500 [Fleet server configuration] Clarify that only one can be set (#34743)
- Clarified that only one of `server_private_key_arn` or
`server_private_key` can be set.

Context:
https://github.com/fleetdm/fleet/issues/31321#issuecomment-3412996433
2025-10-27 17:12:58 -05:00
Noah Talerman b6348c505b hash_sha256 is the cdhash_sha256 (#34822)
The `hash_sha256` from the [`/hosts/:id/software` Fleet
API](https://fleetdm.com/docs/rest-api/rest-api#get-hosts-software) is
an attribute that Santa can use to block applications:
https://northpole.dev/features/binary-authorization/#cdhash

https://fleetdm.com/tables/codesign:

<img width="894" height="449" alt="Screenshot 2025-10-27 at 1 49 29 PM"
src="https://github.com/user-attachments/assets/287750b5-ef38-4eba-aa8c-085520150be0"
/>
2025-10-27 17:05:48 -05:00
Jorge Falcon 084fd97578 Fix software icon links in REST API documentation (#34734) 2025-10-27 17:05:20 -05:00
jacobshandling cb2d42de78 (releases on merge to main) Fix vuln false positives for vscode golang extension (#33839)
**_QA on-branch before merge_**

<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
## Resolves #33235 

<img width="2556" height="1419" alt="Screenshot 2025-10-03 at 5 55
40 PM"
src="https://github.com/user-attachments/assets/49078de7-699a-4a64-86ab-f435065f91ed"
/>



- [x] Changes file added for user-visible changes in `changes/`
2025-10-27 14:48:29 -07:00
Carlo 9b87af915e Upgrade Fleet's Node.js version (#34603)
Fixes #31466. Upgrades Node.js to 24.10.0
2025-10-27 17:21:50 -04:00
Ian Littman 71114ecf91 Add Arch diff for running TUF without SSL (#34834)
Resolves #34411.
2025-10-27 16:10:12 -05:00
Eric f76a9976d8 Website: Update signup flow and Fleet Premium trial (#34820)
Changes:
- Updated the "Try it now" button on the website's header navigation, it
will now open a signup/login modal on every page (excluding the
dedicated /register and /login pages)
- Updated the website to assign Fleet Premium instances hosted on Render
to eligible users. All other users will be given a 30-day Fleet Premium
trial license key to use with their deployment method of choice.
- Added a script that creates and manages a pool of Render instances.
- Added a new database model: `RenderProofOfValue`
- Added four new email templates
- Updated primary button colors to match the core product.
- Removed the organization requirement for new users signing up.
- Added a new component: `<signup-modal>`
- Added a new attribute to the User model: `fleetPremiumTrialType`
2025-10-27 13:33:47 -05:00
Jonathan Katz 88e196e3bc 33896 validate fma hash (#34583)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #33896 

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

- [ ] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.


## Testing

- [x] QA'd all new/changed functionality manually

## Test plan
- [ ] Run FMA validation GHA that should pass, it should still pass 
- [ ] Run FMA validation GHA with the bad manifest for intune company
portal, it should fail
2025-10-27 14:07:52 -04:00
fleet-releaseandmostlikelee aa7453be80 Update Fleet-maintained apps (#34807)
Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com>
2025-10-27 11:37:25 -04:00
408b7cb105 Update CS README.md (#34657)
adding proposed section for CSE Morning Procedures

<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

- [ ] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.

- [ ] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [ ] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes

## Testing

- [ ] Added/updated automated tests
- [ ] Where appropriate, [automated tests simulate multiple hosts and
test for host
isolation](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/reference/patterns-backend.md#unit-testing)
(updates to one hosts's records do not affect another)

- [ ] QA'd all new/changed functionality manually

For unreleased bug fixes in a release candidate, one of:

- [ ] Confirmed that the fix is not expected to adversely impact load
test results
- [ ] Alerted the release DRI if additional load testing is needed

## Database migrations

- [ ] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [ ] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [ ] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).

## New Fleet configuration settings

- [ ] Setting(s) is/are explicitly excluded from GitOps

If you didn't check the box above, follow this checklist for
GitOps-enabled settings:

- [ ] Verified that the setting is exported via `fleetctl
generate-gitops`
- [ ] Verified the setting is documented in a separate PR to [the GitOps
documentation](https://github.com/fleetdm/fleet/blob/main/docs/Configuration/yaml-files.md#L485)
- [ ] Verified that the setting is cleared on the server if it is not
supplied in a YAML file (or that it is documented as being optional)
- [ ] Verified that any relevant UI is disabled when GitOps mode is
enabled

## fleetd/orbit/Fleet Desktop

- [ ] Verified compatibility with the latest released version of Fleet
(see [Must
rule](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/workflows/fleetd-development-and-release-strategy.md))
- [ ] If the change applies to only one platform, confirmed that
`runtime.GOOS` is used as needed to isolate changes
- [ ] Verified that fleetd runs on macOS, Linux and Windows
- [ ] Verified auto-update works from the released version of component
to the new version (see [tools/tuf/test](../tools/tuf/test/README.md))

---------

Co-authored-by: Dale Ribeiro <dale@fleetdm.com>
Co-authored-by: Zay Hanlon <114112018+zayhanlon@users.noreply.github.com>
Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2025-10-27 09:20:28 -05:00
Victor Lyuboslavsky 9cf402339b fleetd release: log details of workflow runs (#34792)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #34772 

This change adds `Printf` statements. No functional changes.
2025-10-27 09:18:15 -05:00
Allen Houchins 6708e2d998 Fix typo in log-destinations.md (#34803) 2025-10-27 09:02:07 -05:00
Magnus Jensen f2341497c8 DCSW: Allow uploading and validating Windows SCEP profiles (#34691)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #34247 

Allows for uploading and validating SCEP profiles for Windows.

# Checklist for submitter

If some of the following don't apply, delete the relevant line.
## Testing

- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually
2025-10-27 10:48:37 -03:00
RachelElysia dbbb165494 Fleet UI: Keep new lines in code blocks but still remove trailing new lines (#34777) 2025-10-27 09:35:18 -04:00
RachelElysia 0b94576966 Fleet UI: Fix conditional link logic (#34765) 2025-10-27 09:34:58 -04:00
Graham WilliamsandDale Ribeiro 19f3cdb168 Create windows-device-wirelessdisplay-requirepin.xml (#34507)
- Uses randomly generated UUID for the CmdID as required by [CmdID
Specs](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-mdm/d7321df8-ecb2-4c81-8a24-54630bc7456f)
- Created **Device** profile to enable the setting as required based on
[Microsoft
Docs](https://learn.microsoft.com/en-us/windows/client-management/mdm/policy-csp-wirelessdisplay#requirepinforpairing)
- Profiles return as **Verified** in FleetUI
- Event Viewer shows no errors
- Registry confirms PIN requirement

<img width="1468" height="296" alt="image"
src="https://github.com/user-attachments/assets/5da9d4d2-a74b-4f0b-a2ec-12008b911766"
/>

---------

Co-authored-by: Dale Ribeiro <dale@fleetdm.com>
2025-10-27 08:51:12 +00:00
Graham WilliamsandDale Ribeiro 60f7bf0711 Create windows-device-power-standbynetwork.xml (#34506)
- Uses randomly generated UUID for the CmdID as required by [CmdID
Specs](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-mdm/d7321df8-ecb2-4c81-8a24-54630bc7456f)
- Created **Device** profile to disable the setting as required based on
[Microsoft
Docs](https://learn.microsoft.com/en-us/windows/client-management/mdm/policy-csp-system#bootstartdriverinitialization)
- Profiles return as **Verified** in FleetUI (Requires device restart)
- Event Viewer shows expected merge

<img width="1302" height="296" alt="image"
src="https://github.com/user-attachments/assets/892eb6c5-3bcf-4902-901d-f0b2700d23c4"
/>

---------

Co-authored-by: Dale Ribeiro <dale@fleetdm.com>
2025-10-25 19:02:21 -04:00
Mason Buettner 74f26d9ff0 Add disable-toast-notifications-from-lock.xml (#34497)
This profile disables toast notifications from the lock screen.


# Checklist for submitter

If some of the following don't apply, delete the relevant line.


## Testing


- [x] QA'd all new/changed functionality manually
2025-10-25 19:01:39 -04:00
Graham WilliamsandDale Ribeiro 680b36c802 Windows Configuration Profiles - Disabling System Services (#34446)
- Uses randomly generated UUID for the CmdID as required by [CmdID
Specs](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-mdm/d7321df8-ecb2-4c81-8a24-54630bc7456f)
- Created **Device** profile to disable the services as required based
on [Microsoft
Docs](https://learn.microsoft.com/en-us/windows/client-management/mdm/policy-csp-systemservices)
- Profiles return as **Verified** in FleetUI
- Event Viewer shows no errors
- Services listed as disabled

Adds configuration profiles for disabling the following services on
startup

Windows Mobile Hotspot Service (icssvc) -
0199f25b-795f-7dee-92cc-0a69d91d6c8a
Internet Connection Sharing (ICS) (SharedAccess) -
0199f25b-795f-76d9-99cb-d122e5b6e6f1
Routing and Remote Access (RemoteAccess) -
0199f25b-795f-7699-8735-e316ffc0564e
Remote Procedure Call (RPC) Locator (RpcLocator) -
0199f25b-795f-7882-9309-44b8f0633b01
SSDP Discovery (SSDPSRV) - 0199f25b-795f-703f-99a1-abecba6b71f8
UPnP Device Host (upnphost) - 0199f25b-795f-7802-9b16-efae4418f444
Windows Media Player Network Sharing Service (WMPNetworkSvc) -
0199f25b-795f-7af7-99ba-2f418f05e77b
World Wide Web Publishing Service (W3SVC) -
0199f25b-795f-7966-a812-4b1d5c5c54cb (Non-standard Service)
Microsoft FTP Service (FTPSVC) - 0199f25b-795f-7d7c-b6ca-597d08a1839d
(Non-standard Service)

---------

Co-authored-by: Dale Ribeiro <dale@fleetdm.com>
2025-10-25 19:01:03 -04:00
Graham WilliamsandDale Ribeiro 966373876e Create windows-device-systemservices-xbox-disabled.xml (#34432)
- Uses randomly generated UUID for the CmdID as required by [CmdID
Specs](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-mdm/d7321df8-ecb2-4c81-8a24-54630bc7456f)
- Created **Device** profile to disable the services as required based
on [Microsoft
Docs](https://learn.microsoft.com/en-us/windows/client-management/mdm/policy-csp-systemservices#configurexboxaccessorymanagementservicestartupmode)
- Profiles return as **Verified** in FleetUI
- Event Viewer shows no errors
- Services listed as disabled

<img width="653" height="375" alt="image"
src="https://github.com/user-attachments/assets/d059751a-e853-4bd1-ab36-1ee5d5dc9566"
/>

<img width="1654" height="1113" alt="image"
src="https://github.com/user-attachments/assets/a47ec8fd-c889-472f-802c-89787eb42fbe"
/>

---------

Co-authored-by: Dale Ribeiro <dale@fleetdm.com>
2025-10-25 18:58:15 -04:00
Magnus Jensen 8f1bccb5fb add defender smartscreen windows CSP policies (#34428)
Adds 4 defender smartscreen policies, to enable notifying and one for
disabling automatic data collection.
2025-10-25 18:57:22 -04:00
Steven PalmesanoandDale Ribeiro 3a1b4b6880 Add CSP to disable Game DVR (#34427)
Verified working with Windows 11 Pro.

---------

Co-authored-by: Dale Ribeiro <dale@fleetdm.com>
2025-10-25 18:56:48 -04:00
Graham Williams 07fce813d4 Create windows-device-system-bootstartdriver-disabled.xml (#34424)
- Uses randomly generated UUID for the CmdID as required by [CmdID
Specs](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-mdm/d7321df8-ecb2-4c81-8a24-54630bc7456f)
- Created **Device** profile to disable the setting as required based on
[Microsoft
Docs](https://learn.microsoft.com/en-us/windows/client-management/mdm/policy-csp-system#bootstartdriverinitialization)
- Profiles return as **Verified** in FleetUI
- Event Viewer shows no errors
- Registry shows EarlyLaunch entry with expected defaults

<img width="546" height="375" alt="image"
src="https://github.com/user-attachments/assets/058d4283-6ea4-4900-abaf-6e9de1f1b1b3"
/>

<img width="1654" height="1113" alt="image"
src="https://github.com/user-attachments/assets/9e5cb2ff-578b-4fe6-9dfb-50d2c6d910ee"
/>
2025-10-25 18:55:55 -04:00
Graham Williams 40fde14407 Adds msialwaysinstall profiles (#34423)
- Uses randomly generated UUID for the CmdID as required by [CmdID
Specs](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-mdm/d7321df8-ecb2-4c81-8a24-54630bc7456f)
- Created both **User** and **Device** profiles as required based on
[Microsoft
Docs](https://learn.microsoft.com/en-us/windows/client-management/mdm/policy-csp-applicationmanagement#msialwaysinstallwithelevatedprivileges)
- Profiles return as **Verified** in FleetUI
- Event Viewer shows no errors
- Registry shows provider set for both **Device** and **User** scopes

<img width="1009" height="464" alt="image"
src="https://github.com/user-attachments/assets/90df1b0c-651f-4bfb-bf19-ceb30e34be8e"
/>

<img width="1654" height="1113" alt="image"
src="https://github.com/user-attachments/assets/ed325e97-6d3a-4c53-b700-75f38490cc6d"
/>
2025-10-25 18:54:21 -04:00
Victor Lyuboslavsky 27b8d1aa4b Fixed issue searching software versions (#34770)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #34713

Fix for unreleased but. Needs to be cherry picked into 4.76.0

# Checklist for submitter

## Testing

- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually

For unreleased bug fixes in a release candidate, one of:

- [x] Confirmed that the fix is not expected to adversely impact load
test results
2025-10-25 16:02:02 -05:00
Noah Talerman d7f4348d33 Remove "experimental" from Omarchy and Arch Linux (#34757) 2025-10-24 17:32:44 -05:00
kitzy e96365ab58 [DOCS] Add example YAML configuration for macOS setup (#34766)
This came out of a customer call where we received the following output
from the `fleetctl generate-gitops` command:
```
The macos_setup configuration is not supported by this tool yet.  To configure it, please follow the Fleet documentation at https://fleetdm.com/docs/configuration/yaml-files#macos-setup
```
In the moment, it wasn't clear to me or the customer what had to be
done. This update provides the context (where the `macos_setup`
configuration is supposed to exist) as well as an example of what it
should look like.
2025-10-24 17:32:03 -05:00
Victor Lyuboslavsky c315fd0737 Update changelog for fleetd 1.49.0 release (#34773) 2025-10-24 16:26:14 -05:00
Gabriel HernandezandJordan Montgomery 56c90daf57 update contact url buttons on swift dialog popup for macos mdm migration (#34265)
**Related issue:** Fixes #32902

This changes the error message swift dialog popup for macos mdm
migration. it will not correctly show file protocol URLs and makes the
"Contact IT" the primary button action on this popup.
If some of the following don't apply, delete the relevant line.

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.
- [x] QA'd all new/changed functionality manually

## fleetd/orbit/Fleet Desktop

- [x] Verified compatibility with the latest released version of Fleet
(see [Must
rule](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/workflows/fleetd-development-and-release-strategy.md))
- [x] Verified that fleetd runs on macOS, Linux and Windows
- [ ] Verified auto-update works from the released version of component
to the new version (see [tools/tuf/test](../tools/tuf/test/README.md))

---------

Co-authored-by: Jordan Montgomery <elijah.jordan.montgomery@gmail.com>
2025-10-24 16:45:49 -04:00
fleet-releaseandtux234 b4921bd0b5 Update Fleet-maintained apps (#34759)
Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: tux234 <2227948+tux234@users.noreply.github.com>
2025-10-24 15:24:36 -04:00
jacobshandling ab0065ab39 (releases on merge to main) Detect JetBrains IDE plugin vulnerabilities (#34331)
**Related issue:** Resolves #32266


[Demo](https://drive.google.com/file/d/1ZDYJkWkxZ519le8v9qGmcrL8YkP-uivW/view?usp=sharing)

- [x] Changes file added for user-visible changes in `changes/`,
- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually
2025-10-24 12:06:35 -07:00
Tim Lee c5d7c9f626 31970 NPM vuln support (#33100) 2025-10-24 12:54:57 -06:00
Allen HouchinsandMitch Francese b4f598e1b2 Added Cursor FMA for macOS (#34069) (#34665)
Fixes #34069

Co-authored-by: Mitch Francese <2227948+tux234@users.noreply.github.com>
2025-10-24 13:54:30 -04:00
Noah Talerman c25028710b Fleet product: Change label from 'Manage users' to 'Users' (#34738)
- @noahtalerman: Noun is used for all other items except "Sign out":

<img width="252" height="362" alt="Image"
src="https://github.com/user-attachments/assets/34280bf0-5e74-46ed-b425-49faecbca18f"
/>
2025-10-24 13:52:05 -04:00
Luke Heath bef0db5c8b Revise DNS record management process (#34755) 2025-10-24 12:25:21 -05:00
Sam PflugerandMike McNeil c33d352810 Remove ADR position (#34750)
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2025-10-24 12:19:08 -05:00
Jordan Montgomery 79b886455a Update host expiry logic to account for Apple MDM checkin times (#34698)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #32499

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [x] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes

## Testing

- [x] Added/updated automated tests
- [x] Where appropriate, [automated tests simulate multiple hosts and
test for host
isolation](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/reference/patterns-backend.md#unit-testing)
(updates to one hosts's records do not affect another)

- [x] QA'd all new/changed functionality manually

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Improved host expiry logic to correctly identify and preserve Apple
MDM-enrolled hosts that don't check in through Orbit, preventing
unintended host deletions.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-10-24 13:12:03 -04:00