Commit Graph
26511 Commits
Author SHA1 Message Date
George Karr 8a65ecf20b Bound Android device reconciliation pagination loop (#49615) 2026-07-30 12:08:17 -05:00
fleet-releaseandallenhouchins d2946b7bd3 Update Fleet-maintained apps (#50229)
Automated ingestion of latest Fleet-maintained app data.

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

## Summary by CodeRabbit

* **Updates**
  * Updated Evernote for Windows to version 11.27.5.
  * Updated Granola for Windows to version 7.452.1.
  * Updated Postman for Windows to version 12.21.7.
  * Updated Trezor Suite for macOS to version 26.7.3.
* Refreshed installer links and verification checksums for each release.

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

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-07-30 11:53:17 -05:00
Juan Fernandez 7f4ae81dc9 Moved changes file
46227-luks-key-escrow-any-slot changes were added as a Fleet server
change, should be an orbit change.
2026-07-30 12:19:46 -04:00
Noah Talerman 3d3912554e Fix help text for Apple OS target form (#50221)
- Remove period because the "Learn more" link comes right after:
<img width="645" height="111" alt="Screenshot 2026-07-30 at 8 42 32 AM"
src="https://github.com/user-attachments/assets/1b5b45e6-0276-43bd-ba8b-99c1c293b71b"
/>
2026-07-30 08:59:32 -07:00
fleet-releaseandallenhouchins 5a45d781b7 Update Fleet-maintained apps (#50216)
Automated ingestion of latest Fleet-maintained app data.

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

## Summary by CodeRabbit

* **New Features**
* Added availability for the latest releases of numerous maintained
applications across Windows and macOS.
* Updated applications include Chrome, Firefox Nightly, Postman, Signal,
Notion, Podman Desktop, Draw.io, CMake, JDK/JRE, and many others.
* **Bug Fixes**
* Refreshed installer links, version detection, and package verification
data to ensure updates install and validate correctly.
* Updated app-specific installation handling where required for newer
releases.

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

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-07-30 10:58:30 -05:00
Allen Houchins 344e5aa5a2 Remove Dynalist macOS Fleet-maintained app (cask deleted from homebrew-cask) (#50215)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** NA — fixing a failing scheduled "Update
Fleet-maintained apps" run.

Removes the **macOS** Dynalist Fleet-maintained app. The Windows
(winget) FMA is unaffected and stays.

## Why

The `dynalist` cask was deleted from homebrew-cask on 2026-07-30
([commit
`adac21ffc4`](https://github.com/Homebrew/homebrew-cask/commit/adac21ffc401)),
completing Homebrew's full deprecation lifecycle:

- `deprecate!` 2024-07-29, `because: :unmaintained`
- `disable!` 2025-07-29
- cask file removed 2026-07-30

`https://formulae.brew.sh/api/cask/dynalist.json` now returns 404, so
the scheduled ingester panics:

```
{"level":"INFO","msg":"ingesting homebrew app","name":"Dynalist"}
panic: ingesting homebrew app: app not found in brew API
```

Marking the app `"frozen": true` does **not** fix this — the ingester
fetches the cask JSON before the frozen flag is consulted
(`cmd/maintained-apps/main.go`), so removal is the only fix for a dead
upstream cask.

## What changed

Deletions only (39 lines, no additions):

- `ee/maintained-apps/inputs/homebrew/dynalist.json` — deleted
- `ee/maintained-apps/outputs/dynalist/darwin.json` — deleted
- the `dynalist/darwin` entry in `ee/maintained-apps/outputs/apps.json`
— removed; `dynalist/windows` remains

## Deliberately kept

Because the Windows FMA still needs them:

- `ee/maintained-apps/outputs/dynalist/windows.json`,
`ee/maintained-apps/inputs/winget/dynalist.json`, and its
install/uninstall scripts
- `frontend/pages/SoftwarePage/components/icons/Dynalist.tsx` and its
`dynalist:` mapping in `icons/index.ts` — the map is keyed by lowercased
app name and is shared across platforms
- `website/assets/images/app-icon-dynalist-60x60@2x.png` — keyed by slug
token, still serving the Windows entry in the app library

## Note for reviewers

Hosts that currently have the macOS Dynalist FMA installed will lose the
maintained-app entry on the next sync. This matches the behavior of
prior FMA removals (Nocturnal #50050, Dell Display Manager #47420,
Messenger #46541).

# Checklist for submitter

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
Not applicable — consistent with prior FMA removal PRs, which do not add
a changes file.

## Testing

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

Verified that `ee/maintained-apps/outputs/apps.json` still parses as
valid JSON (1381 apps) and that `Dynalist` now resolves to only
`dynalist/windows`. Confirmed the 404 against the brew API and read the
pre-removal cask at `adac21ffc4~1` to establish the deprecation reason.
`git diff` confirms the change is deletions-only.
2026-07-30 10:31:18 -05:00
Nico dcefd13130 Stop leaking live query campaign existence via the websocket results stream (#50210)
# 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.

## Testing

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

* **Bug Fixes**
* Standardized websocket error responses when requested campaigns are
unavailable.
* Prevented campaign existence from being inferred through differing
error messages.
* Improved consistency for both nonexistent campaigns and campaigns
inaccessible to the current user.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-30 12:01:39 -03:00
Noah Talerman a1409c4784 Update Android MDM migration instructions (#50055)
Clarify migration steps for BYOD and company-owned Android hosts,
including unenrollment and QR code scanning.
2026-07-30 08:00:52 -07:00
RachelElysia 39cbfeda30 Fleet UI: Move Add-entity buttons out of table headers (#50102) 2026-07-30 07:17:55 -07:00
c83ecc2231 Match Windows software with version in name to FMA software title
Resolves #44406

Windows programs report a version in their name (e.g. `Granola
7.373.2`), so each version created its own `software_title` and never
linked to the Fleet-maintained app installer's title (`Granola`), hiding
the uninstall action. macOS handles this via `bundle_identifier`;
Windows had no join key.

- Give matching Windows programs the canonical FMA name at ingestion
(name-prefix match), so all versions collapse onto the title the
installer owns. `software.name` is unchanged.
- Merge already-mismatched versioned titles onto the canonical title in
`ReconcileMaintainedAppSoftwareNames` (runs on FMA sync; no migration
needed).

---------

Co-authored-by: Tim Lee <timlee@fleetdm.com>
Co-authored-by: Juan Fernandez <juan@fleetdm.com>
2026-07-30 09:49:52 -04:00
Eric 58642183c6 Website: update contact source for workshop requests (#50072)
Changes:
- Updated the contact source used for contacts created from workshop
requests

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

* **Bug Fixes**
* Workshop requests are now correctly identified as “Website - Workshop
request” in CRM records, improving source tracking and reporting.
* Workshop request contacts are treated as form-based, ensuring the most
recent campaign member status is set to **Registered**.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-30 08:13:01 -05:00
James Sorrenti f80d267ff3 Update link to Go-To-Market strategy document (#50164) 2026-07-30 14:10:44 +01:00
dependabot[bot] b81d277e11 Bump js-yaml from 4.2.0 to 4.3.0 in /tools/fleet-slackbot (#49956) 2026-07-30 07:57:08 -05:00
dependabot[bot] 902d3503bc Bump hono from 4.12.25 to 4.12.32 in /tools/fleet-slackbot (#49950) 2026-07-30 07:56:49 -05:00
dependabot[bot] c2d427006c Bump fast-uri from 3.1.2 to 3.1.4 in /tools/fleet-slackbot (#49948) 2026-07-30 07:56:28 -05:00
dependabot[bot] 04467c2683 Bump brace-expansion from 1.1.13 to 1.1.16 (#49908) 2026-07-30 07:56:10 -05:00
dependabot[bot] e14dcd759a Bump postcss from 8.5.10 to 8.5.18 (#49905) 2026-07-30 07:55:51 -05:00
dependabot[bot] 171c4d9de5 Bump fast-uri from 3.1.2 to 3.1.4 (#49801) 2026-07-30 07:55:28 -05:00
dependabot[bot] f34f4c6430 Bump immutable from 5.1.5 to 5.1.9 (#49800) 2026-07-30 07:55:03 -05:00
dependabot[bot] 2eccdea09b Bump js-yaml from 4.2.0 to 4.3.0 (#49799) 2026-07-30 07:51:18 -05:00
dependabot[bot] 0d0fa9cf91 Bump dompurify from 3.4.11 to 3.4.12 (#49798) 2026-07-30 07:50:58 -05:00
dependabot[bot] fe341cae29 Bump body-parser from 2.2.2 to 2.3.0 in /tools/fleet-slackbot (#49721) 2026-07-30 07:50:35 -05:00
dependabot[bot] edc95cf79b Bump axios from 1.16.1 to 1.18.1 in /tools/fleet-slackbot (#49601) 2026-07-30 07:49:10 -05:00
dependabot[bot] 2d3ecb59f3 Bump axios from 1.16.1 to 1.18.0 (#49600) 2026-07-30 07:48:33 -05:00
Magnus Jensen a1b35aeb23 fix icon text gap across product (#50209)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #48217 

This does update a couple of places, but I checked and it should only be
for Status indicators.
Figma spec with 4px rather than 8px:
https://www.figma.com/design/gxvU745LfOdkE9AuRg64wi/%F0%9F%A7%A9-Product-design-system?node-id=858-23&t=QwTqGmpK0V3inArL-0

<img width="1119" height="407" alt="image"
src="https://github.com/user-attachments/assets/8cae52d6-dbb9-4b8d-80d6-1a899790ad82"
/>


# 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), JS
inline code is prevented especially for url redirects, and untrusted
data interpolated into shell scripts/commands is validated against shell
metacharacters.
- [x] Timeouts are implemented and retries are limited to avoid infinite
loops
- [x] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes

## Testing

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

* **Bug Fixes**
* Reduced the spacing between icons and text for a more compact,
consistent layout across the product.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-30 14:21:08 +02:00
Eric c69bb929d1 Website: update fleet-leave-behind-deck.pdf (#50206)
Changes:
- Updated fleet-leave-behind-deck.pdf to fix an issue where the file was
not loading on Chrome.
2026-07-30 00:13:03 -05:00
fleet-releaseandallenhouchins d052e980b7 Update Fleet-maintained apps (#50199)
Automated ingestion of latest Fleet-maintained app data.

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

## Summary by CodeRabbit

* **Updates**
  * Updated AWS CLI for Windows to version 2.36.11.
  * Updated Windsurf for macOS to version 3.6.22.
  * Updated Gitify for macOS to version 7.2.0.
  * Updated GoLand for Windows to the 2026.2 release.
  * Updated Linear for macOS to version 1.32.0.
  * Updated Rancher Desktop for macOS to version 1.24.0.
  * Refreshed installer links and verification data for each release.

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

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-07-29 22:30:31 -05:00
Allen HouchinsandMike Thomas 7f07651f97 Add Hawx case study (#50152)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** N/A

# Checklist for submitter

This PR adds one markdown file under `articles/` (a customer case study)
— no product code, so most of the template below doesn't apply.

## What changed

Adds `articles/hawx.md`, a case study on Hawx Pest Control.

**The story:** Hawx is a technology-first pest control company whose
field technicians can't be dispatched without a provisioned phone.
Hiring ramps up hard every summer, so onboarding and offboarding run
constantly. With Jamf, phones sat on the MDM screen until the technician
logged in, nobody remembered their credentials, and the helpdesk got
flooded from personal phones every season. Identifying which device
belonged to which technician took 5 to 10 minutes per call, 5 to 10
calls a day. Hawx now drives Fleet entirely through the API, paired with
Tines and Okta, so a device lands in the right fleet with the correct
profiles, policies, and apps the moment the technician verifies their
identity. Offboarding wipes or locks based on role. Migration took a
month.

**Source:** the 2026-07-20 customer interview with Loren Farr, IT
Manager at Hawx. Loren confirmed on the call that Fleet may use the
company name and his name and title, and was told nothing publishes
without his approval.

**Format:** drafted against the proposed `fleet-case-study-formatting`
skill in #49917 and the `content-style` skill:

- Three-act narrative (the challenge → why Fleet → the solution → the
results), headings in sentence case.
- Four `attribution-quote` divs spaced through the narrative rather than
clustered.
- A `checklist` div for the headline results.
- Full endmatter including the build-enforced `summaryChallenge` /
`summarySolution` / `summaryKeyResults` (semicolon-separated) plus the
company and hero-quote tags.
- "About Hawx" lives in `companyInfo` / `companyInfoLineTwo` rather than
the body, matching every published case study.

## Why

Hawx is a strong story in a segment Fleet's published case studies don't
yet cover: iOS-only, a small IT team (3 people, ~500 devices), a
seasonal workforce, and an API-only usage pattern where the customer
never touches the Fleet UI. It's also a clean Jamf migration narrative
with a quantified helpdesk result.

## ⚠️ Blockers before this can be published

This is a **draft PR on purpose**. Two items must be resolved first:

1. **The quotes are not verbatim yet.** The interview record is bullet
notes, not a transcript, so the four quotes are faithful reconstructions
of what Loren described, not transcribed speech. The case-study skill's
rule is that quotes are verbatim and never reconstructed. **Loren needs
to approve these as his words before merge.** Reviewers should not treat
them as citable until he has.
2. **Both image assets are missing.** There is no Hawx logo and no Loren
Farr headshot in `website/assets/images/`. `companyLogoFilename` and
`quoteAuthorImageFilename` are deliberately stubbed with `TODO-`
prefixes so the website build fails loudly rather than shipping broken
image references. Real files are needed following the
`{descriptor}-{css-width}x{css-height}@2x.{ext}` convention.

## Open questions for reviewers

- **The "more than 90%" figure was dropped.** An earlier draft said
credentials were forgotten in more than 90% of cases. That number isn't
in the interview notes (the notes say "nobody knew their username or
password"), so it's omitted. If Loren sourced it, it can go back in.
- **The warehoused-device problem is omitted.** The notes describe
devices offline more than 30 days needing a reset, currently a 30-minute
call, listed as a *current* problem. That would fit a "Looking ahead"
section if Fleet is the plan for it, but it doesn't belong in results as
an achieved outcome.
- **Hero quote choice.** `quoteContent` uses the "slam dunk ... control
over the phone itself" quote because it names the differentiator.
Loren's closer, "As long as you're not shy about getting into the code,
this is a fantastic platform," is arguably the more trustworthy line for
Fleet's audience. Easy swap if marketing prefers it.
- **Follow-up, not in this PR:** the pull quote could be added to
`handbook/company/testimonials.yml` for the `/customers` carousel. Left
alone since that file is curated by marketing.

- [ ] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`. — N/A, website content
only, not a product change

## Testing

- [ ] Added/updated automated tests — N/A, markdown content only
- [x] QA'd manually: cross-checked the structure, custom div syntax, and
required meta tags against the published case studies
(`articles/fastly.md`, `articles/primo.md`) and against the validation
logic in `website/scripts/build-static-content.js`; confirmed
`summaryKeyResults` is semicolon-separated; confirmed `articleTitle`
matches the H1 exactly; grepped `website/assets/images/` and confirmed
both referenced image files are absent (hence the `TODO-` stubs).

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2026-07-30 11:03:23 +09:00
Mike Thomas bf95fda79e Website: update sales leave-behind deck (#50123)
**Related issue:** NA

# Checklist for submitter

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

---

Updates the leave-behind deck with revisions from design review:

* Updated headings on slide 2 to address pain sooner
* Moved "The world has evolved rapidly" heading to slide 3
* Incorporated platform icons into illustration graphic
2026-07-30 07:53:09 +09:00
fb06efcaac Website: redesign /support page with unified card grid and testimonial (#50132)
**Related issue:** Related to fleetdm/confidential#16762 (not a full
close — see Notes)

# Checklist for submitter

## Testing

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

## Summary
Redesigns fleetdm.com/support:
- Merges the previous "Ask the community" and "Support" sections into
one unified "How can we help?" section with a single 6-card grid
- Adds a new "Professional support" card linking to the SLA section of
the go-to-market-operations handbook page
- Adds a customer testimonial
- Consolidates responsive breakpoints (single-column switch and card
centering now both happen at 991px)
- Removes target="_blank" from the two cards linking to fleetdm.com
itself (Professional support, Ask us anything).

## Related
- fleetdm/confidential#16762

## Notes
This is a first iteration toward the broader vision in
https://github.com/fleetdm/confidential/issues/16762, discussed in
design review but intentionally deferred.


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

## Summary by CodeRabbit

* **New Features**
* Redesigned the Support page header into a single “How can we help?”
entry point.
* Added a Professional Support card linking to service-level agreement
details.
  * Introduced a customer quote section with author information.

* **Improvements**
* Refreshed support card design (cleaner layout, consistent spacing,
updated typography and link hover behavior).

* **Responsive**
* Improved the support card layout across breakpoints, including
3-column to 2-column to single-column grid behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: Eric <eashaw@sailsjs.com>
2026-07-29 17:18:19 -05:00
Lucas Manuel RodriguezandCopilot Autofix powered by AI a810f3b2c1 Add VEX exclusion for fleetctl (#50135)
Run: https://github.com/fleetdm/fleet/actions/runs/30451947297.

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

* **Security**
  * Added an OpenVEX document for **CVE-2026-56852**.
* Documented that the vulnerability is **not affected** for the
**fleetctl** product under the specified conditions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-07-29 18:50:54 -03:00
fleet-releaseandallenhouchins 66b47813fe Update Fleet-maintained apps (#50184)
Automated ingestion of latest Fleet-maintained app data.

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

## Summary by CodeRabbit

- **Updates**
  - Updated Krita for Windows to version 5.3.3.0.
  - Updated Loom for macOS and Windows to version 0.365.0.
  - Updated Vivaldi for Windows to version 8.1.4087.61.
- Refreshed installer links and verification data to support reliable
installation and version detection.

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

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-07-29 16:22:28 -05:00
fleet-releaseandallenhouchins 12ee3384e6 Update Fleet-maintained apps (#50172)
Automated ingestion of latest Fleet-maintained app data.

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

## Summary by CodeRabbit

* **Chores**
* Updated managed Zed app installers for macOS and Windows to version
1.13.1.
* Updated download links and integrity checks to match the new release.
* Improved version detection so outdated installations are correctly
identified.

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

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-07-29 15:22:15 -05:00
Eric bd419cd2de Website: update fallback talk to us meeting link (#50182)
Changes:
- Updated deliver-talk-to-us-form-submission to return a different
Salesforce user ID if territory information could not be found.

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

* **Bug Fixes**
* Updated the fallback “Talk to us” form submission contact-routing
behavior when territory information is unavailable or returns an
unexpected value, including changes to the default Calendly meeting link
and related warning messaging.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-29 15:10:51 -05:00
Eric f25b1ec58d Website: update territory routing for talk to us submissions (#50101)
https://github.com/fleetdm/confidential/issues/16947

Changes:
- Updated the get-territory-user-id helper to accept `website` and
`numberOfEmployees` inputs
- Updated the deliver-talk-to-us-form-submission action to send website
and number of employees to the get-territory-user-id helper, and updated
the `bookingUrlByUserId` dictionary.

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

## Summary by CodeRabbit

* **Bug Fixes**
* Improved territory routing for “Talk to us” submissions by using
employee count, city, and website details.
* Updated routing logic to direct submissions to the appropriate
Calendly booking link.
* Preserved existing validation and error handling for incomplete or
unexpected territory lookup results.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-29 13:48:08 -05:00
Noah Talerman 40bc83daa9 Add rachaelshaw (API design DRI) as auto reviewer for usage stasts (#50169)
- Context:
https://github.com/fleetdm/fleet/pull/49980#issuecomment-5121775909
2026-07-29 11:41:44 -07:00
Noah Talerman 75a08de124 Unpacking the why template (#50095)
- Product Designers instead of HPD
2026-07-29 11:41:07 -07:00
Allen Houchins 97e04257b9 Add risk scoring rubric and mitigation/approval requirements to risk management policy (#50170)
Adds the risk scoring rubric and mitigation/approval requirements to
Fleet's risk management policy in the handbook.

## What changed

Two new sections in `handbook/it/security.md`, between the risk
management policy and the existing risk corrective action timelines:

**Risk scoring rubric** — documents how risks in the risk register are
scored:
- Likelihood scale (1 Very unlikely → 5 Very likely)
- Impact scale (1 Very low impact → 5 Very high impact)
- Risk score = `likelihood × impact`, with level bands Low (1–6), Medium
(7–19), High (20–25)
- The full 5×5 matrix of every likelihood/impact combination

The matrix is built as a native markdown table rather than an embedded
screenshot, and each cell states its risk level in text ("20 (High)")
instead of relying on color alone, so it renders on fleetdm.com, stays
diffable, and is readable without color.

**Risk mitigation and approval** — documents when a risk requires
mitigation and who must approve accepting it instead:
- Low and Medium: mitigation not required (best effort, within the
corrective action timeline), no approval needed to accept
- High: mitigation required via a documented treatment plan, and
accepting it instead requires Head of Security and CIO approval
- Accepting a high risk needs a business justification, compensating
controls, and an expiration date no longer than one year, reviewed on or
before expiry
- Missing the corrective action timeline is treated as an accepted risk
and needs the same approval
- Rescoring a risk down requires the same approval as accepting it at
its original level

## Why

The rubric was previously only documented in our risk register tool, and
the policy didn't say what triggers mitigation or whose approval is
needed to accept a risk. Both are now in the handbook alongside the
corrective action timelines they interact with.

## Notes for reviewers

- The level bands are derived from the existing rubric's color
boundaries: Low tops out at 6, Medium covers 8–16, High starts at 20.
The band ranges are written as 1–6 / 7–19 / 20–25 to cover the gaps that
`likelihood × impact` can't produce.
- Only high risks gate on approval. Medium risks are treated the same as
low ones: mitigate on a best-effort basis within the existing 120-day
corrective action timeline, no approval required to accept. Approval
authorities follow the pattern already used elsewhere in this handbook
page (policy exceptions require Head of Security and CEO approval), with
the CIO as the second approver for high risks.
- The pre-existing "Acceptable Risk Levels" section is left as-is. It
says risks that are either low impact or low probability are generally
acceptable, which the rubric mostly agrees with, with the exception of
very high impact × unlikely (score 10, Medium). Happy to fold that
section into the rubric in a follow-up if reviewers prefer one source of
truth.

# Checklist for submitter

- [x] Handbook-only change. No code, tests, migrations, configuration
settings, or fleetd changes.
2026-07-29 13:30:53 -05:00
fleet-releaseandallenhouchins f3eb7ea3e7 Update Fleet-maintained apps (#50167)
Automated ingestion of latest Fleet-maintained app data.

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

## Summary by CodeRabbit

* **New Features**
* Updated maintained app releases for macOS and Windows, including
Adlock, Another Redis Desktop Manager, BetterTouchTool, BoltAI,
CodexBar, Egnyte, Firefox Developer Edition, Mimestream, Superwhisper,
and TeamViewer.
* Updated installation downloads and version detection for each new
release.
  * Refreshed package integrity checks to support the latest installers.

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

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-07-29 13:21:03 -05:00
melpikeandNoah Talerman 4c32e72409 Update product-groups.md (#50091)
Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2026-07-29 11:17:02 -07:00
LeAnn 460de7ca9c Update routes.js (#50010)
Add two new UI routes for Android host vitals tooltips

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


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

## Summary by CodeRabbit

* **New Features**
* Added convenient links for learning more about device security posture
and software update status.
* These links redirect to the relevant Google Android Management API
reference documentation.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-29 11:06:51 -07:00
fleet-releaseandallenhouchins c25f37abd6 Update Fleet-maintained apps (#50156)
Automated ingestion of latest Fleet-maintained app data.

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

## Summary by CodeRabbit

* **Updates**
* Updated maintained app releases for Gitify, JetBrains Toolbox,
Microsoft 365 Copilot, Spokenly, Tower, and Vivaldi.
* Refreshed installer links and verification checksums for the latest
versions across macOS and Windows.
* **Bug Fixes**
* Updated Pastebot’s macOS uninstall process to remove the app and
related user files while avoiding removal of additional system paths.

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

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-07-29 12:37:14 -05:00
daed574428 Update MDM commands documentation with usage details (#49657)
Added note about MDM command limitations and usage of fleetctl.

---------

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-07-29 11:23:29 -06:00
Gray WilliamsandLucas Manuel Rodriguez 43b8a27950 Update disk_space.yml (#50142)
Resolves #50058 where links do not show the expected text in the table
description


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

* **Documentation**
* Updated disk space table documentation to improve cross-referenced
links for Windows logical drives and Linux mounts by adjusting Markdown
formatting.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
2026-07-29 14:02:38 -03:00
Lucas Manuel Rodriguez 1397531199 Authorize packs before returning them in query responses (#50148)
- [X] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.

## Testing

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

* **Bug Fixes**
* Query responses now include pack details only when the requester has
permission to view them.
* Prevented pack metadata from being disclosed across fleets when query
names overlap.
* Corrected target selection labels and empty-state messaging for
fleet-based targets.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-29 13:35:47 -03:00
ddf3e96fa9 Update Fleet-maintained apps (#50150)
Automated ingestion of latest Fleet-maintained app data.

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

* **New Versions**
* Updated release metadata and installer details for AnyBurn,
BetterDisplay, Blender, ChatGPT, ChatWise, CLion, DataGrip, Dataspell,
Draw.io Desktop, Elgato Camera Hub, Firefox, Firefox Nightly, GIMP,
GoLand, IntelliJ IDEA (and variants), Keka, Kitty, LibreOffice,
MacPacker, MuseScore, Nudge, OBS, PhpStorm, PyCharm (CE), Rider,
RubyMine, RustRover, Spyder, Typinator, Visual Studio Code, VLC,
WebStorm, Wispr Flow, XLD, and others.
  * Refreshed app version detection and package checksums accordingly.

* **Bug Fixes**
* Improved uninstall reliability on macOS and Windows by removing
unintended extra cleanup actions while keeping application and user-data
removal.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
Co-authored-by: Allen Houchins <allenhouchins@mac.com>
2026-07-29 10:55:36 -05:00
DanFashauer 54b32ddf88 Fix typo in LinkedIn tracking workflow section (#50151)
Fixed spelling on LinkedIn posting.

<!-- 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.
- [ ] Timeouts are implemented and retries are limited to avoid infinite
loops
- [ ] 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))
2026-07-29 09:51:55 -05:00
Harrison RavazzoloandAllen Houchins b7654a55a0 Custom windows update article (#49961)
Co-authored-by: Allen Houchins <allenhouchins@mac.com>
2026-07-29 09:48:55 -05:00
fleet-releaseandallenhouchins f67d9a5b3c Update Fleet-maintained apps (#50138)
Automated ingestion of latest Fleet-maintained app data.

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

## Summary by CodeRabbit

* **New Features**
* Added support for the latest versions of AnyBurn, BetterZip, Canva,
Eclipse Temurin, ExifCleaner, Gemini, LibreOffice, NordVPN, Postman,
TablePlus, Tailscale, and other maintained applications across Windows
and macOS.
* **Bug Fixes**
* Improved macOS uninstall cleanup for numerous applications by removing
additional caches, preferences, recent-document entries, containers,
support files, and related data.
* Updated installer downloads and verification checks to match the
latest releases.


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

---------

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-07-29 09:35:04 -05:00
Victor Lyuboslavsky 40b901c842 Fix broken gitops-auto-complete build. (#50081)
The gitops-auto-complete uses `replace github.com/fleetdm/fleet/v4 =>
../..` which means it is frequently broken whenever fleet updates shared
libraries.

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

## Summary by CodeRabbit

* **Chores**
* Added automated build and dependency verification for the GitOps
auto-complete tool.
* Updated workflow triggers so changes to the tool are checked
automatically.
  * Refreshed supporting service dependencies used by the tool.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-29 09:32:19 -05:00