diff --git a/website/api/controllers/landing-pages/view-jamf-alternative.js b/website/api/controllers/landing-pages/view-jamf-alternative.js new file mode 100644 index 0000000000..95dbc635fc --- /dev/null +++ b/website/api/controllers/landing-pages/view-jamf-alternative.js @@ -0,0 +1,27 @@ +module.exports = { + + + friendlyName: 'View jamf alternative', + + + description: 'Display "Jamf alternative" page.', + + + exits: { + + success: { + viewTemplatePath: 'pages/landing-pages/jamf-alternative' + } + + }, + + + fn: async function () { + + // Respond with view. + return {}; + + } + + +}; diff --git a/website/assets/images/icon-recycle-emoji-32x32@2x.png b/website/assets/images/icon-recycle-emoji-32x32@2x.png new file mode 100644 index 0000000000..2b053ab3de Binary files /dev/null and b/website/assets/images/icon-recycle-emoji-32x32@2x.png differ diff --git a/website/assets/images/icon-robot-arm-emoji-18x18@2x.png b/website/assets/images/icon-robot-arm-emoji-18x18@2x.png new file mode 100644 index 0000000000..48cd888858 Binary files /dev/null and b/website/assets/images/icon-robot-arm-emoji-18x18@2x.png differ diff --git a/website/assets/images/icon-robot-emoji-18x18@2x.png b/website/assets/images/icon-robot-emoji-18x18@2x.png new file mode 100644 index 0000000000..41c742664b Binary files /dev/null and b/website/assets/images/icon-robot-emoji-18x18@2x.png differ diff --git a/website/assets/images/icon-shield-emoji-18x18@2x.png b/website/assets/images/icon-shield-emoji-18x18@2x.png new file mode 100644 index 0000000000..8c6c34c0ed Binary files /dev/null and b/website/assets/images/icon-shield-emoji-18x18@2x.png differ diff --git a/website/assets/images/icon-speech-bubble-emoji-18x18@2x.png b/website/assets/images/icon-speech-bubble-emoji-18x18@2x.png new file mode 100644 index 0000000000..18aa5ac96c Binary files /dev/null and b/website/assets/images/icon-speech-bubble-emoji-18x18@2x.png differ diff --git a/website/assets/images/icon-target-emoji-32x32@2x.png b/website/assets/images/icon-target-emoji-32x32@2x.png new file mode 100644 index 0000000000..0bcf71e4e4 Binary files /dev/null and b/website/assets/images/icon-target-emoji-32x32@2x.png differ diff --git a/website/assets/images/icon-tools-emoji-32x32@2x.png b/website/assets/images/icon-tools-emoji-32x32@2x.png new file mode 100644 index 0000000000..a76b117d6d Binary files /dev/null and b/website/assets/images/icon-tools-emoji-32x32@2x.png differ diff --git a/website/assets/images/jamf-alternative-feature-image-524x591@2x.png b/website/assets/images/jamf-alternative-feature-image-524x591@2x.png new file mode 100644 index 0000000000..60e0992ba6 Binary files /dev/null and b/website/assets/images/jamf-alternative-feature-image-524x591@2x.png differ diff --git a/website/assets/images/social-proof-logo-ghost-86x32@2x.png b/website/assets/images/social-proof-logo-ghost-86x32@2x.png new file mode 100644 index 0000000000..22ab9c62cb Binary files /dev/null and b/website/assets/images/social-proof-logo-ghost-86x32@2x.png differ diff --git a/website/assets/js/pages/landing-pages/jamf-alternative.page.js b/website/assets/js/pages/landing-pages/jamf-alternative.page.js new file mode 100644 index 0000000000..12341537bd --- /dev/null +++ b/website/assets/js/pages/landing-pages/jamf-alternative.page.js @@ -0,0 +1,30 @@ +parasails.registerPage('jamf-alternative', { + // ╦╔╗╔╦╔╦╗╦╔═╗╦ ╔═╗╔╦╗╔═╗╔╦╗╔═╗ + // ║║║║║ ║ ║╠═╣║ ╚═╗ ║ ╠═╣ ║ ║╣ + // ╩╝╚╝╩ ╩ ╩╩ ╩╩═╝ ╚═╝ ╩ ╩ ╩ ╩ ╚═╝ + data: { + modal: '', + }, + + // ╦ ╦╔═╗╔═╗╔═╗╦ ╦╔═╗╦ ╔═╗ + // ║ ║╠╣ ║╣ ║ ╚╦╝║ ║ ║╣ + // ╩═╝╩╚ ╚═╝╚═╝ ╩ ╚═╝╩═╝╚═╝ + beforeMount: function() { + //… + }, + mounted: async function() { + //… + }, + + // ╦╔╗╔╔╦╗╔═╗╦═╗╔═╗╔═╗╔╦╗╦╔═╗╔╗╔╔═╗ + // ║║║║ ║ ║╣ ╠╦╝╠═╣║ ║ ║║ ║║║║╚═╗ + // ╩╝╚╝ ╩ ╚═╝╩╚═╩ ╩╚═╝ ╩ ╩╚═╝╝╚╝╚═╝ + methods: { + clickOpenVideoModal: function(modalName) { + this.modal = modalName; + }, + closeModal: function() { + this.modal = undefined; + }, + } +}); diff --git a/website/assets/styles/importer.less b/website/assets/styles/importer.less index 64f2f8d7e5..eb9d6bd855 100644 --- a/website/assets/styles/importer.less +++ b/website/assets/styles/importer.less @@ -105,4 +105,5 @@ @import 'pages/admin/reset-trial.less'; @import 'pages/landing-pages/linux-management.less'; @import 'pages/articles/basic-whitepaper.less'; +@import 'pages/landing-pages/jamf-alternative.less'; @import 'pages/partners.less'; diff --git a/website/assets/styles/pages/landing-pages/jamf-alternative.less b/website/assets/styles/pages/landing-pages/jamf-alternative.less new file mode 100644 index 0000000000..c5e40216e4 --- /dev/null +++ b/website/assets/styles/pages/landing-pages/jamf-alternative.less @@ -0,0 +1,955 @@ +#jamf-alternative { + // Line-heights: + @text-lineheight: 150%; + @heading-lineheight: 120%; + + + @section-gap-xl: 160px; + @section-gap-l: 120px; + @section-gap-m: 80px; + + @inner-gap-xl: 64px; + @inner-gap-l: 48px; + @inner-gap-m: 32px; + @inner-gap-s: 24px; + @inner-gap-xs: 16px; + @inner-gap-xxs: 8px; + + + + + h4 { + color: #515774; + text-align: center; + font-feature-settings: 'salt' on, 'ss01' on, 'ss02' on; + font-family: 'Roboto Mono'; + font-size: 16px; + font-style: normal; + font-weight: 400; + line-height: @text-lineheight; + text-transform: uppercase; + margin-bottom: 0px; + } + h2 { + color: #192147; + text-align: center; + + /* Heading/H2 */ + font-family: Inter; + font-size: 32px; + font-style: normal; + font-weight: 800; + line-height: @heading-lineheight; + margin-bottom: 0px; + } + + p { + margin-bottom: 0px; + } + + [purpose='landing-page-container'] { + padding: 64px; + display: flex; + flex-direction: column; + align-items: center; + gap: @section-gap-xl; + } + [purpose='landing-page-content'] { + max-width: 1072px; + width: 100%; + min-width: 0px; + display: flex; + flex-direction: column; + align-items: center; + gap: @section-gap-xl; + } + [purpose='page-hero'] { + display: flex; + flex-direction: column; + align-items: center; + gap: @inner-gap-m; + text-align: center; + width: 100%; + } + [purpose='hero-heading'] { + h1 { + color: #192147; + text-align: center; + + /* Heading/H1 */ + font-family: Inter; + font-size: 48px; + font-style: normal; + font-weight: 800; + line-height: @heading-lineheight; + margin-bottom: 0px; + } + } + [purpose='hero-logos'] { + margin-top: 88px; + max-width: 1072px; + width: 100%; + [parasails-component='logo-carousel'] { + margin-bottom: 0px; + } + } + [purpose='hero-content'] { + max-width: 582px; + } + [purpose='button-row'] { + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + gap: @inner-gap-s; + padding-top: 16px; + a { + font-weight: 700; + font-size: 14px; + line-height: @text-lineheight; + white-space: nowrap; + } + [purpose='cta-button'] { + cursor: pointer; + background: @core-vibrant-green; + border-radius: 8px; + padding: 8px 16px; + height: 36px; + display: flex; + justify-content: center; + align-items: center; + color: #FFF; + position: relative; + text-decoration: none; + overflow: hidden; + min-width: 140px; + } + [purpose='cta-button']::before { + background: linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%); + opacity: 1; + content: ' '; + position: absolute; + top: 0; + left: -5px; + width: 70%; + height: 100%; + transform: skew(-10deg); + transition: left 0.5s ease-in, opacity 0.50s ease-in, width 0.5s ease-in; + } + [purpose='cta-button']:hover:before { + opacity: 0; + left: 160px; + width: 110%; + } + [purpose='video-button'] { + display: flex; + flex-direction: row; + align-items: center; + cursor: pointer; + color: #192147; + img { + height: 32px; + margin-right: 8px; + } + span { + margin-left: 4px; + display: inline-block; + color: #8B8FA2; + font-size: 12px; + margin-top: 2px; + font-weight: 400; + } + } + } + + + [purpose='page-section'] { + display: flex; + flex-direction: column; + align-items: center; + gap: @inner-gap-xl; + min-width: 0px; + } + [purpose='section-title'] { + display: flex; + flex-direction: column; + align-items: center; + // gap: @inner-gap-s; + } + [purpose='section-intro'] { + max-width: 800px; + } + [purpose='section-heading'] { + text-align: center; + display: flex; + flex-direction: column; + align-items: center; + gap: @inner-gap-s; + } + + [purpose='feature-card-deck'], [purpose='feature-cards'] { + + display: flex; + align-items: flex-start; + align-content: flex-start; + gap: @inner-gap-s; + align-self: stretch; + flex-wrap: wrap; + + // justify-content: center; + } + + [purpose='feature-card'] { + display: flex; + align-self: stretch; + min-width: 288px; + max-width: 31%; + padding: 32px 32px; + flex-direction: column; + align-items: flex-start; + justify-content: space-between; + flex: 1 0 0; + border-radius: 16px; + border: 1px solid #E2E4EA; + gap: @inner-gap-s; + [purpose='card-title'] { + color: #192147; + + /* Title XS */ + font-family: Inter; + font-size: 16px; + font-style: normal; + font-weight: 700; + line-height: @heading-lineheight; + } + [purpose='card-body'] { + color: #515774; + + /* Body/SM */ + font-family: Inter; + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: 20px; /* 142.857% */ + align-self: stretch; + gap: 16px; + display: flex; + flex-direction: column; + } + [purpose='card-footer'] { + border-top: 1px solid #E2E4EA; + margin-top: 16px; + padding-top: 24px; + width: 100%; + justify-self: flex-end; + p { + margin-bottom: 0px; + color: #8B8FA2; + + /* Body/XS */ + font-family: Inter; + font-size: 12px; + font-style: normal; + font-weight: 400; + line-height: 18px; + } + [purpose='callout'] { + color: #009A7D; + + /* Body/Emphasis/MD */ + font-family: Inter; + font-size: 16px; + font-style: normal; + font-weight: 700; + line-height: @text-lineheight; + } + } + } + + [purpose='table-legend'] { + display: flex; + flex-direction: row; + gap: @inner-gap-xs; + align-items: center; + justify-content: center; + div { + display: flex; + flex-direction: row; + align-items: center; + gap: @inner-gap-xxs; + img { + height: 16px; + } + } + [purpose='tilde'] { + font-weight: 800; + } + } + [purpose='comparison-table-section'] { + width: 100%; + } + [purpose='comparison-table'] { + margin-top: 32px; + border-radius: 8px; + outline: 1px solid #E2E4EA; + thead { + background: #FFF; + border-bottom: 1px solid #E2E4EA; + th { + border-top: none; + color: #192147; + padding: 12px 24px; + + font-family: Inter; + font-size: 14px; + font-style: normal; + font-weight: 700; + line-height: @text-lineheight; + // border-right: 1px solid #E2E4EA; + &:last-of-type { + // border-right: none; + } + } + } + tbody { + tr { + border-bottom: 1px solid #E2E4EA; + &:last-of-type { + border-bottom: none; + } + &:nth-of-type(even) { + background: #F9FAFC; + } + td { + // height: 124px; + padding: 12px 24px; + align-items: flex-start; + align-self: stretch; + color: #515774; + /* Body XS (FKA p small) */ + font-family: Inter; + font-size: 12px; + font-style: normal; + font-weight: 400; + line-height: @text-lineheight; + img { + display: inline-block; + height: 16px; + } + [purpose='table-cell'] { + display: flex; + flex-direction: row; + align-items: center; + gap: 8px; + p { + margin-bottom: 0px; + } + } + [purpose='tilde'] { + font-weight: 800; + display: inline-block; + padding: 0 3px 0 4px; + justify-content: center; + align-items: center; + } + } + td:first-of-type { + color: #192147; + + + font-family: Inter; + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: @text-lineheight; + } + td:nth-of-type(2) { + border-left: none; + border-right: none; + } + + td:nth-of-type(4) { + border-left: 1px solid #E2E4EA; + } + } + } + } + [purpose='mobile-comparison-table'] { + display: none; + flex-direction: column; + gap: @inner-gap-xs; + [purpose='mobile-comparison'] { + display: flex; + flex-direction: column; + justify-content: center; + align-items: flex-start; + align-self: stretch; + border-radius: 8px; + outline: 1px solid #E2E4EA; + font-size: 14px; + color: #515774; + [purpose='product-name'] { + display: flex; + padding: 12px 24px; + align-items: center; + color: #515774; + + /* Body/Emphasis/SM */ + font-family: Inter; + font-size: 14px; + font-style: normal; + font-weight: 700; + line-height: @text-lineheight; + } + [purpose='capability'] { + display: flex; + padding: 12px 24px; + align-items: center; + align-self: stretch; + border-bottom: 1px solid #E2E4EA; + color: #515774; + + /* Body/Emphasis/SM */ + font-family: Inter; + font-size: 14px; + font-style: normal; + font-weight: 700; + line-height: @text-lineheight; + } + [purpose='fleet-row'] { + display: flex; + // padding: 12px 24px; + align-items: center; + align-self: stretch; + border-bottom: 1px solid #E2E4EA; + } + [purpose='jamf-row'] { + display: flex; + // padding: 12px 24px; + align-items: center; + align-self: stretch; + background: #F9FAFC; + } + + [purpose='status'] { + display: flex; + padding: 12px 24px; + align-items: center; + gap: 8px; + flex: 1 0 0; + align-self: stretch; + flex-direction: row; + img { + // margin-right: 8px; + height: 16px; + } + [purpose='red-x'] { + height: 12px; + width: 12px; + } + [purpose='tilde'] { + font-weight: 800; + // margin-right: 8px; + display: inline-block; + } + color: #515774; + + /* Body XS (FKA p small) */ + font-family: Inter; + font-size: 12px; + font-style: normal; + font-weight: 400; + line-height: @text-lineheight; + } + } + } + + + [purpose='three-column-features'] { + display: flex; + flex-direction: row; + gap: 64px; + [purpose='feature'] { + text-align: center; + display: flex; + flex-direction: column; + align-items: center; + gap: @inner-gap-xs; + color: #515774; + + /* Body/SM */ + font-family: Inter; + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: 20px; /* 142.857% */ + p { + + margin-bottom: 0px; + } + [purpose='step-title'] { + color: #192147; + text-align: center; + + /* Title XS */ + font-family: Inter; + font-size: 16px; + font-style: normal; + font-weight: 700; + line-height: @heading-lineheight; + } + [purpose='step-number'] { + display: flex; + width: 24px; + height: 24px; + padding: 1.25px 8px 1.75px 8px; + justify-content: center; + align-items: center; + border-radius: 12px; + border: 2px solid #009A7D; + color: #009A7D; + + /* Body/Emphasis/SM */ + font-family: Inter; + font-size: 14px; + font-style: normal; + font-weight: 700; + line-height: @text-lineheight; + } + + } + } + [purpose='testimonial-cards'] { + display: flex; + flex-direction: row; + max-width: 800px; + align-items: flex-start; + gap: 32px; + [purpose='testimonial-card'] { + width: 50%; + } + + } + [purpose='testimonial-card'] { + display: flex; + padding: 32px; + flex-direction: column; + align-items: flex-start; + gap: 24px; + align-self: stretch; + justify-content: space-between; + border-radius: 16px; + border: 1px solid #E2E4EA; + background: #FFF; + p { + margin-bottom: 0px; + } + [purpose='testimonial-logo'] { + img { + max-height: 28px; + } + } + + [purpose='testimonial-quote'] { + color: #515774; + + /* Body/MD */ + font-family: Inter; + font-size: 16px; + font-style: italic; + font-weight: 400; + line-height: @text-lineheight; + } + [purpose='testimonial-quote-author-info'] { + display: flex; + // height: 61px; + align-items: center; + gap: 16px; + justify-self: flex-end; + [purpose='profile-image'] { + img { + border-radius: 50%; + height: 48px; + } + } + [purpose='name'] { + color: #192147; + + /* Body/Emphasis/SM */ + font-family: Inter; + font-size: 14px; + font-style: normal; + font-weight: 700; + line-height: @text-lineheight; + } + [purpose='title'] { + color: #515774; + + /* Body/SM */ + font-family: Inter; + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: 20px; /* 142.857% */ + } + } + } + + + [purpose='feature-list-with-image'] { + display: flex; + flex-direction: row; + gap: 48px; + align-items: center; + [purpose='feature-list'] { + width: 50%; + display: flex; + flex-direction: column; + gap: @inner-gap-l; + } + [purpose='feature-image'] { + width: 50%; + display: flex; + max-width: 523.878px; + max-height: 590.566px; + flex-direction: column; + justify-content: center; + align-items: center; + img { + width: 100%; + } + } + + [purpose='feature-list-item'] { + display: flex; + flex-direction: row; + gap: @inner-gap-xs; + p { + margin-bottom: 0px; + } + [purpose='feature-icon'] { + height: 19.2px; + display: flex; + align-items: center; + img { + width: 18px; + } + } + [purpose='feature'] { + display: flex; + flex-direction: column; + gap: @inner-gap-xs; + [purpose='feature-heading'] { + color: #192147; + + /* Title XS */ + font-family: Inter; + font-size: 16px; + font-style: normal; + font-weight: 700; + line-height: @heading-lineheight; + } + + } + } + } + + [purpose='customer-stories-cards'] { + display: flex; + align-items: flex-start; + align-content: flex-start; + gap: 64px 32px; + align-self: stretch; + flex-wrap: wrap; + justify-content: center; + [purpose='testimonial-card'] { + display: flex; + min-width: 288px; + flex-direction: column; + align-items: flex-start; + flex: 1 0 0; + } + } + [purpose='banner-container'] { + background: linear-gradient(0deg, #E9F4F4 25.73%, #FFF 94.97%); + padding: 64px; + } + + [purpose='call-to-action-cards'] { + display: flex; + flex-direction: row; + gap: @inner-gap-s; + + } + [purpose='cta-card'] { + display: flex; + padding: 32px 32px; + flex-direction: column; + cursor: pointer; + text-align: center; + align-items: center; + flex: 1 0 0; + border-radius: 16px; + gap: 16px; + border: 1px solid #E2E4EA; + background: #FFF; + p { + margin-bottom: 0px; + } + [purpose='cta-icon'] { + img { + height: 39px; + } + } + [purpose='cta-heading'] { + color: #192147; + text-align: center; + + /* Title XS */ + font-family: Inter; + font-size: 16px; + font-style: normal; + font-weight: 700; + line-height: @heading-lineheight; + } + [purpose='cta-text'] { + color: #515774; + text-align: center; + + /* Body/SM */ + font-family: Inter; + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: 20px; /* 142.857% */ + } + } + + [purpose='video-modal'] { + [purpose='modal-dialog'] { + width: 100%; + max-width: 100%; + } + [purpose='modal-content'] { + max-width: 1140px; + height: 641px; + background-color: transparent; + box-shadow: none; + border: none; + padding: 0px; + margin-top: 150px; + margin-left: auto; + margin-right: auto; + [purpose='modal-close-button'] { + top: -40px; + right: 0px; + border-radius: 50%; + width: 32px; + height: 32px; + padding: 0px 0px 4px 0px; + background-color: #192147; + color: #FFF; + opacity: 1; + } + } + iframe { + border-radius: 16px; + width: 1140px; + height: 641px; + } + } + + + + @media(max-width: 1200px) { + [purpose='feature-card-deck'] { + + [purpose='feature-card'] { + max-width: unset; + min-width: 272px; + } + } + [purpose='feature-cards'] { + [purpose='feature-card'] { + max-width: unset; + } + } + [purpose='hero-logos'] { + margin-top: 48px; + } + [purpose='feature-list-with-image'] { + gap: @inner-gap-l; + } + [purpose='landing-page-content'] { + gap: @section-gap-l; + } + } + @media(max-width: 991px) { + [purpose='landing-page-container'] { + padding: 48px; + } + [purpose='page-section'] { + gap: @inner-gap-l; + } + [purpose='banner-container'] { + padding: 48px; + } + [purpose='three-column-features'] { + gap: 48px; + } + [purpose='feature-list-with-image'] { + flex-direction: column; + gap: @inner-gap-l; + [purpose='feature-list'] { + width: 100%; + gap: @inner-gap-m; + } + [purpose='feature-image'] { + width: 100%; + } + } + [purpose='feature-card-deck'] { + justify-content: stretch; + [purpose='feature-card']:last-of-type { + display: none; + } + + } + [purpose='feature-card'] { + display: flex; + min-width: 288px; + max-width: unset; + padding: 32px 32px; + flex-direction: column; + align-items: flex-start; + flex: 1 0 0; + + } + [purpose='customer-stories-cards'] { + gap: @inner-gap-l @inner-gap-m; + } + [purpose='video-modal'] { + [purpose='modal-dialog'] { + width: 100%; + max-width: 100%; + } + [purpose='modal-content'] { + max-width: 720px; + height: 405px; + } + iframe { + width: 720px; + height: 405px; + } + } + } + @media(max-width: 767px) { + + [purpose='landing-page-container'] { + padding: 32px; + } + [purpose='banner-container'] { + padding: 32px; + } + [purpose='landing-page-content'] { + gap: @section-gap-m; + } + [purpose='hero-logos'] { + margin-top: 32px; + } + [purpose='comparison-table'] { + display: none; + } + [purpose='mobile-comparison-table'] { + margin-top: 16px; + display: flex; + } + [purpose='feature-card-deck'], [purpose='feature-cards'] { + flex-direction: column; + } + [purpose='feature-card'] { + display: flex; + width: 100%; + max-width: unset; + padding: 32px 32px; + flex-direction: column; + align-items: flex-start; + flex: 1 0 0; + } + [purpose='three-column-features'] { + flex-direction: column; + gap: @inner-gap-m; + } + [purpose='testimonial-cards'] { + display: flex; + flex-direction: column; + align-items: flex-start; + width: 100%; + gap: 32px; + [purpose='testimonial-card'] { + width: 100%; + } + } + [purpose='customer-stories-cards'] { + gap: @inner-gap-m; + flex-direction: column; + [purpose='testimonial-card'] { + width: 100%; + &:last-of-type { + display: none; + } + } + } + [purpose='call-to-action-cards'] { + display: flex; + flex-direction: column; + gap: @inner-gap-s; + + } + [purpose='video-modal'] { + [purpose='modal-dialog'] { + max-width: 97vw; + } + [purpose='modal-content'] { + max-width: 540px; + height: 304px; + } + iframe { + width: 540px; + height: 304px; + } + } + } + @media(max-width: 575px) { + + [purpose='hero-heading'] { + h1 { + font-size: 32px; + } + } + h2 { + font-size: 24px; + } + [purpose='button-row'] { + width: 100%; + + [purpose='cta-button'] { + width: 100%; + } + flex-direction: column; + } + + [purpose='video-modal'] { + [purpose='modal-content'] { + width: 95vw; + height: calc(~'9/16 * 95vw'); + } + iframe { + width: 95vw; + height: calc(~'9/16 * 95vw'); + } + } + + } + +} diff --git a/website/config/routes.js b/website/config/routes.js index 69ef70fe4d..5341da9575 100644 --- a/website/config/routes.js +++ b/website/config/routes.js @@ -609,6 +609,15 @@ module.exports.routes = { } }, + 'GET /jamf-alternative': { + action: 'landing-pages/view-jamf-alternative', + locals: { + currentSection: 'platform', + pageTitleForMeta: 'Replace Jamf with confidence', + pageDescriptionForMeta: 'Replace Jamf with Fleet. Manage devices faster, review changes safely, and deploy across macOS, Windows, and Linux from one platform.' + } + }, + 'GET /partners': { action: 'view-partners', locals: { diff --git a/website/views/layouts/layout.ejs b/website/views/layouts/layout.ejs index 990b9460e4..98e6b62b2f 100644 --- a/website/views/layouts/layout.ejs +++ b/website/views/layouts/layout.ejs @@ -918,6 +918,7 @@ + diff --git a/website/views/pages/homepage.ejs b/website/views/pages/homepage.ejs index 5173c59867..3493fc4163 100644 --- a/website/views/pages/homepage.ejs +++ b/website/views/pages/homepage.ejs @@ -1,6 +1,6 @@
Whether you're managing 500 endpoints or 50,000, Fleet helps you consolidate tools, automate operations, and strengthen compliance.
+Reduce tool sprawl, cut licensing costs, and gain confidence in your endpoint posture — all while modernizing your team's workflow.
++ Consolidate tools, cut costs +
+Replace Jamf + Intune + ad-hoc Linux scripts with one platform. Eliminate duplicate licenses, reduce vendor management overhead, and simplify procurement across every OS.
+114% ROI achieved by Foursquare
+No add-ons
+Jamf charges extra for Protect and Executive Threat Protection. Fleet includes vulnerability detection, CIS benchmarks, YARA malware scanning, and automated remediation in every license.
+1 license covers everything
+Real-time compliance confidence
+Stop relying on periodic scans. Fleet policies evaluate device compliance continuously and provide real-time dashboards that satisfy auditors, leadership, and security teams.
+Seconds to verify CVEs, not hours
+True cross-platform management
+Jamf specializes in Apple. Fleet manages macOS, Windows, Linux, iOS, iPadOS, Android, and ChromeOS from one console. One inventory, one policy engine, one API.
+7 platforms from one console
+No vendor lock-in
+Fleet's codebase is public. Your security team can audit it. Your engineers can contribute. You choose self-hosted or Fleet-hosted cloud — with 100% feature parity either way.
+MIT licensed open core
+Gartner-recognized momentum
+Fleet's approach to open device management has been validated in Gartner's 2026 reports, highlighting GitOps, scale, transparency, and real-time data as differentiators.
+2026 Gartner recognition
+A clear comparison of the capabilities IT leaders evaluate when choosing an endpoint management platform.
+| Capability | +Fleet | +Jamf | +
|---|---|---|
| Platform support | +~ macOS, iOS, iPadOS, tvOS, visionOS; Android |
+ |
| Architecture | +GUI-first, proprietary | +|
| GitOps / Infrastructure as Code | +
+
+
+ |
+
+
+
+ |
+
| AI-accelerated management | +
+
+
+ |
+
+
+
+ |
+
| Real-time device reports | +
+
+
+ |
+
+
+ ~ Limited to Jamf-defined inventory fields
+
+ |
+
| Vulnerability detection | +
+
+
+ |
+ ~ Requires Jamf Protect (additional purchase) |
+
| Automated remediation | +
+
+
+ |
+ ~ Smart Groups + scripts (less automated) |
+
| Pricing model | +
+
+
+ |
+ Per-device; security features cost extra | +
| Deployment flexibility | +
+
+
+ |
+ Jamf Cloud or on-premise (DDM only in Cloud) | +
Fleet offers free migration services and dedicated support. Apple's native MDM migration flow means no factory resets and minimal user disruption.
+Assess & plan
+Inventory your Jamf environment. Use Fleet's Jamf-to-Fleet terminology guide to map profiles, groups, and extension attributes to Fleet equivalents.
+Run in parallel
+Deploy Fleet alongside Jamf. Enroll a pilot group, validate configurations, and build team confidence. Fleet's agent runs without conflict alongside Jamf.
+Stage the cutover
+Migrate devices by department or location using Apple's seamless MDM migration. Thumbtack moved 90%+ of Macs with zero IT intervention.
+
+ "I just moved 10,000 Macs to Fleet."
+
+ Wes Whetstone
+Staff Client Platform Engineer
+
+ "One of the easiest, quickest, smoothest migrations I've ever done."
+
+ Mike Meyer
+Senior Manager, Corporate Engineering
+Fleet's GitOps approach unlocks something no GUI-first MDM can offer: the ability to use AI assistants to propose, review, and deploy device configuration changes — with full human oversight.
+Natural language configuration
++ Describe a policy change, CVE fix, or configuration update in plain English. Your AI coding assistant generates the YAML, and you review it in a pull request before it ships. +
+AI-assisted policy creation
++ Fleet uses AI to generate policy descriptions and remediation steps, speeding up compliance workflows and making policies understandable for non-technical stakeholders. +
+Works with any LLM
++ Use ChatGPT, Claude, Copilot, or air-gapped models. Connect tools like Kilocode with Slack or Teams. Fleet's open format works with your existing AI stack — no vendor lock-in. +
+AI detection and governance
++ Track AI tool usage and shadow IT across your fleet. Monitor risky IDE extensions, detect unauthorized AI agents, and enforce governance policies on AI usage. +
+
+ Fleet gives admins real-time data, scriptable automation, and tools that work across every OS — without the constraints of a GUI-only platform.
+Zero-touch enrollment + MDM migration
+Full Apple Business Manager integration with zero-touch deployment. Apple's built-in MDM migration flow lets you move devices from Jamf without factory resets or user disruption.
+vs. Jamf: Feature parity on Apple enrollment; Fleet adds Windows and Linux enrollment
+Live reports across every OS
+Ask your fleet any question and get answers in seconds. Check disk encryption, find vulnerable software, verify firewall rules — across Mac, Windows, and Linux simultaneously.
+vs. Jamf: Limited to pre-defined inventory attributes and Apple-only scope
+Software management and patching
+Deploy Fleet-maintained apps, custom packages, and App Store apps. Automate patch management with policies that detect outdated software and trigger installs — including self-service options for end users.
+vs. Jamf: Similar Apple app catalog, but Fleet covers all platforms in one workflow
+Infrastructure as code
+Manage profiles, policies, and software in version-controlled YAML. Peer review changes in pull requests. Automate deployments with CI/CD. Roll back mistakes with a single git revert.
+vs. Jamf: No native GitOps — changes are GUI-only with no built-in version history
+CIS benchmarks out of the box
+Fleet ships with complete CIS benchmark queries for macOS and Windows — ready to run. No additional products, no additional cost. Monitor compliance continuously, not periodically.
+vs. Jamf: Requires Jamf Protect (separate license) for equivalent security checks
+Cross-platform scripting
+Execute scripts on macOS, Windows, and Linux hosts directly from the Fleet UI or API. Automate remediation with policy-triggered scripts. No juggling separate tools for each OS.
+vs. Jamf: Scripts only run on Apple devices
+API-first — automate everything
+Every feature in Fleet's UI is available 1:1 via API. Build integrations with Jira, Slack, Snowflake, Splunk, Okta, and more. Pipe data to your SIEM in real time.
+vs. Jamf: Multiple APIs with inconsistent coverage; less automation-friendly
+Linux as a first-class citizen
+Fleet manages Linux with the same depth as macOS and Windows — disk encryption, software deployment, configuration profiles, and full visibility. No compromises.
+vs. Jamf: No Linux support whatsoever
+Organizations across FinTech, SaaS, gaming, healthcare, and more trust Fleet to manage their endpoints.
+
+ "Fleet enabled us to consolidate our patchwork of endpoint tools with a single platform, eliminating complexity and cutting licensing costs."
+
+ Dan Jackson
+Sr Manager, Systems Engineering
+"We wanted an open-source MDM to easily use infrastructure as code, deliver the best possible experience for our employees, and make security happy."
+
+ Kenny Botelho
+Client Platform IT Engineer
+
+ "Fleet is incredibly easy to deploy and perfect for lean IT teams. It's everything we need in a device management platform, simple, efficient, and powerful."
+
+ Chayce O'Neal
+Head of IT
+
+ "This is not just production osquery, but actually a way bigger opportunity than even something like Airwatch or Jamf."
+
+ Eric Tan
+CIO & CSO
+
+ "Fleet made the process of migrating fast, easy, and simple. We're excited to work with a team that's aligned with us on open source."
+
+ John O'Nolan
+Founder & CEO
+Whether you're managing 500 endpoints or 50,000, Fleet helps you consolidate tools, automate operations, and strengthen compliance.
++ Personalized demo +
++ See Fleet managing Mac, Windows, and Linux — tailored to your environment. +
++ Free migration +
++ Fleet offers complimentary migration support for teams switching from Jamf. +
++ GitOps workshop +
++ Join an in-person workshop and see GitOps for device management in action. +
+