Commit graph

1425 commits

Author SHA1 Message Date
Dan Gordon
33f0d8454a
Post whitepaper IT leader's guide to Linux device management AND fix whitepaper form hardcode. (#43780)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves
#https://github.com/fleetdm/confidential/issues/14837
**Related issue:** Resolves
#https://github.com/fleetdm/confidential/issues/14839


Commit 1 - fixes the basic-whitepaper.ejs page so that the LP form
headline is not hard coded to GitOps anymore.
Commit 2 - posts the whitepaper and sets up the LP page 


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

## Summary by CodeRabbit

* **Updates**
  * Form headline on whitepaper download page is now customizable.
  * Enhanced email submission feedback handling during download process.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-20 12:07:06 -05:00
Dan Gordon
ce3fd02b77
Post Linux business case article (#43701)
Post Linux series article on the business case for Linux device
management. This is another chapter written for the eBook that I'm
extracting to a blog post.
2026-04-17 09:43:21 -05:00
Dan Gordon
9bbd929b09
Post Linux DM article: How to define your Linux device management needs (#43694)
Post Linux DM article: "How to define your Linux device management
needs".
Added as early chapter in IT Leader's Guide to Linux Device Management
eBook.
2026-04-17 09:33:21 -05:00
Dan Gordon
0c26021d29
Fix title capitalization in second place (#43706)
Fix the title capitalization in the meta information too. Oops.
2026-04-17 09:32:36 -05:00
Dan Gordon
b815310740
Fix capitalization in article title (#43703)
Fix capitalization in article title
2026-04-17 08:51:06 -05:00
Dan Gordon
378fc322cb
Add Kitzy AI+GitOps article from her blog (#43693)
Post Kitzy article from her blog on AI+GitOps for device management.

Original discussion at
https://fleetdm.slack.com/archives/C01ALP02RB5/p1776348729370599?thread_ts=1776347066.248069&cid=C01ALP02RB5
2026-04-17 07:50:33 -05:00
Dan Gordon
e55ad5a044
Add 9 problems article (#43690) 2026-04-16 19:47:34 -05:00
Noah Talerman
1e969d460c
Roadmap preview: April 2026 (#43472)
DONE: @noahtalerman:
- ~~Record video~~
- ~~Video is here:
https://drive.google.com/file/d/1AM3zExMHOE3-xCkAbYKUxsViI8vBeyX1/view?usp=sharing~~
- ~~Once video is posted to YouTube, embed the video. Filed a
`:help-marketing` request to get help putting the video on YouTube:
https://github.com/fleetdm/confidential/issues/13908~~

@noahtalerman: For the following issues:
- https://github.com/fleetdm/fleet/issues/43023

---------

Co-authored-by: Irena Reedy <irena@fleetdm.com>
2026-04-16 17:37:02 -04:00
Rachael Shaw
c783ac75b5
Simplify explanation of fleet-level user permissions (#43676) 2026-04-16 11:53:56 -05:00
Rachael Shaw
b51cd89ecd
Permissions: Fix stray reference to "queries" (#43674) 2026-04-16 11:14:46 -05:00
Adam Baali
5a660613db
Add and document fallback script for wiping Windows devices (#42230)
Add fallback wipe script for Windows hosts (#34994)

When Fleet's built-in Windows wipe action fails (MDM command returns
status 500, device not wiped), there is no documented fallback. This PR
adds a script that can be run via Fleet to wipe the device when the
native wipe fails.

## Changes

- `docs/solutions/windows/scripts/wipe-windows-device.ps1` - Fallback
wipe script
- `articles/lock-wipe-hosts.md` - Reference to fallback script added
under Windows wipe section

## What the script does

1. Validates and repairs WinRE if disabled (confirmed root cause of wipe
failures in #34994)
2. Checks Component Store integrity via DISM
3. Suspends BitLocker for one reboot cycle
4. Triggers wipe via WMI-to-CSP bridge (`doWipeProtected`, falls back to
`doWipe`), bypassing the MDM command queue

Fully unattended. No user interaction required. Exits 0 on success, 1 on
failure.

## Context

Every fully unattended Windows wipe method uses the same RemoteWipe CSP.
There is no alternative Windows API. This script adds value by fixing
the root causes before calling the wipe, and by bypassing the MDM
command queue where server-side failures (DB timeouts, auth errors) can
occur.

Closes #34994

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

* **New Features**
* Added an administrator-only Windows device wipe utility that performs
staged system checks (recovery environment, system health, and disk
protection), attempts to suspend drive protection for a reboot, invokes
multiple local wipe triggers with fallbacks, creates a timestamped audit
log of actions, and provides clear success/failure summaries with likely
causes and suggested next steps.
<!-- 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: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: CodeRabbit <noreply@coderabbit.ai>
2026-04-16 11:49:53 -04:00
Eric
be14f7c10d
Website: Add webinar article template page. (#43627)
Changes:
- Added support for a new article category: `webinar`.
- Added a template page for webinar articles.
- Added an additional route for webinar articles that users are taken to
to watch the webinar recording.
- Added `deliver-webinar-access-request`, an action that updates CRM
records when users fill out the form on the webinar template page.
- Updated the accepted `intentSignal` values in the
create-historical-event helper.
- Added an article for the "Beyond the hype, practical AI for device
management" webinar.

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

* **New Features**
* Public webinar pages (/webinars/:slug and /watch) with optional
embedded video and a new page template, script, and styles.
* Sidebar signup form (first name, last name, work email) with prefill
for signed-in users and improved scroll behavior.
* POST API to request webinar access: validates email domain, records a
webinar-request event, triggers background CRM sync, and returns a watch
view on success.
* Static-site build now recognizes webinar articles and enforces
embedded-video URL validation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-16 09:14:28 -05:00
Noah Talerman
1fe982a7ed
Move APNs instructions out of UI and into guides (#43434)
- @noahtalerman: For the following quick win:
  - https://github.com/fleetdm/fleet/issues/43435
2026-04-15 14:44:34 -05:00
johnjeremiah
94f2033bb4
Fixing a few typos in the Alternatives to jamf blog (#43436)
fixing a couple of typos on the blog
2026-04-15 09:19:07 -05:00
Victor Lyuboslavsky
41d8cf4741
Minor fixes for public Autopilot docs. (#43399) 2026-04-14 14:33:19 -05:00
Noah Talerman
64f1351c4d
Revise section headers in enroll-hosts.md (#43257)
Updated section headers for consistency with company direction:
https://docs.google.com/document/d/1aVZ_eAiUjq1pdltR5ckwcbOXKB0DMzmboWZlegqJXDk/edit?tab=t.0

This doc^ leads language in products, docs, etc.
2026-04-14 14:21:08 -05:00
Eric
b18195ba19
Website: Change two articles to use the comparison template (#43541)
Changes:
- Updated fleet-vs-jamf-vs-iru-kandji-mdm-comparison.md and
fleet-vs-jumpcloud-vs-workspace-one-comparison.md to use the comparison
article template.
- Updated the styles for mobile comparison tables

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

## Summary by CodeRabbit

* **Bug Fixes**
* Improved comparison table display on mobile devices by allowing table
labels to wrap properly instead of staying on a single line.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-14 12:12:34 -05:00
Adam Baali
4dd583d204
clarify certificate_authorities nesting in Okta Platform SSO guide (#43512)
Two fixes to the Deploying Platform SSO with Okta and Fleet guide:

1. Clarified that `certificate_authorities` is a top-level key under
   `org_settings` and not nested inside `integrations`. The guide's
   example snippet showed `integrations:` in isolation, making it easy
   to incorrectly nest `certificate_authorities` underneath it.

2. Added missing opening ```sql code fence in the Option 2 (Static SCEP
   challenge) section. The missing fence was causing a large unformatted
   block to break the article layout. Also removed a stray `);` at the
   end of the query which was invalid SQL and appeared to be a
   copy-paste artifact.
2026-04-14 17:46:28 +02:00
Dan Gordon
c836124d8c
Update table and table data on jamf vs fleet page (#43438)
Update data in table. Add color to cells.
2026-04-13 14:22:22 -05:00
Dan Gordon
ce00d9cac4
Post growthx comparison article (#43432)
fleet vs jumpcloud vs workspace one


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

## Summary by CodeRabbit

* **Chores**
* Reorganized the load sequence of client-side page scripts in the site
layout to align execution order.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-10 16:08:40 -05:00
GrowthX-Team
ff2a260af9
Alternatives to Jamf for multi-platform device management (#42337)
New Article by Team GrowthX

Date: 2026-04-10
2026-04-10 13:32:10 -07:00
Dan Gordon
9e208e7862
Post Jamf alternatives article (#43425)
Post Jam alternatives article from
https://docs.google.com/document/d/1TOf2iyR_iQOkVrd_ApFLd_RSaIQcFy59_92DNcj7GRI/edit?tab=t.0
2026-04-10 15:02:09 -05:00
Dan Gordon
c37a1a351a
Update role-based access control details (#43375)
Reduce details for Jamf on RBAC "yes" to match Fleet's simple "yes"
2026-04-10 15:01:19 -05:00
Mitch Francese
ef405aa4de
Add missing $FLEET_VAR_SCEP_RENEWAL_ID to Okta Platform SSO guide (#42847)
The SCEP profile for NDES certificate authority requires the
$FLEET_VAR_SCEP_RENEWAL_ID variable in the Subject OU field. Without
this, GitOps runs fail with an error about missing variables.

https://claude.ai/code/session_01DW2rrUmrxsTaD3t5J66Xz4

<!-- 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), JS
inline code is prevented especially for url redirects, and untrusted
data interpolated into shell scripts/commands is validated against shell
metacharacters.
- [ ] 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: Claude <noreply@anthropic.com>
2026-04-09 16:16:19 -04:00
Dan Gordon
b4d12e9850
Jamf vs fleet fixes from reviewers (#43366)
Made fixes to Jamf vs Fleet page based on reviewer feedback (Allen H):
- Don't focus on osquery in our answers
- Fix Fleet answer for Device scoping and targetting
- Remove "Premium plan" when we say yes to capabilities
- Update Android management answer
- Fix missing Oxford commas
2026-04-09 15:13:40 -05:00
kilo-code-bot[bot]
cff7036f1b
Remove six case studies from customers page and social proof handbook (#43352)
## Summary
- Removes six anonymous case studies that are no longer needed:
open-source-software-company, interactive-entertainment-company,
financial-technology-company, open-source-organization,
global-saas-company, and online-marketplace.
- Deletes the 6 article markdown files from `articles/`, which
automatically removes them from the dynamically-rendered customers page
(`fleetdm.com/customers`).
- Removes 7 references to these case studies from
`handbook/marketing/fleet-social-proof.md`.
- Removes 3 redirect routes from `website/config/routes.js` that pointed
to the now-deleted case studies.

## Changes
| File | Change |
|------|--------|
| `articles/financial-technology-company.md` | Deleted |
| `articles/global-saas-company.md` | Deleted |
| `articles/interactive-entertainment-company.md` | Deleted |
| `articles/online-marketplace.md` | Deleted |
| `articles/open-source-organization.md` | Deleted |
| `articles/open-source-software-company.md` | Deleted |
| `handbook/marketing/fleet-social-proof.md` | Removed 7 table rows
referencing the 6 case studies |
| `website/config/routes.js` | Removed 3 redirect rules for deleted case
studies |

---

Built for [Irena
Reedy](https://fleetdm.slack.com/archives/D0APYC9R9SL/p1775761161561979)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-04-09 14:14:22 -05:00
Ashish Kuthiala
d391db1287
update mike meyer title per his request (#43336)
updated title to Senior systems engineer & Technical lead

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2026-04-09 11:58:32 -05:00
Noah Talerman
a06415174e
Update certificate string placeholders in documentation (#43291)
OU instead of CN
2026-04-09 09:16:20 -04:00
Noah Talerman
5f71571348
Remove experimental feature warning from Android MDM setup (#43254)
- @noahtalerman: Customers are activating Android
2026-04-09 13:37:24 +02:00
kitzy
dbc9959c94
Revise deployment steps for Santa at Fleet (#43239)
Removed the section on deploying the Santa osquery extension manually,
as we now include that in Fleet by default.

Slack thread for context:
https://fleetdm.slack.com/archives/C08PCMKAFTP/p1775065630945889
2026-04-08 10:10:48 -05:00
Dale Ribeiro
d37745dfd7
Update setup experience documentation for bootstrap package (#41158)
Co-authored-by: Magnus Jensen <magnus@fleetdm.com>
2026-04-08 09:47:37 -04:00
Dan Gordon
630bb25448
Adjust to meet Fleet style and voice (#43201)
Made adjustments to fix violations of Fleet style, tone, and voice. Also
fixed a small version accuracy error.
2026-04-07 23:21:01 -05:00
kilo-code-bot[bot]
829227f7d5
Document retry attempts for different actions in Fleet (#43159) 2026-04-07 18:26:31 -04:00
Dale Ribeiro
64439dd8bf
Remove MDM migration reassignment warning (#43055)
Removed warning about MDM migration reassignment.
2026-04-07 18:01:22 -04:00
Marko Lisica
f7293042b3
Update X509 description for CA certificate (#43122)
I learned that it doesn't matter if the client certificate is signed by
a root CA certificate specified under `Certificates[0].X509` when `Type`
is `Authority`.

In the case of `customer-pingali`, they have a client certificate signed
by a different CA, which confused their IT team. They initially used the
root CA that signed the client certificate and assumed that the same
certificate also signed the server certificate.
2026-04-07 14:54:31 -04:00
Phillip Boushy
c33e6150df
Add note about server private key (#42865)
To deploy certificates, you must have a server private key setup or
GitOps errors with 'Error: applying certificate authorities: POST
/api/latest/fleet/spec/certificate_authorities received status 500
crypto/aes: invalid key size 0: crypto/aes: invalid key size 0'
2026-04-06 19:10:59 -04:00
Eric
b1ea2121da
Website: Add "About Fleet" section to case study article template page. (#43086)
Closes https://github.com/fleetdm/fleet/issues/41798


Changes:
- Added an "About Fleet" section to the case study article template
page.
- Removed the "About Fleet" sections from case study articles.



FYI @irenareedy: After this change is merged, you will not need to
include an "About Fleet" section on new case study articles.
2026-04-06 17:28:36 -05:00
GrowthX-Team
c9e42aacfe
Fleet vs. Jamf vs. Iru: How to Choose the Right MDM (#42166)
New Article by Team GrowthX

Date: 20-03-2026

cc @nonpunctual @irenareedy @johnjeremiah

---------

Co-authored-by: Dan Gordon <daniel@fleetdm.com>
Co-authored-by: Ashish Kuthiala <53918208+akuthiala@users.noreply.github.com>
2026-04-06 15:14:22 -05:00
Dan Gordon
3e37820b9f
Post article: Deploy fleet to Proxmox (#43058)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** RESOLVES  fleetdm/confidential#15231

Post a Guide on installing Fleet to Proxmox. Proxmox hypervisor as host.
2026-04-06 14:58:26 -05:00
Noah Talerman
6e6e9211f3
Simplify Zoom patch policy configuration (#43075)
Removed unnecessary description and resolution from Zoom patch policy
because it makes it look like you need to include these.
2026-04-06 14:31:14 -05:00
kilo-code-bot[bot]
0f87b1b4b4
Recovery Lock password guide (cherry-pick from #41677) (#42961)
## Summary

- Cherry-picks the changes from #41677 onto `main`.
- Adds the Recovery Lock password guide
(`articles/recovery-lock-password.md`) which documents how to set, view,
and rotate recovery lock passwords on Apple Silicon Macs with Fleet MDM.

**Original PR:** #41677

---

Built for [Rachael
Shaw](https://fleetdm.slack.com/archives/D0AFC5BRFHD/p1775223366494299)
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: Rachael Shaw <r@rachael.wtf>
2026-04-03 13:46:41 -05:00
Irena Reedy
773066f7fb
Create cloud-infrastructure-company.md (#42783) 2026-04-03 09:03:35 -05:00
Marko Lisica
49491a75bb
[Guide] Android EAP-TLS Wi-Fi configuration (#42324)
Guide explaining how to configure EAP-TLS Wi-Fi network on Android

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2026-04-03 14:43:35 +02:00
Eric
ab6ce39897
Update meta tags in defense-and-engineering-company.md (#42941)
Changes:
- Updated the cardTitleForCustomersPage meta tag value, and added a
cardBodyForCustomersPage meta tag in defense-and-engineering-company.md,
2026-04-02 18:12:20 -05:00
Ashish Kuthiala
db9649cc7a
Ak jamf update comparison (#42924)
updating comparison table

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2026-04-02 15:08:41 -05:00
Rachael Shaw
950402f93e
Update instances of "team" -> "fleet" introduced in 4.83 docs (#42863)
Missed checking the 4.83 docs branch for the word "teams"; a lot of the
doc PRs for 4.83 were merged before the rename.
2026-04-02 10:38:34 -05:00
kilo-code-bot[bot]
9983693e1d
Remove global social media platform case study page (#42828)
## Summary
- Deletes the case study page at
`/case-study/global-social-media-platform` by removing
`articles/global-social-media-platform.md`
- Removes the redirect route from `website/config/routes.js`
- Removes the reference from `handbook/marketing/fleet-social-proof.md`

Built for [Ashish
Kuthiala](https://fleetdm.slack.com/archives/D0AG9JQ53GA/p1775065386519169)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-04-01 12:54:20 -05:00
Noah Talerman
b563e7bd97
Release article: Fleet 4.83.0 (#42513) 2026-04-01 11:32:13 -05:00
Rachael Shaw
1ad8b03337
Preview of v4.83.0 doc changes (#39805)
This PR will remain in draft as a preview of upcoming documentation
changes for 4.83.0

---------

Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
Co-authored-by: Jordan Montgomery <elijah.jordan.montgomery@gmail.com>
Co-authored-by: melpike <79950145+melpike@users.noreply.github.com>
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
Co-authored-by: Victor Lyuboslavsky <2685025+getvictor@users.noreply.github.com>
Co-authored-by: Scott Gress <scottmgress@gmail.com>
Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
Co-authored-by: Jonathan Katz <44128041+jkatz01@users.noreply.github.com>
Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>
Co-authored-by: Carlo <1778532+cdcme@users.noreply.github.com>
2026-04-01 11:21:11 -05:00
kilo-code-bot[bot]
7329c89a24
Remove European financial services case study page (#42803)
## Summary

- Deletes the case study page at
`/case-study/european-financial-services` by removing
`articles/european-financial-services.md`.
- The case study was dynamically discovered by the build system via its
`category: "case study"` meta tag, so removing the markdown file fully
removes the page and its card on the `/customers` listing page. No other
files reference it.

---

Built for [Ashish
Kuthiala](https://fleetdm.slack.com/archives/D0AG9JQ53GA/p1775052553517879)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-04-01 09:18:14 -05:00