Commit graph

2922 commits

Author SHA1 Message Date
Luís Teles
0fb35e8023
Update standard query library queries (kind: query to kind: report) (#41979)
Just updating the standard query library to reflect the renaming of
"queries" to "reports". This will fix the warnings when importing the
library via fleetctl:

> ```[!] `kind: query` is deprecated, please use `kind: report`
instead.```
2026-03-18 16:08:22 -05:00
kilo-code-bot[bot]
3678d6a981
Revert: Change Apple OS update deadline from 7PM back to noon (#38834) (#41899)
## Summary

- Reverts the changes introduced by issue
[#38834](https://github.com/fleetdm/fleet/issues/38834), which changed
the Apple (macOS, iOS, iPadOS) OS update enforcement deadline from 12:00
PM (Noon) to 7:00 PM local time.
- Reverts code from [PR
#38810](https://github.com/fleetdm/fleet/pull/38810) (backend, frontend,
tests) and [PR #39185](https://github.com/fleetdm/fleet/pull/39185)
(documentation).
- Restores the original noon (12:00) deadline in the MDM declaration
payload, frontend tooltip, integration tests, REST API docs, and YAML
configuration docs.

## Changes

| File | Change |
|------|--------|
| `ee/server/service/mdm.go` | `TargetLocalDateTime` reverted from
`T19:00:00` to `T12:00:00` |
| `frontend/.../AppleOSTargetForm.tsx` | Deadline tooltip reverted from
"19:00 (7PM)" to "12:00 (Noon)" |
| `server/service/integration_enterprise_test.go` | Test assertion
reverted from `T19:00:00` to `T12:00:00` |
| `docs/Configuration/yaml-files.md` | 3 references reverted from "7PM"
to "noon" |
| `docs/REST API/rest-api.md` | 6 references reverted from "7PM" to
"noon" |

Built for
[ntalerman](https://fleetdm.slack.com/archives/D0AEA6U4SM9/p1773780763835429)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
Co-authored-by: George Karr <georgekarrv@users.noreply.github.com>
2026-03-18 14:07:20 -05:00
melpike
c376ccbe97
Standardize the style and example for default value (#41450)
Update styles and units for server​_default​_max​_request​_body​_size
2026-03-18 10:21:17 -06:00
Marko Lisica
3756a8e901
[Guide] Automatically renew certificates deployed from custom SCEP CA on Windows (#41854)
Related to:

- #32746
2026-03-17 17:36:31 -05:00
Noah Talerman
9c9961e9e5
GitOps: Link to Fleet's catalog (#41861) 2026-03-17 15:43:49 -05:00
Victor Lyuboslavsky
f01cf0e4e3
Docs: Run multiple independent Fleet dev servers in parallel (#41868) 2026-03-17 15:22:50 -05:00
Nico
b89cc578ca
Add disk_space fleetd table for accurate macOS disk space reporting (#41575)
**Related issue:** Resolves #36799, Sub-task: #41556

# Checklist for submitter

- [x] Changes file added for user-visible changes in `changes/`.
- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements), JS
inline code is prevented especially for url redirects

## Testing

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

<img width="924" height="278" alt="Screenshot 2026-03-16 at 10 46 38 AM"
src="https://github.com/user-attachments/assets/313b6650-a849-4bc2-ba14-a62d3d13b60c"
/>
<img width="1441" height="300" alt="Screenshot 2026-03-16 at 10 46
44 AM"
src="https://github.com/user-attachments/assets/915cfd26-168f-4621-bcf5-6c26c40e5faf"
/>
<img width="1923" height="788" alt="Screenshot 2026-03-16 at 10 54
04 AM"
src="https://github.com/user-attachments/assets/62356a3e-84fe-4561-b7ad-0a35c9db3b2a"
/>
<img width="2529" height="483" alt="Screenshot 2026-03-16 at 10 47
02 AM"
src="https://github.com/user-attachments/assets/4dc51073-2c24-4934-bd9d-c5ee648d5ae1"
/>

Tested that with latest released fleetd (1.53.0), we still ingest the
available disk space. There's about 5% difference in the UI vs in the
macOS "Get Info" dialog (expected, since we use the old query, now
called `disk_space_darwin_legacy`):

<img width="267" height="306" alt="Screenshot 2026-03-17 at 8 47 22 AM"
src="https://github.com/user-attachments/assets/73fc1eef-a32c-4d8d-a9ca-13980885f8fe"
/>
<img width="883" height="407" alt="Screenshot 2026-03-17 at 8 47 33 AM"
src="https://github.com/user-attachments/assets/98851b9b-82a8-4ac8-af5c-dbb878f85fad"
/>
<img width="159" height="127" alt="Screenshot 2026-03-17 at 8 47 40 AM"
src="https://github.com/user-attachments/assets/209f784a-29a8-4af5-b95d-0f9bd59917c9"
/>

Also tested running with vanilla osquery by stopping fleetd and then
running osquery manually (adding the `--allow_unsafe` flag). Result is
same as above, `disk_space_darwin_legacy` is used:

<img width="1152" height="418" alt="Screenshot 2026-03-17 at 8 59 23 AM"
src="https://github.com/user-attachments/assets/2b34d23d-61de-4ec1-8d1c-2d3ddb682d11"
/>
<img width="893" height="414" alt="Screenshot 2026-03-17 at 8 59 28 AM"
src="https://github.com/user-attachments/assets/d28ee8fb-08c5-434f-abfa-3825b27ac73b"
/>



## Summary

- Adds a new macOS-only fleetd table `disk_space` that uses
`NSURLVolumeAvailableCapacityForImportantUsageKey` to report available
disk capacity including purgeable storage — matching what macOS shows in
Finder's "Get Info" dialog.
- Adds a new `disk_space_darwin` detail query that uses the new table
(with Discovery, so it only runs on hosts with fleetd ≥ 1.54.0).
- Restricts the existing `disk_space_unix` query to Linux only (darwin
was removed since the new query handles it).
- Adds schema documentation for the new table.

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 12:59:17 -03:00
Lucas Manuel Rodriguez
3a223ca939
Windows conditional access: Ingest device_id from Windows devices (#41822)
Resolves #41475

- [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] 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
2026-03-17 12:33:39 -03:00
Josh Roskos
ba2c5b5e5c
Add go_binaries table (#39877)
**Related issue:** Resolves #40138

# Checklist for submitter

- [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)

## Testing

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

Installed: 
```
go install golang.org/x/tools/cmd/goimports@latest
go install golang.org/x/tools/gopls@latest
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
```

Validated:
```
osquery> SELECT * FROM go_packages;
+---------------+---------+-----------------------------------+-----------------------------------------------------+------------+----------------------------------+
| name          | version | module_path                       | import_path                                         | go_version | installed_path                   |
+---------------+---------+-----------------------------------+-----------------------------------------------------+------------+----------------------------------+
| goimports     | v0.42.0 | golang.org/x/tools                | golang.org/x/tools/cmd/goimports                    | go1.25.5   | /Users/josh/go/bin/goimports     |
| golangci-lint | v1.64.8 | github.com/golangci/golangci-lint | github.com/golangci/golangci-lint/cmd/golangci-lint | go1.25.5   | /Users/josh/go/bin/golangci-lint |
| gopls         | v0.21.1 | golang.org/x/tools/gopls          | golang.org/x/tools/gopls                            | go1.25.5   | /Users/josh/go/bin/gopls         |
+---------------+---------+-----------------------------------+-----------------------------------------------------+------------+----------------------------------+
```

## 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] If the change applies to only one platform, confirmed that
`runtime.GOOS` is used as needed to isolate changes
- [x] Verified that fleetd runs on macOS, Linux and Windows

---------

Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
2026-03-16 13:27:00 -05:00
Victor Lyuboslavsky
622430f600
Update ADR 0007 as completed. (#41285) 2026-03-16 12:38:01 -05:00
Steven Palmesano
ad9301a455
Solutions updates 2026-03-12 (#41596) 2026-03-16 11:58:51 -05:00
Juan Fernandez
067e5fb33f
Made Host Results endpoint URL consistent (33714) (#41501)
Resolves #33714

Added alias `GET /api/v1/fleet/scripts/batch/abc-def/host_results` for
`GET /api/v1/fleet/scripts/batch/abc-def/host-results` for consistency
sake.
2026-03-13 14:00:26 -04:00
Adam Baali
9ed65628df
Combine Windows MDM migration remediation into single script (#41537) 2026-03-13 08:59:27 +01:00
kilo-code-bot[bot]
f4c093047f
Embed GitOps basics video on YAML files docs page (#41581)
## Summary

- Embeds Fleet's ["The Basics of Fleet
GitOps"](https://www.youtube.com/watch?v=wgqI_lHnGJc) YouTube video on
the [GitOps YAML files documentation
page](https://fleetdm.com/docs/configuration/yaml-files).
- The video is placed in the introduction section, right after the
opening paragraph and before the first callout, so users see it early
when landing on the page.
- Uses the existing `<div purpose="embedded-content"><iframe>` embed
pattern consistent with other Fleet docs pages (e.g.,
`articles/queries.md`, `articles/fleetctl.md`,
`articles/vulnerability-processing.md`).

### Changes
- `docs/Configuration/yaml-files.md`: Added YouTube video embed for "The
Basics of Fleet GitOps" (`wgqI_lHnGJc`).

Built for
[mikermcneil](https://fleetdm.slack.com/archives/D0AFASLRHNU/p1773338930980929)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-03-12 19:38:35 -05:00
Rachael Shaw
cc671f98c9
Preview of v4.82.0 doc changes (#38894)
This PR will remain in draft as a preview of upcoming documentation
changes for 4.82.0

---------

Co-authored-by: Jordan Montgomery <elijah.jordan.montgomery@gmail.com>
Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
Co-authored-by: Magnus Jensen <magnus@fleetdm.com>
Co-authored-by: Victor Lyuboslavsky <2685025+getvictor@users.noreply.github.com>
Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
Co-authored-by: Dante Catalfamo <43040593+dantecatalfamo@users.noreply.github.com>
Co-authored-by: melpike <79950145+melpike@users.noreply.github.com>
Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
Co-authored-by: Nico <32375741+nulmete@users.noreply.github.com>
Co-authored-by: Scott Gress <scottmgress@gmail.com>
2026-03-12 18:19:53 -05:00
Steven Palmesano
b37de7c9aa
Remove duplicate custom_est_proxy entry (#41159)
Combine both entries to make one.
2026-03-12 18:02:17 -05:00
Noah Talerman
09590bc6e2
"Teams" => "fleets", "queries" => "reports" doc changes (#39585) 2026-03-11 23:41:14 -05:00
melpike
6527c15e56
Update support contact link in fleet-server-configuration (#41399)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #40710
2026-03-11 18:44:13 -05:00
Noah Talerman
75a61a8673
Document PUT /hosts/{id}/device_mapping side effect (#41514)
Until we fix this:
- https://github.com/fleetdm/fleet/issues/41239

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2026-03-11 18:39:16 -05:00
Magnus Jensen
302ee423dd
[API Docs]: mention ios, ipados and windows support for resend profile (#41486)
This support has been there for some time, it was just never updated.
2026-03-11 18:21:07 -05:00
Mitch Francese
3451ec6454
Update Okta Platform SSO guide: add dynamic SCEP challenge option (#41228)
## Summary

- Adds Fleet's dynamic SCEP challenge (Okta CA with a dynamic challenge,
available since Fleet 4.81.0) as the recommended path for Device Access
certificates on macOS 14+
- Preserves static SCEP as a documented legacy option, each with its own
downloadable example profile
- Adds `okta-device-access-scep-dynamic-example.mobileconfig` using
`$FLEET_VAR_NDES_SCEP_PROXY_URL` and `$FLEET_VAR_NDES_SCEP_CHALLENGE`;
existing static example profile unchanged
- Corrects renewal claim: neither static nor dynamic SCEP supports
automatic certificate renewal per Okta's own documentation — both
require profile redeployment before expiration
- Adds Okta documentation links throughout for proper SEO and
cross-reference:
- [Use Okta as a CA for Device
Access](https://help.okta.com/oie/en-us/content/topics/oda/oda-as-scep-okta-ca.htm)
- [Configure Okta as a CA with a dynamic SCEP
challenge](https://help.okta.com/oie/en-us/content/topics/identity-engine/devices/okta-ca-dynamic-scep-macos-jamf.htm)
- [Configure Okta as a CA with a static SCEP
challenge](https://help.okta.com/oie/en-us/content/topics/identity-engine/devices/okta-ca-static-scep-macos-jamf.htm)
- Uses correct Fleet UI path and CA type name verified against
`helpers.tsx` and the 4.81.0 release article
- Uses Okta's exact field names (SCEP URL, Challenge URL, Username,
Password) verified from Okta's documentation
- Updates `publishedOn` to reflect the revision date

## Files changed

- `articles/deploying-okta-platform-sso-with-fleet.md` — article update
-
`docs/solutions/macos/configuration-profiles/okta-device-access-scep-dynamic-example.mobileconfig`
— new dynamic SCEP example profile
-
`docs/solutions/macos/configuration-profiles/okta-device-access-scep-example.mobileconfig`
— unchanged (static example)

## Test plan

- [ ] Article renders correctly on fleetdm.com preview
- [ ] Dynamic example profile link resolves:
`okta-device-access-scep-dynamic-example.mobileconfig`
- [ ] Static example profile link resolves:
`okta-device-access-scep-example.mobileconfig`
- [ ] All Okta documentation links resolve
- [ ] Fleet UI path verified: **Settings → Integrations → Certificate
authorities → Add CA → Okta CA or Microsoft Device Enrollment service
(NDES)**
- [ ] Fleet variables `$FLEET_VAR_NDES_SCEP_PROXY_URL` and
`$FLEET_VAR_NDES_SCEP_CHALLENGE` confirmed in Fleet docs
- [ ] Meta tags present with updated `publishedOn` date
- [ ] Style guide compliance verified (active voice, bold UI elements,
no marketing fluff)
2026-03-10 18:50:20 -04:00
Magnus Jensen
3f93296c62
38950 document 1pass credentials (#41346)
Resolves: #38950
2026-03-10 10:35:58 -05:00
melpike
2d5471719e
Document silent migration enrollment profile (#40710)
Added information about silent migration enrollment profile for Apple
MDM devices.

<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Relates #39796
2026-03-10 08:15:27 -06:00
Victor Lyuboslavsky
3d7b7a4ef8
Updated modular monolith README (#40762)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38536

The final activity bounded context PR is in review:
https://github.com/fleetdm/fleet/pull/41194
So, I'm putting up the associated README up for review as well.
2026-03-09 13:19:35 -05:00
Victor Lyuboslavsky
f3e53082e0
Added docs: software name changes and the rename problem (#41227)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #28584

The correct fix for the bug was to add a migration to update existing
software rows to match the new naming convention. However, that should
have been done in Fleet 4.67, and that ship has already sailed.

See the issue description in the `Name changes and the rename problem`
of the doc.
2026-03-09 13:17:57 -05:00
Juan Fernandez
eec2ce111a
Increase body size limits for osquerylog and osquery/dist/write endpoints (#40946)
Resolves #40813 

* Added configurable body size limits for the `/api/osquery/log`,
`/api/osquery/distributed/write` and `/api/osquery/config` endpoints.
* Fixed false positive `PayloadTooLargeError` errors.

---------

Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
2026-03-09 13:49:07 -04:00
Rachael Shaw
53ebf91be6
API design: #33522 Add executable hash/path to software (#37212)
Related to user story:

+ #33522
2026-03-06 18:28:30 -06:00
Tim Lee
3681306dd7
Fix Jetbrains versions - Take 2 (#40928) 2026-03-06 12:30:20 -07:00
Mitch Francese
dc397209f0
Add MITRE ATT&CK framework queries to query library (#39930)
## Summary

- Adds 152 MITRE ATT&CK framework threat detection queries to the Fleet
query library (`docs/queries.yml`)
- Queries cover Linux (23), macOS (18), and Windows (36) platforms, plus
cross-platform queries
- Mapped to specific ATT&CK techniques (T1025, T1033, T1053, T1078,
T1548, etc.)
- All queries tagged with `MITRE, ATT&CK, threat detection` for easy
filtering on the website

## Details

Queries are sourced from the
[fleet-osquery-attck](https://github.com/MitchF/fleet-osquery-attck)
project and cover:

- **Discovery**: Process, account, system information, network
connections
- **Persistence**: Cron jobs, startup items, launch agents/daemons,
registry run keys
- **Credential Access**: SSH keys, browser credentials, sudoers
- **Execution**: Command interpreters, scheduled tasks, shell history
- **Defense Evasion**: Rootkit detection, process injection, file
integrity
- **Lateral Movement**: SSH connections, remote services

## Test plan

- [x] Verify `docs/queries.yml` parses correctly during website build
(`build-static-content.js`)
- [ ] Verify MITRE queries appear on https://fleetdm.com/queries with
proper platform filtering
- [ ] Verify no slug collisions with existing queries
- [ ] Verify contributor profile resolves for `MitchF` GitHub username
2026-03-06 12:28:11 -06:00
Steven Palmesano
c0e5adf32f
Fix broken human-device mapping links and spelling error (#41069) 2026-03-06 12:27:12 -06:00
Noah Talerman
e7742e1fcd
YAML reference: Some keys don't get reset to default (#41092)
Context:
https://fleetdm.slack.com/archives/C0ACJ8L1FD0/p1772731172515989?thread_ts=1772651082.960169&cid=C0ACJ8L1FD0
2026-03-06 11:48:54 -06:00
Robert Fairburn
135f0cff4c
Update AWS Pricings in ref arch (#41110) 2026-03-06 11:41:23 -06:00
Rachael Shaw
f10f9a955a
Cherry-pick: windows_entra_tenant_ids docs (#41144)
Cherry-pick of https://github.com/fleetdm/fleet/issues/39221 from
`docs-v4.82.0` into `main`

For user story:

- #39214

Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
2026-03-06 11:39:07 -06:00
Rachael Shaw
cbc69082ab
Update contributor API note (#41026)
Attempted to make the warning stand out more so people don't skip past
it, and added a note encouraging Fleet users to make feature requests to
bring the contributor endpoints they want to use into the public API
before building anything with them. (Hopefully will help avoid bugs like
[this](https://github.com/fleetdm/fleet/issues/40448).)
2026-03-05 18:16:56 -06:00
Ian Littman
7d4acdc5c4
Bump supported MySQL versions (#40892)
Fixes #40975.

8.0.32 (was running in Aurora managed cloud at the time) -> 8.0.39 (what
we're running now) 8.0.36 -> 8.0.44 (latest 8.0.x version supported by
Aurora; holding off on 8.0.45 until Aurora supports it) 8.4.7 -> 8.4.8
9.5.0 -> 9.6.0

Also bumped the supported Aurora version from 3.07.0 to 3.08.2 to match
what we're running in managed cloud right now

Fleet might work on older patch versions but we'll no longer dev/test on
them. MySQL 9.x not testing previous minor versions matches with our
previous approach for that version.

Since these are all patch/minor bumps (and the overnight build cases are
patch bumps/are covered by AWS envs) automated testing should be
sufficient here.
2026-03-04 12:25:20 -06:00
Mike McNeil
7064e4356a
Docs: Add link to ADE profile reference (#40836) 2026-03-02 22:07:09 -06:00
Steven Palmesano
4a5e22137f
Add fleetd debug script for Windows (#40831)
Also rename the macOS script for consistency.
2026-03-02 15:41:25 -06:00
Katheryn Satterlee
29451ffb87
Update manage-orbit-debug.sh by removing instructions (#40426)
Removed instructions that were added for a specific usecase.
2026-03-02 15:00:14 -06:00
Magnus Jensen
36c81a496b
Show Windows support for SCEP Renewal ID variable (#40803) 2026-03-02 11:42:25 -05:00
melpike
f8239c5b62
Document fleet_allow_bootstrap_package_during_migration (#40810)
Add documentation for enabling bootstrap packages during MDM migration.

<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #39634
2026-03-02 10:39:35 -06:00
Victor Lyuboslavsky
89c6286f27
Updated old adding-new-endpoints guide. (#40760) 2026-02-28 11:39:29 -06:00
Noah Talerman
9fa8952b07
Deploy Fleet: Host Fleet in your homelab (#40719)
For the following request:
- https://github.com/fleetdm/fleet/issues/33774
2026-02-27 18:06:18 -06:00
Mason Buettner
1c1016639f
Fix issue link for automatic install support (#40732)
Updated issue link for automatic install support for Fleet-maintained
apps.

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

# Checklist for submitter

The previously linked issue
https://github.com/fleetdm/fleet/issues/29584 was closed in favor of
https://github.com/fleetdm/fleet/issues/34492.
2026-02-27 18:05:49 -06:00
Katheryn Satterlee
d565887fea
Update host identifier recommendations in documentation (#40741)
Clarified recommendations for setting host identifiers when enrolling
hosts using Fleet generated packages.
2026-02-27 18:05:28 -06:00
Wesley Whetstone
57c4f8c59f
Skip MDM Declaration Validation logic with Configuration. (#38212)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #

This PR adds the ability to skip any Fleet logic that validates on
whether or not an MDM Declaration is usable with Fleet by setting a
configuration of `FLEET_MDM_SKIP_DECLARATION_VALIDATION` to `True`. We
would like to leverage declarations such as [config
files](https://developer.apple.com/documentation/devicemanagement/servicesconfigurationfiles)
as well as other none configuration declarations that are
[restricted](https://github.com/fleetdm/fleet/blob/main/server/fleet/apple_mdm.go#L736-L738)
like
[Activations](https://developer.apple.com/documentation/devicemanagement/activationsimple),
and any declaration that requires
[AssetData](https://developer.apple.com/documentation/devicemanagement/assetdata).
We understand that these are not usable by most Fleet customers,
especially those that use Fleets cloud hosting option.

Since we run Fleet on our own infrastructure we are able to leverage our
proxy to support all additional data components needed for declarations
above.

## Testing
I've built and run Fleet locally and validated that with the
`FLEET_MDM_SKIP_DECLARATION_VALIDATION` I am able to add any
declarations I please. Without the config I am unable to add the
requested declaration types above.

- [X] Added/updated automated tests

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

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

## Summary by CodeRabbit

* **New Features**
* Added experimental `mdm.allow_all_declarations` configuration option
to permit all Apple MDM declaration types when enabled, overriding
default validation checks.

* **Documentation**
* Updated configuration documentation with details for the new
experimental MDM option, including defaults, environment variables, YAML
format, and safety considerations.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
Co-authored-by: Magnus Jensen <magnus@fleetdm.com>
2026-02-27 16:07:33 -05:00
Zach Wasserman
8b904702a0
Fix documentation for CI (#40712) 2026-02-27 11:19:14 -08:00
Juan Fernandez
c95283c490
Updated documentation for file carving REST endpoints (#40698)
Added notes explaining that network error will result in a failed carve
operation.
2026-02-27 14:43:36 -04:00
George Karr
941816e3c3
Revise daily standup steps for priority review (#40605)
Adding an explicit check to scrum to review p0-1 and make sure they have
daily updates until they are ready for QA / merged.
2026-02-27 09:44:21 -06:00
Marko Lisica
f5bc0d7f32
Add script to revoke VPP licenses for devices (#40478)
Related to:

- https://github.com/fleetdm/fleet/issues/34439
2026-02-27 15:55:05 +01:00
Rachael Shaw
bcdcae3af0
Add compatibility note to upgrading docs (#40569)
Clarify the rare cases when upgrading to a minor/patch version can break
compatibility.

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2026-02-26 10:45:07 -06:00
Magnus Jensen
f555071a76
add assign license section to windows autopilot doc (#40416)
Update to Windows autopilot doc that includes assigning a license to
your Microsoft 365 user
2026-02-26 09:49:58 -05:00
Marko Lisica
3a032b5e8f
Fix broken link in YAML docs (#40411) 2026-02-25 17:55:38 -06:00
Noah Talerman
4258e62fa3
FAQ: Mac Admins osquery extension support (#40014)
It's not clear what version and what tables Fleet supports:
https://fleetdm.slack.com/archives/C052K2LAMCP/p1771342324651109
2026-02-23 14:44:09 -06:00
Katheryn Satterlee
9e4a907f98
Fix typo in commands link and update API example (#40206)
Moved team_id in Batch update configuration profiles endpoint example
from request body to the request url.

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2026-02-23 13:42:32 -06:00
Magnus Jensen
b0cc88858b
Add contributor documentation on configuring Windows Autopilot (#40295)
Follow up doc update from my PoC work, to make it easier for others next
time.
2026-02-23 11:48:02 -05:00
Noah Talerman
4c3a3e09a2
Move "Refetch host by token" to public API (#40017)
- Users/customers use it:
https://fleetdm.slack.com/archives/C050XE4CQNA/p1770941203226819?thread_ts=1770936601.691019&cid=C050XE4CQNA
- Rename this to "Fleet Desktop" token
2026-02-23 10:28:19 -06:00
Brock Walters
6455f4ec86
Delete docs/solutions/macos/policies/openclaw-detection.policies.yml (#40249)
Moved to all dir.
2026-02-22 18:12:00 -05:00
Brock Walters
a54ac3fa70
Create openclaw-detection.queries.yml (#40250)
moved from macos
2026-02-22 18:11:39 -05:00
Brock Walters
807ff40c1e
Delete docs/solutions/macos/queries/openclaw-detection.queries.yml (#40251)
Moved to all dir.
2026-02-22 18:11:12 -05:00
Brock Walters
4e059f7fae
Create openclaw-detection.policies.yml (#40248)
Moving these to all dir because they apply to multiple OS. Will change
links in article.
2026-02-21 14:22:27 -05:00
Ian Littman
7b59252eee
Clarify that we push vuln *feed* fixes, not vuln fixes, without a release (#40238) 2026-02-20 19:18:37 -06:00
Rachael Shaw
8822747d36
Preview of v4.81.0 doc changes (#38211)
This PR will remain in draft as a preview of upcoming documentation
changes for 4.81.0

---------

Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
Co-authored-by: Ian Littman <iansltx@gmail.com>
Co-authored-by: kitzy <kitzy@fleetdm.com>
Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
Co-authored-by: Victor Lyuboslavsky <2685025+getvictor@users.noreply.github.com>
Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
Co-authored-by: Zach Wasserman <zach@fleetdm.com>
Co-authored-by: melpike <79950145+melpike@users.noreply.github.com>
Co-authored-by: Jordan Montgomery <elijah.jordan.montgomery@gmail.com>
Co-authored-by: Magnus Jensen <magnus@fleetdm.com>
Co-authored-by: Dante Catalfamo <43040593+dantecatalfamo@users.noreply.github.com>
2026-02-20 17:45:47 -06:00
Brock Walters
abe588456a
Create openclaw-detection.policies.yml (#40209)
Asset in
https://fleetdm.com/guides/mitigation-assets-and-detection-patterns-for-ai-agents-like-openclaw
article.
2026-02-20 16:10:06 -05:00
Brock Walters
e3647853bd
Create openclaw-detection.queries.yml (#40210)
Asset in
https://fleetdm.com/guides/mitigation-assets-and-detection-patterns-for-ai-agents-like-openclaw
article.
2026-02-20 15:42:17 -05:00
Rachael Shaw
ee3ce0e624
API docs: "Device token" -> "Fleet Desktop token" (#40193)
To be consistent with naming in @noahtalerman's PR:
https://github.com/fleetdm/fleet/pull/40017
2026-02-20 13:22:55 -05:00
Steven Palmesano
c303f7f0e6
Windows scripts update (#40107)
- Add install ChatGPT script.
- Update turn on MDM script with some changes from the script above.

I tested the turn on MDM script after making these updates.
2026-02-19 13:58:10 -06:00
Connor Hughes
2863b8cf6d
Update SSO configuration steps in documentation (#39970)
Added steps for enabling SSO for a test user in Entra.

<!-- 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: Rachael Shaw <r@rachael.wtf>
2026-02-18 17:01:01 -06:00
Jordan Montgomery
f5b706ea8d
Add callout for module build failures (#39965)
Reading docs as part of oncall responsibilities and was reminded of
[this
discussion](https://fleetdm.slack.com/archives/C019WG4GH0A/p1771252998086309)
in Slack by Martin which referenced a recent JS module change that broke
`make generate` until developers ran `rm -rf node_modules`, so I added a
callout in the FAQ for it since I think this has happened a few times in
the past year
2026-02-18 16:56:01 -06:00
kiloconnect[bot]
6b3809fb7b
Add 'Disable Wi-Fi auto-join' macOS script to scripts library (#39813)
## Summary

Adds a new pre-baked script to the
[fleetdm.com/scripts](https://fleetdm.com/scripts) library: **Disable
Wi-Fi auto-join** for macOS.

## Changes

- Added a new entry to `docs/scripts.yml` in the macOS section
- The script disables auto-join for a specified Wi-Fi SSID using
`networksetup` and `PlistBuddy`/`defaults write`
- Based on [Alan Siu's
approach](https://www.alansiu.net/2026/01/22/scripting-disabling-auto-join-for-wi-fi-networks/)

## How to test

1. Build the website static content and verify the new script appears on
the /scripts page
2. Verify the script slug doesn't collide with existing scripts

---

Built for
[mikermcneil](https://fleetdm.slack.com/archives/D0AFASLRHNU/p1770980976219219?thread_ts=1770980373.078179&cid=D0AFASLRHNU)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

---------

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
Co-authored-by: Brock Walters <153771548+nonpunctual@users.noreply.github.com>
2026-02-18 15:32:28 -06:00
Noah Talerman
efc67f8d09
Remove automation for audit-logs.md (#39937)
- Instead, changes to activity will be specified as a PR to
`audit-logs.md` in the reference doc release branch just like API and
YAML (GitOps) changes
2026-02-18 09:16:57 -05:00
melpike
f437c13f19
Update Chrome security warning instructions (#39978) 2026-02-17 16:18:37 -06:00
Tim Lee
a3bafe8818
Jetbrains override query (#39800) 2026-02-17 08:00:36 -07:00
Noah Talerman
495daf1006
API reference: How to filter hosts by platform (#39418)
Co-authored-by: Rachael Shaw <r@rachael.wtf>
2026-02-13 17:54:08 -06:00
Noah Talerman
5430f8760f
API reference: Document what we know about "NotNow" (#39412)
- Document what we know about "NotNow"
- Context:
https://fleetdm.slack.com/archives/C050XE4CQNA/p1770244126667719?thread_ts=1769555555.606569&cid=C050XE4CQNA

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2026-02-13 17:45:41 -06:00
Rachael Shaw
8c33922230
Revert "[Audit logs] Start and end activities: macOS setup experience and MDM migration" (#39875)
Accidentally merged PR to auto-generated docs instead of closed
2026-02-13 16:40:07 -06:00
Noah Talerman
ff502671d7
[Audit logs] Start and end activities: macOS setup experience and MDM migration (#39728)
Audit log changes for the following story:
- #29729

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2026-02-13 16:39:26 -06:00
Noah Talerman
3b800a5cfd
fleetctl apply: Remove custom_settings if you don't want to touch profiles (#39790)
For the following bug:
- https://github.com/fleetdm/fleet/issues/37950
2026-02-13 09:33:37 -05:00
Marko Lisica
690802eef8
Update self-service web clip template (#39750)
Updated web clip template to match what we do in dogfood, except it's
using Fleet logo as an icon.

I also created a base64 icon as a single line to improve readability.

I removed the "full screen" option, so self-service now opens in the
default browser. This way, if a customer uses Jira or a similar tool as
the organization support URL, they don't need to re-authenticate.
2026-02-13 10:37:24 +01:00
Victor Lyuboslavsky
518cd746b9
Added Okta conditional access testing docs (#39804)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #39227

---------

Co-authored-by: Luke Heath <luke@fleetdm.com>
2026-02-12 17:51:53 -06:00
Lucas Manuel Rodriguez
50ad7edf6a
Uncomment MySQL supported versions in the FAQ (#39760)
**Related issue:** https://github.com/fleetdm/fleet/issues/39694
2026-02-12 16:48:24 -06:00
Steven Palmesano
573bf877fe
Create troubleshooting guide for users (#37774)
@ddribeiro After talking with Noah about troubleshooting and logs, I
thought it would be good if we created a user-facing guide for
troubleshooting. Our CSEs frequently send the same troubleshooting
information to customers when they report issues. We can empower
customers with one resource that they can work through, reducing the
significant amount of time in back-and-forth steps sent over Slack.

Also, we've talked about pulling the "Finding fleetd logs" section out
of the [Enroll hosts](https://fleetdm.com/guides/enroll-hosts) guide.
Perhaps when this is complete, we can link to this document from that
guide.

This certainly doesn't contain everything! Please bring the CSEs in to
flesh this out since they're in the day-to-day and have much more
knowledge regarding this than I do.

---------

Co-authored-by: Brock Walters <153771548+nonpunctual@users.noreply.github.com>
2026-02-12 14:34:54 -06:00
Steven Palmesano
ca599be859
Use cameraAccess instead of cameraDisabled, which is deprecated (#39751)
Tested and confirmed that this works.
2026-02-12 15:19:24 -05:00
Noah Talerman
10299bd85b
Contributor docs: Link to community PR process (#39555) 2026-02-12 12:43:09 -06:00
Adam Baali
f2f1f66d11
Add Windows MDM migration troubleshooting scripts and guide (#39548)
Closes #38916
Related: #34993, #33985, fleetdm/confidential#13228

## Changes

**Article update** (`articles/windows-mdm-setup.md`)
- Adds "Migrating from another MDM solution" subsection under **Manual
enrollment** with overview of common migration issues and links to
remediation scripts

**New scripts** (`docs/solutions/windows/scripts/`)
- `reset-mdm-enrollment-flag.ps1` — Resets MmpcEnrollmentFlag blocking
MDM status after migration
- `remove-stale-mdm-enrollment-records.ps1` — Clears orphaned enrollment
GUIDs, AAD discovery cache, and MS DM Server cache
- `fix-workplace-join-configuration.ps1` — Re-enables
Automatic-Device-Join task and configures Workplace Join policies
- `remove-unreachable-wsus-configuration.ps1` — Removes unreachable WSUS
server config that breaks Windows Update

## Context

Customers migrating Windows hosts from Intune to Fleet have been hitting
recurring enrollment issues, MDM status stuck on "Off," enrollment
errors (`0x80190190`, `0x8018000a`), and Windows Update breakage from
leftover RMM agents. These scripts consolidate the workarounds from
multiple customer engagements into self-serve remediation that can be
deployed via **Controls > Scripts**.

---------

Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
2026-02-11 15:20:26 +01:00
Rachael Shaw
d124acc493
Document how to change label name without clearing membership (#39443)
See https://github.com/fleetdm/fleet/issues/38947
2026-02-10 17:08:03 -06:00
Noah Talerman
59cff14a91
API reference: List hosts includes last_opened_at (#39573)
- When `populate_software=true`
- This came up in GitHub here:
https://github.com/fleetdm/fleet/issues/38645#issuecomment-3863021910
2026-02-10 17:07:30 -06:00
Marko Lisica
50d6dd2652
Remove 'fleet_maintained' field from policy and software endpoints (#39605)
This field doesn't exist. Probably accidentally merged.
2026-02-10 17:07:12 -06:00
Steven Palmesano
32e06e9488
Default type is dynamic (#39580)
Also change platform -> type.

Discussed in #38868.
2026-02-10 17:06:49 -06:00
Victor Lyuboslavsky
fe24ff1d67
Fixed a bug where certain macOS app names could be ingested as empty strings due to incorrect ".app" suffix removal. (#39563)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #34620

# Checklist for submitter

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.

## Testing

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


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

## Summary by CodeRabbit

## Bug Fixes
* Fixed an issue where macOS app names could become empty after removing
the ".app" extension. The app name extraction logic now correctly
handles edge cases, ensuring app names are properly ingested without
empty values.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-10 13:03:23 -06:00
Victor Lyuboslavsky
ac508b9a40
Added contributor docs for SigNoz. (#39402)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38607
2026-02-09 15:28:28 -06:00
Magnus Jensen
a187842260
always send webhook while device is unmanaged for MDM migration (#39416)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38322 

This PR utilizes the ping/status ticker that sees if the device is
Unmanaged (aka. not enrolled from a Fleet server perspective), if the
Migrate to Fleet flow before had set the `mdm_migration.txt` file, but
somehow not successfully unenrolled the device, we now keep sending it
if you trigger the modal again.

We wait 90seconds after start, so at most the user can go through the
flow every 90s, but the server has a hard limit on at most one webhook
every 3m, but still it means the user can wait a bit and retry and still
see the webhook gets sent now.

_PS: Updated the old migration test to go from 1,5m to ~2s execution
time with parallel and configurable waitForUnenrollment time (to allow
test to set lower values)

# 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] Added/updated automated tests
- [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] If the change applies to only one platform, confirmed that
`runtime.GOOS` is used as needed to isolate changes
- [x] Verified that fleetd runs on macOS, Linux and Windows
- [x] 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>
2026-02-09 14:08:54 -05:00
Adam Baali
e62f451e9d
Fix command_line_flags placement in agent configuration docs (#39546)
## Changes

Fixes incorrect YAML example in
`docs/Configuration/agent-configuration.md` where `command_line_flags`
was shown nested under `config:` instead of at the top level.

**File changed:** `docs/Configuration/agent-configuration.md`

## What was wrong

The example in the `## config` section showed `command_line_flags`
indented under `config:`:

```yaml
config:
  options:
    distributed_interval: 3
    ...
  command_line_flags: #  WRONG - nested under config
    verbose: true
    ...
  decorators:
    ...
```

This is incorrect and causes the following error when applied via
`fleetctl apply` for team YAML files:

```
Error: applying teams: POST /api/latest/fleet/spec/teams received status 400 Bad Request: 
"command_line_flags" should be part of the top level object
```

## Correct placement

Per the original implementation in
[#7377](https://github.com/fleetdm/fleet/issues/7377),
`command_line_flags` must be a **top-level key** under `agent_options`,
at the same level as `config:`:

```yaml
config:
  options:
    distributed_interval: 3
    ...
  decorators:
    ...
  yara:
    ...
command_line_flags: #  CORRECT - top level, sibling of config
  verbose: true
  ...
```

This is consistent with:
- The [Configuration files
docs](https://fleetdm.com/docs/configuration/configuration-files) which
correctly show `command_line_flags: {}` at the top level
- Issue #7377 which states: *"The overrides setting does not accommodate
command_line_flags, which is why it is only allowed at the top-level
(and not inside config or every override)"*
- The overrides section of the same page which notes: *"the
command_line_flags key is not supported in the overrides"*

## Related issues
- Closes: https://github.com/fleetdm/confidential/issues/14206
- Closes: https://github.com/fleetdm/confidential/issues/14207

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2026-02-09 12:16:31 -06:00
Noah Talerman
14158b2b68
GitOps reference: No label_membership_type (#39556)
- Currently defaults to empty manual label:
https://github.com/fleetdm/fleet/issues/38868
2026-02-09 11:25:44 -06:00
Jahziel Villasana-Espinoza
4a5de5c386
oncall doc updates (#39517) 2026-02-09 10:43:27 -05:00
Juan Fernandez
4657a6979e
Add activity for modified enroll secrets (#39292)
Resolves #36755 

When an user edits (add, updates or deletes) an enroll secret, then a
global activity should be generated.
2026-02-07 09:21:10 -04:00
Noah Talerman
67a78314d7
YAML reference: For packages, add via UI and copy hash_sha256 (#39434)
- This is we added ability to add a package via the UI in GitOps mode
2026-02-06 16:00:37 -05:00
Steven Palmesano
6a3578ce46
Update Jamf API endpoints (#39146)
Discussed at
https://macadmins.slack.com/archives/C0214NELAE7/p1769719765777279
- The endpoints for marking a device as unmanaged and sending an
unmanage command were deprecated and no longer work. The endpoint for
looking up a device by serial number was also deprecated, so I've
proactively updated it.
- The whole story is now refactored and simplified.
- Also fixed a link in the `tines` README.
2026-02-06 13:58:40 -06:00
Steven Palmesano
3b562c2ffb
Fix Apple's spelling errors (#39464)
stving -> string
PayloamVersion -> PayloadVersion
PaylpadRemovalDisallowed -> PayloadRemovalDisallowed

Originally reported at
https://macadmins.slack.com/archives/C0214NELAE7/p1770365345839839

Looks like we just copied from [Apple's
example](https://developer.apple.com/documentation/devicemanagement/install-profile-command),
which has the errors.
2026-02-06 13:37:40 -06:00
Magnus Jensen
bce4c4afae
remove old Windows MDM PoC tool (#39473)
This PR cleans up an old tool/windows-mdm-poc, that we no longer use or
rely on.

It is also an effort to minimze inline dependencies when unused.
2026-02-06 13:55:16 -05:00
Victor Lyuboslavsky
b0f4318fb9
Added OTEL contributor docs (#39285)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38607
2026-02-05 07:21:27 -06:00
Juan Fernandez
2935236802
False negative vulnerability for Adobe Acrobat Reader DC (#39131)
Resolves #35366 

The false negative was caused by a mismatch in product name translation
for `acrobat_reader_dc`. The resolution required platform-specific logic
to accurately identify the "Document Cloud" (DC) variants.
2026-02-05 07:20:16 -04:00
Noah Talerman
cc038aefbb
Update configuration-for-contributors.md (#39355) 2026-02-04 15:14:39 -06:00
Noah Talerman
996f5d450f
JIT guide: Simplify language (#39306)
Users sometimes missing the step "Create user and sync permissions on
login": https://github.com/fleetdm/fleet/issues/38438
2026-02-04 11:32:12 -06:00
Rachael Shaw
d401334d4c
Clearer callout clarifying hostname is not the same as display name (#39274) 2026-02-03 17:03:29 -06:00
Martin Angers
9dd41214f4
Update contributor API docs to add optional custom display name and icon for setup experience software (#39262)
Docs changes for https://github.com/fleetdm/fleet/pull/39223
2026-02-03 16:43:09 -06:00
Adam Baali
e51561914b
Add Windows SCEP profile with Exec support and $FLEET_VAR_HOST_HARDWARE_SERIAL for Okta certificate enrollment (#39204)
This pull request updates the Okta Verify on Windows SCEP configuration
documentation and profile to simplify deployment with Fleet and reduce
manual steps. The changes make the process more reliable by
standardizing variable usage, improving instructions, and automating
certificate enrollment.

**Key improvements and changes:**

**Documentation and workflow simplification:**
- The guide in
`articles/enable-okta-verify-on-windows-using-a-scep-configuration-profile.md`
was rewritten for clarity and to reflect the new automated approach.
Manual editing of XML and scripts is no longer needed; Fleet-managed
variables and secrets now handle all required values. Steps for
gathering prerequisites, deploying, verifying, and renewing certificates
are streamlined, and troubleshooting guidance is expanded.

- The subject name in the certificate is now set to use the hardware
serial (`$FLEET_VAR_HOST_HARDWARE_SERIAL`) instead of the host UUID,
improving uniqueness and traceability.
([docs/solutions/windows/configuration-profiles/install Okta attestation
certificate -
[Bundle].xmlL77-R89](diffhunk://#diff-d8fc2c8add5725599bdc41a7b417dc3978cfc34eb6fcb8950db513f2b5799aa5L77-R89))

**Secret management and security:**
- The configuration profile now references Fleet secrets
(`$FLEET_SECRET_OKTA_SCEP_URL`, `$FLEET_SECRET_OKTA_SCEP_CHALLENGE`,
`$FLEET_SECRET_OKTA_CA_THUMBPRINT`) directly, removing the need for
manual substitution and reducing risk of misconfiguration.
([docs/solutions/windows/configuration-profiles/install Okta attestation
certificate -
[Bundle].xmlL98-R141](diffhunk://#diff-d8fc2c8add5725599bdc41a7b417dc3978cfc34eb6fcb8950db513f2b5799aa5L98-R141))

**Automated certificate enrollment:**
- An `<Exec>` command is added to the XML profile to automatically
trigger SCEP enrollment upon deployment, further reducing manual
intervention. ([docs/solutions/windows/configuration-profiles/install
Okta attestation certificate -
[Bundle].xmlL98-R141](diffhunk://#diff-d8fc2c8add5725599bdc41a7b417dc3978cfc34eb6fcb8950db513f2b5799aa5L98-R141))

These changes make the Okta Verify SCEP configuration for Windows much
easier to deploy and maintain, with improved automation and clearer
instructions.

---------

Co-authored-by: Brock Walters <153771548+nonpunctual@users.noreply.github.com>
2026-02-03 16:47:53 +01:00
Noah Talerman
d6a98764aa
New Fleet instances: New best practice teams (#39181)
- All new Fleet Premium instances get new best practice teams
- Remove policies, queries, and scripts to simplify
2026-02-03 09:36:57 -05:00
Rachael Shaw
dafc8f6752
Preview of v4.80.0 doc changes (#37193)
This PR will remain in draft as a preview of upcoming documentation
changes for 4.80.0

---------

Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
Co-authored-by: Magnus Jensen <magnus@fleetdm.com>
Co-authored-by: Jordan Montgomery <elijah.jordan.montgomery@gmail.com>
Co-authored-by: Scott Gress <scottmgress@gmail.com>
Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
Co-authored-by: Nico <32375741+nulmete@users.noreply.github.com>
Co-authored-by: Luke Heath <luke@fleetdm.com>
2026-02-02 17:41:37 -06:00
Noah Talerman
09b52289b1
YAML reference: FLEET_VAR_HOST_HARDWARE_SERIAL is supported on Windows (#39193)
@rachaelshaw: I want to see how this change got lost.

Shipped in #34364
2026-02-02 15:43:33 -06:00
Jordan Montgomery
951552ea74
Add MDM Bug checklist (#39058)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38223

Retrospective action item from a prior sprint. Do we want to link this
somewhere like the bug template or is it enough to share it with our
customer-facing employees?

---------

Co-authored-by: Magnus Jensen <magnus@fleetdm.com>
2026-02-02 13:56:38 -05:00
Steven Palmesano
5df6a89b0a
Add Suppress iWork Upgrade Prompt (#39052) 2026-01-30 09:18:31 -05:00
Dale Ribeiro
9b532c9936
Solutions folder script name cleanup (#38951) 2026-01-29 20:39:20 -05:00
Noah Talerman
4a2b6f7007
Supported host operating systems (#39026)
Fleet doesn't test Red Hat Enterprise Linux 10

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2026-01-29 17:27:58 -06:00
Steven Palmesano
b1ce6b9d41
Move Entity ID note above screenshot (#38952)
A customer just commented that it would be more relevant if this note
block for the Entity ID was above the screenshot, since it goes with the
preceding paragraph.

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2026-01-29 11:49:48 -06:00
Josh Roskos
a38ca21d2d
Add downloadCloudflareWARP.ps1 (#38933)
Created for `customer-calabria`. Installs Cloudflare WARP and adds
variables for common organization configuration options.
```
# Define variables
$downloadUrl = "https://downloads.cloudflareclient.com/v1/download/windows/ga"
$tempDir = $env:TEMP
$installerPath = Join-Path $tempDir "Cloudflare_WARP.msi"
$organization = "your-team-name"   # Replace with your Cloudflare Zero Trust organization name
$serviceMode = "1dot1"             # Gateway with DoH mode (options: warp, 1dot1, proxy, postureonly, tunnelonly)
$autoConnect = 2                   # Auto-reconnect after N minutes (0 = indefinite off, 1-1440 = minutes)
$displayName = "display-name"      # Organization display name in WARP GUI
$onboarding = $false               # Show privacy policy screens on first launch
$switchLocked = $true              # Prevent users from manually disabling WARP
```
2026-01-28 15:25:40 -05:00
Marko Lisica
009f019307
Update Android MDM documentation with localhost note (#38840) 2026-01-28 13:50:53 -06:00
Victor Lyuboslavsky
bed1b5763c
Added Go style guide with an exception for package names. (#38888)
From Jan 27, 2026 Backend sync.
2026-01-27 16:31:43 -06:00
Steven Palmesano
6a0471c120
Keep Entity ID consistent (#37936)
Users run into issues when trying to configure SSO, because we use
Entity ID three different ways in our docs.
2026-01-27 16:12:23 -06:00
Steven Palmesano
97d8ba4e23
Remove extraneous setup_experience (#38799) 2026-01-27 16:11:16 -06:00
Marko Lisica
b8c342d5c0
Explain what is enrollment ID for personal hosts (#38829) 2026-01-27 16:10:42 -06:00
Noah Talerman
658926aacc
GitOps reference (#38862)
- Ran into this when dogfooding
2026-01-27 16:09:26 -06:00
Victor Lyuboslavsky
83624c0b57
ADR-0008: Migrate from go-kit/log to slog (#38751) 2026-01-26 15:50:31 -06:00
Victor Lyuboslavsky
9702bf2928
Updated modular monolith architecture README with the patterns uncovered so far (#38533) 2026-01-26 15:25:55 -06:00
Noah Talerman
0c3293dd3c
API reference: Human friendly docs for API endpoints that take multipart/form-data (#37674)
- During Product office hours on 2025-12-23, we learned that no one on
the call knew what the current request body format was for API endpoints
that take `multipart/form-data`
- We think the updated format is more friendly for humans who are using
curl/Postman
- We later learned that this the current format is the raw request
(formatted by a browser or curl command)
- Also update "form" to "body" in the "Parameters" table. We learned
that the form data is actually part the body. Postman's UI shows this.
2026-01-26 15:22:24 -05:00
Marko Lisica
560a4ee14d
Update Android version requirement to 14 (#38712)
We officially support the last two major versions. The latest version is
Android 16, and the most recent stable version was released six months
ago.
2026-01-26 11:54:03 -06:00
kitzy
501f72e02e
Pin MySQL and Redis images in docker-compose.yml (#38759) 2026-01-25 14:09:30 -08:00
Katheryn Satterlee
37fec8d655
Update query for Fleet osquery policy (#38456)
The policy currently returns a value in both a good and bad state.
Updated to use `SELECT 1`
2026-01-25 16:04:07 -05:00
Katheryn Satterlee
0b6d7149ee
Upload Import IdP users Tines workflow (#38701)
Co-authored-by: Dale Ribeiro <dale@fleetdm.com>
2026-01-23 12:03:30 -06:00
Noah Talerman
30674b6094
Fleet server configuration: Remove apple_scep_signer_allow_renewal_days (#38538)
- This config doesn't exist
2026-01-21 17:37:15 -05:00
melpike
2ecec2b0aa
Clarify instructions for API-only user creation (#38387)
Rephrase instructions for creating API-only users for clarity.

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

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2026-01-21 15:19:06 -06:00
Steven Palmesano
897787b1ac
Add link to our issue for SCIM support (#38460)
Re: https://fleetdm.slack.com/archives/C07MYE3KKPX/p1768331054297279
2026-01-21 15:17:33 -06:00
Jonathan Katz
902b5a5d6a
Contributor API docs update (#38517)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #37264 
Adds a fleet maintained app example with the new `slug` field in the
response for `/software/batch/:request_uuid` from #38497
See the PR above for an explanation on why this was added.

---------

Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
2026-01-20 14:57:15 -05:00
Martin Angers
9db733a5dc
Clarify when the browser field is included, along with the extension_for field (#38494)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #31519
2026-01-19 16:08:25 -06:00
Noah Talerman
c1e2b637f9
API and YAML reference: Add missing interval field for policy automations (#38382)
How we learned we were missing these:
https://github.com/fleetdm/fleet/pull/38325#discussion_r2691714596

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
2026-01-16 15:19:21 -06:00
Jordan Montgomery
7943fb5666
Update MDM instructions in design QA considerations (#38371)
Clarified MDM design considerations for testing Android, Windows, and
Apple MDM to make us think about turning off all MDMs (ref #38369)
2026-01-15 09:54:02 -06:00
Martin Angers
6879afdbfb
Fix activity docs via code generation (#38340) 2026-01-14 16:37:46 -06:00
Rachael Shaw
bcf5ebd019
Preview of v4.79.0 doc changes (#35930)
This PR will remain in draft as a preview of upcoming documentation
changes for 4.79.0

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
Co-authored-by: Magnus Jensen <magnus@fleetdm.com>
Co-authored-by: Ian Littman <iansltx@gmail.com>
Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
Co-authored-by: melpike <79950145+melpike@users.noreply.github.com>
Co-authored-by: Steven Palmesano <3100993+spalmesano0@users.noreply.github.com>
Co-authored-by: Carlo <1778532+cdcme@users.noreply.github.com>
2026-01-14 14:47:06 -06:00
jacobshandling
bbef36a0b7
Compute, ingest, persist, and serve .app bundle executable hashes and paths (#38118) 2026-01-14 09:18:35 -08:00
Dale Ribeiro
ae7cfeb754
Fix typo in MDM Migration section of README (#38258) 2026-01-13 18:11:55 -06:00
Ian Littman
ba0d13f5ee
Update VPP guide to mention custom apps (#38019)
Guide for #32461.

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2026-01-13 16:46:58 -06:00
Noah Talerman
9df18acc79
YAML reference: Some macos_setup keys are cross-platform (#37680)
- Document which keys are supported on which platforms.
- Separate feature request to come up with a cross-platform name for
`macos_setup` is here: https://github.com/fleetdm/fleet/issues/33059
2026-01-13 15:39:31 -06:00
Konstantin Sykulev
b728d7a075
Adjusted certificate rest api docs with more details about auth header (#38134)
**Related issue:** #35198

Making the docs clearly specify what node key and bearer do to the api
responses.
2026-01-12 15:45:22 -06:00
Noah Talerman
e132c758a8
API reference: Cleanup (#38190)
- Acronym was mentioned twice
2026-01-12 14:48:25 -06:00
Scott Gress
3907243881
Rename auto-update keys (#38100)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** For #33391

## Testing

- [X] Added/updated automated tests
there's a number of tests for this, if they still pass we're in good
shape
- [X] QA'd all new/changed functionality manually
I tested the front-end successfully, and saw an auto-update go through
on an ipad. Also verified that the activity metadata is correct.
2026-01-12 11:08:26 -06:00
Victor Lyuboslavsky
e67a415c2b
Moving Android certificates docs. (#37622)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #37580
2026-01-09 09:27:44 -06:00
kitzy
4ab5874e25
Document service provider metadata for SSO (#37457)
Added section on service provider metadata for SSO configuration.

Resolves [#12947](https://github.com/fleetdm/confidential/issues/12947)

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2026-01-08 11:19:04 -06:00
Rachael Shaw
ca2fa91477
API docs: Fix parameter type (#37956)
Looks like a copy/paste issue we never caught
2026-01-06 17:35:19 -06:00
Rachael Shaw
091c8bbbd3
API docs: Typo fix (#37954)
Additional query parameters use `&` instead of `?`
2026-01-06 17:02:10 -06:00
Noah Talerman
5b41bb4c53
API reference: GET /commands default page length and sort (#37899)
These undocumented defaults cause confusion:
https://github.com/fleetdm/fleet/issues/32785#issuecomment-3715226225
2026-01-06 11:14:31 -06:00
Scott Gress
e35684268d
Add auto-update schedule to software activity updates (#37715)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #35458

# Details

This PR adds new metadata to the `ActivityEditedAppStoreApp` activity
relating to the app's auto-update schedule. The data will be included
with every `ActivityEditedAppStoreApp` activity regardless of whether
the values changed. I have an open question about this on the [activity
docs
PR](https://github.com/fleetdm/fleet/pull/36534/changes#r2648884183).

One functional change to note here is that the act of recording the
activity has been moved up a level into the endpoint code, because the
activity now contains metadata from two different service methods (one
that updates the VPP app, and one that creates the auto-update
schedule).

# 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] Added/updated automated tests
- [X] QA'd all new/changed functionality manually
2026-01-06 10:52:26 -06:00