Commit graph

241 commits

Author SHA1 Message Date
Eric
b96742105e
Website: Update logo carousel and testimonials, clean up unused assets (#44417)
Related to https://github.com/fleetdm/confidential/issues/15609

Changes:
- Updated the logo carousel component
- Updated testimonials
- Removed unused images in the website's assets folder
- Updated the quote on the open position template page
- Removed the unused personalized quote on the device management page.
- Updated the quotes on the contact page
2026-04-29 12:56:07 -05:00
Eric
7f6c2e908e
Website: update build-static-content script to be compatible with Node versions under 20 (#43930)
Changes:
- Updated the `URL.parse` in build-static-content to be
`require('URL').parse()`

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

* **Bug Fixes**
* Improved webinar video URL parsing for greater reliability. Existing
behavior remains: parse failures still produce errors and video links
containing query strings are rejected.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-21 17:31:30 -05: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
Eric
bbaabd782c
Website: bring back support for markdown ((bubbles)) (#43189)
Related to: https://github.com/fleetdm/fleet/issues/42738

Changes:
- Uncommented and updated the code that replaces text content in double
parentheses with `<bubble>` elements in build-static-content to not
replace content inside of `<code>` elements
- Created a `<bubble>` component based on the ((bubbles)) in the
Sails.js docs.
2026-04-08 10:56:59 -05:00
Luke Heath
b6c0fd0d5d
Add data point to engineering KPI script (#42903) 2026-04-03 17:07:44 -05:00
Eric
428ab3e83a
Website: add script to delete older HistoricalUsageSnapshot records (#42529)
Changes:
- Added a new script to the website: `cleanup-old-usage-statistics`, a
script that deletes `HistoricalUsageSnapshot` records stored in the
website's database that are older than 60 days.
2026-03-26 18:03:40 -05:00
Eric
24601a0a0f
Website: update comparison template (#42423)
Closes: https://github.com/fleetdm/confidential/issues/14799

Changes:
- Updated the comparison page template to have a hardcoded subtitle and
removed the requirement for a `articleSubtitle` meta tag for comparison
articles
- Added two calls to action to the comparison page template.
2026-03-25 17:18:51 -05:00
Eric
f19cc81772
Website: automatically add case study links to the /customers page (#42088)
Closes: https://github.com/fleetdm/fleet/issues/41799 

Changes:
- Added support for a new required meta tag for anonymous case study
articles: `cardTitleForCustomersPage`. The value of this meta tag is
used as the title of the automatically generated card link for the
article on the /customers page.
- Added support for a new meta tag for anonymous case study articles:
`cardBodyForCustomersPage`. If provided, the card link for the article
will use this value for the body text, if not provided, the card link
will display the `articleTitle` meta tag value.
- Updated the /customers page to automatically create card links for
case study articles that have `useBasicArticleTemplate` and
`cardTitleForCustomersPage` meta tags.
2026-03-19 13:19:22 -05:00
Eric
ba07f1117a
Website: Update vanta integration script (#41803)
Closes: https://github.com/fleetdm/confidential/issues/14218

Changes:
- Updated the vanta integration script to only send information about
hosts on a specific team when it is run for a customer.
2026-03-16 17:24:32 -05:00
Eric
14a64cc10b
Website: Revert email regex change (#41407)
Changes:
- Reverted the change in build-static-content from
https://github.com/fleetdm/fleet/pull/41348
2026-03-12 13:29:00 -05:00
Eric
46bc7dc880
Website: add whitepaper article template page (#41405)
Changes:
- Updated `build-static-content` to support a new article category:
`whitepaper`
- Added a new article template page: `basic-whitepaper.ejs`.
- Added `deliver-whitepaper-download-request`, an action that
creates/updates a contact and account in the CRM and creates a
historical event when a user submits a form to download a whitepaper.
- Updated the "News" link in the website's header navigation to be
"Resources / Blog", and changed the link to /articles
- Added a link to the whitepapers category page (/whitepapers) to the
side bar navigation on article category pages
- Added a whitepaper article: "Modern endpoint management: Managing
devices as code"
2026-03-11 12:37:23 -05:00
Eric
fc5f249fd3
Website: Update @fleetdm.com email check in build-static-content script (#41348)
Changes:
- Updated the `@fleetdm.com` email address check in the
build-static-content to exclude support@
2026-03-10 10:49:42 -05:00
Eric
b7abab942c
Website: Update trial usage script (#41023)
Changes:
- Updated the script that reports Render trial information to use
`sails.helpers.flow.simultaneouslyForEach` to improve the speed of the
script.
2026-03-04 17:08:08 -06:00
Eric
9bb5c21f56
Website: Update logged warnings in trial usage script (#40995)
Changes:
- Updated the script that reports Render trial usage to handle errors
returned by the `updateOrCreateContactAndAccount` helper
2026-03-04 13:15:23 -06:00
Eric
68617804b2
Website: add script to report Render trial usage (#40830)
Closes: https://github.com/fleetdm/confidential/issues/13687

Changes:
- Added a new script: `send-trial-usage-information-to-crm`, A script
that reports the latest usage information for Render trial Fleet
instances created and assigned to users by the website.
- Updated the updateOrCreateContactAndAccount helper to accept a
`trialInstanceUsageDetails` input and set provided values on contact
records.
2026-03-03 12:10:28 -06:00
Eric
84b9027148
Website: update case study articles (#40567)
Closes: https://github.com/fleetdm/fleet/issues/40161
Closes: https://github.com/fleetdm/confidential/issues/14508

Changes:
- Added support for a new meta tag (`<meta
name="useBasicArticleTemplate" value="true">`) that will be used to
determine which template case study articles use.
- Updated the build-static-content script to not require
`summaryChallenge`, `summarySolution`, `summaryKeyResults`, and
`companyLogoFilename` meta tags for case study articles with a
`useBasicArticleTemplate` meta tag.
- Updated the view-case-study action to display case study articles with
a `useBasicArticleTemplate` meta tag on the basic-article template page

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2026-02-27 14:33:42 -06:00
Eric
bf0c275d0c
Website: Update Vanta script to exclude built-in macOS applications in device inventory (#40701)
Changes:
- Updated the send-data-to-vanta script to exclude built-in macOS
applications (besides XProtect) when reporting device inventory for a
Vanta Integration. This is done to reduce the size of the device
inventory request and allow for more macOS hosts to be reported to
Vanta.
2026-02-27 11:58:37 -06:00
Eric
ea5260e6e3
Website: Update how scripts and mdm commands are stored in the website's configuration. (#39997)
Changes:
- Updated the version of Sails.js used by the website
- Changed how scripts and MDM commands are stored in the website's JSON
configuration.
2026-02-19 11:26:29 -06:00
Eric
0e729604ed
Website: Update user record (#39664)
Changes:
- Added a new attribute to the user record:
`fleetPremiumTrialEmailSentAt` - A JS timestamp representing when a user
was sent an email about their Fleet Premium trial
- Updated the `deliver-expired-local-trial-emails` and
`manage-fleet-premium-trial-instances` scripts to set this value when
users are sent an email about their expired trial.
2026-02-16 14:22:22 -06:00
Eric
aef27d83c7
Website: show uninstall script on windows Fleet-maintained apps pages (#39658)
Closes: https://github.com/fleetdm/fleet/issues/37214

Changes:
- Updated the build-static-content script to not modify the uninstall
scripts for Windows Fleet-maintained apps when adding them to the
website's configuration
- Updated the Fleet-maintained apps template page to show uninstall
scripts for Windows apps.
2026-02-12 16:46:46 -06:00
Eric
1b2a699809
Website: Update platform names on table documentation pages (#39776)
Closes: https://github.com/fleetdm/fleet/issues/37021

Changes:
- Updated platform names shown on platform-specific columns on osquery
table documentation pages to have consistent capitalization and names.
2026-02-12 12:55:42 -06:00
Eric
b52b067ea2
Website: follow-up changes from website review session (#39200)
Changes:
- Updated the category for comparison articles (`compare` »
`comparison`)
- Updated article meta tag validation and how URLS of comparison
articles are built
- Updated the view action for comparison articles to set a meta title
and description
2026-02-02 17:46:35 -06:00
Allen Houchins
88ba973d66
Update team exclusion for Vanta connection (#39113)
Team ID 274 doesn't exist anymore. Our "Compliance exclusions" team was
also renamed "🧪 Testing & QA".
2026-02-02 10:42:27 -06:00
Luke Heath
dc4f3fb1c2
Extending KPI script timeout to 30 seconds (#38921) 2026-01-28 13:48:50 -06:00
Eric
e65035a5d9
Website: add comparison article template and comparison article (#38893)
Closes: https://github.com/fleetdm/confidential/issues/13291

Changes:
- Updated the `build-static-content` script to add support for a new
article category: `compare`
- Added a new template page for comparison articles
- Added a Fleet vs. Jamf comparison article

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2026-01-28 22:04:09 +09:00
Eric
fb751fcc63
Website: Only build documentation from specified folders (#38274)
Changes:
- Updated the build-static-content script to only build documentation
pages from the `docs/Get started/`, `docs/Deploy/`,
`docs/Configuration/`, and `docs/REST API/` folders
2026-01-13 15:57:52 -06:00
Eric
5219adb7b3
Website: update contact form for applications (#38125)
Changes:
- Updated the contact form to have a third form for job applications.
The form is only shown to users who visit the page with the `#apply`
hash.
- Added `deliver-application-submission` an action that sends
information from job application submissions to a zapier webhook.
- Updated the link to the contact form on the open positions template
page to link to /contact#apply
2026-01-12 11:01:02 -06:00
Luke Heath
14bb425a4e
Fix order in bug and pr report (#37588) 2025-12-22 10:21:31 -06:00
Eric
fa27fda724
Website: Add case study article template page and three articles (#37153)
Changes:
- Updated the website's build-static-content script to add support for a
new article category: `case study`.
- Added a new article template page for case study articles
- Added case study articles from Stripe, Faire, and Foursquare.

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2025-12-12 13:37:16 +09:00
Eric
ef355d5cd4
Website: add Fleet-maintained apps for Windows to /software-catalog (#36653)
Closes: https://github.com/fleetdm/fleet/issues/35983

Changes:
- Updated the Fleet website's `builtStaticContent.appLibrary`
configuration to include Fleet-maintained apps for Windows
- Added platform filters and Windows apps to the /software-catalog page
- Updated the URLs for Fleet maintained app detail pages to include the
app's platform, and added redirects for all changed URLs.
2025-12-04 12:02:05 -06:00
Eric
e81c25b867
Website: Add script to send emails for expired local Fleet Premium trials. (#36378)
Changes:
- Added a script that sends emails to users with a local Fleet Premium
trial that expired in the past 24 hours.
2025-11-28 11:42:24 -06:00
Eric
02586c5df9
Website: update logo carousel and open position template (#36214)
Closes: https://github.com/fleetdm/confidential/issues/13183
Closes: https://github.com/fleetdm/fleet/issues/33142


Changes:
- Updated the quote on the open position template page.
- Removed two logos from the logo carousel component.
2025-11-24 13:57:12 -06:00
Eric
7d224515d5
Website: Update Fleet Premium trial instances & website password requirements (#36173)
Changes:
- Updated the website's password requirements for new users to match the
password requirements for Fleet instances
- Updated the session duration on Fleet Premium trial instances to be
the length of the Fleet Premium trial.
2025-11-21 18:58:18 -06:00
Eric
4f78f44edd
Website: Increase MySQL service disk size for Render trial instances (#35586)
Closes: https://github.com/fleetdm/fleet/issues/35585

Changes:
- Increased the size of the disk attached to the MySQL service created
for Fleet Premium trial instances in Render. (1gb » 5gb)
2025-11-11 18:32:22 -06:00
Eric
e2e3b31c09
Website: add edit button to software pages (#35580)
Closes: https://github.com/fleetdm/confidential/issues/12276

Changes:
- updated the build-static-content script to add the line number of
software items in apps.json to the website's Fleet-maintained apps
configuration.
- Added an edit page button to software pages that links directly to the
app's location in the apps.json file on GitHub.
2025-11-11 17:56:00 -06:00
Eric
fef609ce13
Website: Update Fleet Premium trial management script (#35472)
Closes: #33798
Closes: #35223
Related to: https://github.com/fleetdm/fleet/issues/34618
Related to: https://github.com/fleetdm/fleet/issues/34611

Changes:
- Updated the `manage-fleet-premium-trial-instances` script to:
- Send a request to the Github API to trigger a workflow to create a DNS
and SES configuration for new Render trial instances, and send a request
to trigger a workflow to delete the DNS and SES configuration when trial
instances expire
- Use a new prompt to generate unique slugs for new Render trial
instances
   - Configure SES on new Fleet Premium trial instances
- Prefix licenses generated for Fleet Premium trial instances with
'Render-trial-`
2025-11-10 18:16:35 -06:00
Eric
8bb68bf938
Website: remove datatype bubble replacement in Markdown documentation (#35316)
Closes: https://github.com/fleetdm/fleet/issues/34935

Changes:
- Commented out the regex replace that replaces words in double
parentheses with data type spans.
2025-11-06 17:30:40 -06:00
Eric
f89b81ca7a
Website: Update Render instance management script. (#34871)
Changes:
- Updated the `manage-fleet-premium-trial-instances` script to use the
updated supported `status` values when looking for existing
`RenderProofOfValue` records, and updated the logs in the script.
2025-10-28 12:06:58 -05:00
Eric
f76a9976d8
Website: Update signup flow and Fleet Premium trial (#34820)
Changes:
- Updated the "Try it now" button on the website's header navigation, it
will now open a signup/login modal on every page (excluding the
dedicated /register and /login pages)
- Updated the website to assign Fleet Premium instances hosted on Render
to eligible users. All other users will be given a 30-day Fleet Premium
trial license key to use with their deployment method of choice.
- Added a script that creates and manages a pool of Render instances.
- Added a new database model: `RenderProofOfValue`
- Added four new email templates
- Updated primary button colors to match the core product.
- Removed the organization requirement for new users signing up.
- Added a new component: `<signup-modal>`
- Added a new attribute to the User model: `fleetPremiumTrialType`
2025-10-27 13:33:47 -05:00
Eric
abd558e511
Website: Add build script error for article images that don't match website naming conventions. (#33644)
Closes: #25943

Changes:
- Added two build script errors that are thrown if an article references
an image in the website/assets/images/ folder that does not match the
[website's image filename
conventions](https://fleetdm.com/handbook/company/communications#export-an-image-for-fleetdm-com)
- Renamed two images and removed two unused images
2025-10-01 13:14:01 +09:00
Eric
799ecca7bb
Website: Update automatic issues created for rituals (#33234)
Closes: https://github.com/fleetdm/fleet/issues/20792

Changes:
- Added support for the quarterly frequency for issues automatically
created for rituals
- Added support for templated auto-issue issue descriptions. Rituals
with an `issueDescription` value nested in the `autoIssue` object will
now use that value as the issue description when an issue for the ritual
is created.
2025-09-19 17:05:39 -05:00
Eric
048fcd13ed
Website: Add controls library pages (#33143)
Related to: https://github.com/fleetdm/confidential/issues/10737

Changes:
- Added `docs/scripts.yml`, a YAML file that contains a list of scripts
- Added `docs/mdm-commands.yml`, a YAML file that contains Windows and
Apple MDM commands
- Added `/mdm-commands`, a page that contains a list of MDM commands for
Windows and Apple commands
- Added `/scripts`, a page that contains a list of scripts
- Updated the `<docs-nav-and-search>` component to have a link to the
controls library, and reordered the lists.
- Updated the build static content script to add the scripts and mdm
commands from scripts.yml and mdm-commands.yml to the website's
`builtStaticContent` configuration.
- Updated the layout of the os-settings page to match the latest
wireframes
2025-09-19 12:02:55 -05:00
Noah Talerman
f576bd8863
Open roles builder: Fleet is series B (#32856) 2025-09-11 11:34:54 -07:00
Eric
cba94083c3
Website: Add primaryBuyingSituation migration script. (#31494)
Related to https://github.com/fleetdm/confidential/issues/11600

Changes:
- Added a script to update user records to only use the new
`primaryBuyingSituation` values added in
https://github.com/fleetdm/fleet/pull/31301
2025-08-01 17:07:27 -05:00
Eric
e3f173cc34
Website: Batch API requests to host details endpoints in Vanta script (#31422)
Related to: https://github.com/fleetdm/fleet/issues/30993

Changes:
- Updated the `send-data-to-vanta` script to limit the number of API
requests sent to host details endpoints at once.
2025-07-30 15:01:13 -05:00
Eric
20658b5657
Website: update compliance proxy script (#31181)
Changes:
- Updated the `send-entra-heartbeat-requests` script to send the correct
headers to the `PartnerTenantHeartbeat` endpoint for compliance partner
tenants.
- Fixed a typo in the `send-entra-heartbeat-requests` script
2025-07-23 11:29:03 -05:00
Mike McNeil
79aa09f3ba
Make sure we can easily respond to every applicant (#30705) 2025-07-09 16:42:41 -05:00
Eric
961e3e339a
Website: Update supported article categories (#30304)
Changes:

- Added `articles` to the list of supported article categories in the
build-static-content script.
- Added a route for articles in the articles category.
- Updated the `view-basic-article` action to support the new `articles`
category.
2025-06-24 20:19:57 -05:00
Eric
0f5cc22d61
Website: add fleetPremiumTrialLicenseKey user migration script. (#30125)
Changes:
- Added a script that sets a `fleetPremiumTrialLicenseKey` and
`fleetPremiumTrialLicenseKeyExpiresAt` values on all User records.
- Added a new email template to inform users that they have a new Fleet
premium trial available.
- Added the announcement banner to the /login, /register, and /try-fleet
pages.
2025-06-19 16:09:26 -05:00
Eric
13eeebe548
Website: Add Microsoft compliance proxy endpoints. (#27403)
Changes:
- Created a new database model: `MicrosoftComplianceTenant`. A model
that stores information about complaince tenants
- Added `/policies/is-cloud-customer`: a policy that blocks requests to
microsoft proxy endpoints if a `MS API KEY` header is missing or does
not match a new config variable
(`sails.custom.config.cloudCustomerCompliancePartnerSharedSecret`)
- Added `microsoft-proxy/create-compliance-partner-tenant`: an action
that creates a database record for a new compliance tenant and generates
an API key that is used to authenticate future requests to microsoft
proxy endpoints for an entra tenant.
- Added `microsoft-proxy/get-compliance-partner-settings`: an action
that returns information about Fleet's complaince partner entra
application and the entra tenant's admin consent status (whether or not
a tenant's entra admin has granted permissions to Fleet's compliance
partner application)
- Added `microsoft-proxy/get-tenants-admin-consent-status`: an action
that updates the admin consent status of a compliance tenant record.
- Added `microsoft-proxy/setup-compliance-partner-tenant`: an action
that provisions a compliance tenant, creates a complaince policy for
macOS devices assigns the created policy to the built-in "All users"
user group on the tenants entra instance.
- Added `microsoft-proxy/update-one-devices-compliance-status`: an
action that receives information about a device on a compliance tenant's
Fleet instance, sends that information to their Entra instance, and
returns the messsage ID returned by the asynchronus Entra API.
- Added `microsoft-proxy/get-one-compliance-status-result`: an action
that returns the result of a compliance status update from the Entra
API.
- Added `sails.helpers.microsoft-proxy.get-access-token-and-api-urls` A
helper that gets an access token for a tenant's entra instance and the
URLs of the API endpoints the microsoft proxy actions use for a tenant.
- Added `scripts/send-entra-heartbeat-requests` A script that will run
daily to keep all microsoft compliance integrations provisioned.
-

---------

Co-authored-by: Lucas Rodriguez <lucas@fleetdm.com>
2025-06-11 13:01:36 -05:00