fleet/website/views/pages/pricing.ejs
kiloconnect[bot] c745aea1b7
Website: Make logos match (#40223)
## Summary

On the fleetdm.com/pricing page FAQ section, the text listed "Lear" as
one of the notable companies using Fleet. This PR replaces "Lear" with
"MrBeast", which is already featured in the logo carousel on the
homepage and other pages across the site.

### Changes
- In `website/views/pages/pricing.ejs`: Updated the FAQ answer text to
replace "Lear" with "MrBeast" in the list of notable Fleet customers
(Epic Games, Cisco, Stripe, Fastly, MrBeast, and more).

### Context
- MrBeast logo (`logo-mr-beast-90x32@2x.png`) is already present in the
logo carousel component used across the site
- This change makes the pricing page FAQ consistent with the logo
carousel branding

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

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-02-20 16:20:50 -06:00

407 lines
28 KiB
Text
Vendored
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div id="pricing" v-cloak>
<div purpose="page-content" class="container-fluid mx-auto">
<div class="px-0 d-flex flex-column justify-content-center pt-5 mx-auto">
<div purpose="hero-text">
<h2 class="text-center mb-5">
Compare plans and pricing
</h2>
</div>
<div purpose="pricing-tiers" class="d-flex flex-column flex-lg-row justify-content-center">
<%// Fleet Free tier card %>
<div purpose="pricing-card">
<div purpose="free-tier-card" class="card d-flex flex-lg-column flex-sm-row flex-column h-100">
<div purpose="pricing-tier-image">
</div>
<div purpose="pricing-card-body">
<div purpose="pricing-tier-title">
<div class="d-flex flex-row justify-content-start">
<div class="d-flex flex-column justify-content-between">
<h2>Free</h2>
<h3>Basic features, no support</h3>
<div purpose="tier-price" class="d-flex flex-row align-items-center">
<h1><span purpose="price-dollar-sign">$</span>0</h1><strong>/ host <br purpose="premium-price-linebreak">/ month</strong>
</div>
</div>
</div>
</div>
<div purpose="button-container" class="d-flex flex-row align-items-center">
<animated-arrow-button href="/docs">
Read the docs
</animated-arrow-button>
</div>
</div>
</div>
</div>
<%// Fleet Premium tier card %>
<div purpose="pricing-card" class="d-flex flex-column justify-content-center">
<div purpose="premium-tier-card" class="card d-flex h-100 flex-lg-column flex-sm-row flex-column">
<div purpose="pricing-tier-image">
</div>
<div purpose="pricing-card-body">
<div purpose="pricing-tier-title">
<div class="d-flex flex-column justify-content-between">
<div class="d-flex flex-column justify-content-start">
<h2>Premium</h2>
<h3>Manage and protect endpoints</h3>
<div purpose="tier-price" class="d-flex flex-row align-items-center justify-content-start">
<h1><span purpose="price-dollar-sign">$</span>7.00</h1><strong>/ host <br purpose="premium-price-linebreak">/ month</strong>
</div>
</div>
</div>
</div>
<a purpose="card-button" class="btn btn-block btn-lg btn-primary mx-auto mb-0" href="/new-license">Get started</a>
</div>
</div>
</div>
<%// Custom tier card %>
<div purpose="pricing-card" class="d-flex flex-column justify-content-center">
<div purpose="custom-tier-card" class="card d-flex h-100 flex-lg-column flex-sm-row flex-column">
<div purpose="pricing-tier-image">
</div>
<div purpose="pricing-card-body">
<div purpose="pricing-tier-title">
<div class="d-flex flex-column justify-content-between">
<div class="d-flex flex-column justify-content-center">
<h2>Custom</h2>
<h3>For teams who can move quickly with large deployments.</h3>
</div>
</div>
</div>
<div>
<a purpose="card-button" class="btn btn-block btn-lg btn-primary mx-auto mb-0" href="/contact">Talk to sales</a>
</div>
</div>
</div>
</div>
</div>
<div purpose="logos-container" class="flex-column flex-wrap align-items-center w-100">
<logo-carousel></logo-carousel>
</div>
<div purpose="pricing-switch" class="d-flex flex-md-row flex-column justify-content-center mx-auto">
<div purpose="pricing-switch-option" class="all" :class="[pricingMode === 'all' ? 'selected' : '']" @click="clickChangePricingMode('all')">All features</div>
<div purpose="pricing-switch-option" class="security" :class="[pricingMode === 'Security' ? 'selected' : '']" @click="clickChangePricingMode('Security')">For CISOs</div>
<div purpose="pricing-switch-option" class="it" :class="[pricingMode === 'IT' ? 'selected' : '']" @click="clickChangePricingMode('IT')">For IT admins</div>
<div purpose="pricing-tier-switch" :class="pricingMode+'-selected'"></div>
</div>
</div>
<%// All features %>
<div purpose="features-table" class="d-flex flex-column justify-content-center mx-auto px-0 " :class="[[pricingMode === 'all' ? 'show' : 'hide']]">
<div class="d-flex flex-column p-0" :class="[showExpandedTable ? '' : 'truncated']">
<%// Desktop features tables %>
<div class="d-none d-md-block">
<% for(let category of pricingTable) {%>
<table purpose="pricing-categories-table" class="table">
<thead>
<tr>
<td><h5><%- category.categoryName %></h5></td>
<%if(pricingTable.indexOf(category) === 0) {%>
<td class="text-center">
<strong>Free</strong>
</td>
<%}else {%>
<td ></td>
<%}%>
<%if(pricingTable.indexOf(category) === 0) {%>
<td class="text-center">
<strong>Premium</strong>
</td>
<%}else {%>
<td ></td>
<%}%>
</tr>
</thead>
<tbody>
<% for( let feature of category.features){ %>
<tr>
<%if(feature.description && feature.documentationUrl) {%>
<td purpose="feature-name"><%- feature.name %><%- feature.comingSoon ? '*' : '' %><a href="<%- feature.documentationUrl %>" target="_blank" no-icon><img class="d-inline has-link" purpose="tooltip-icon" src="/images/icon-more-info-14x14@2x.png" alt="More info" data-toggle="tooltip" tabindex="0" data-placement="top" data-html="true" title="<p><%= feature.description +'</p>'+ [feature.documentationUrl ? '<p class="d-flex flex-row align-items-center mb-0">Click <img src="/images/icon-more-info-25-14x14@2x.png" class="mx-1" style="height: 12px; display: inline;" alt="more info"> to learn more</p>' : ''] %> "></a></td>
<% } else if(feature.description) {%>
<td purpose="feature-name"><%- feature.name %><%- feature.comingSoon ? '*' : '' %><img class="d-inline" purpose="tooltip-icon" src="/images/icon-more-info-14x14@2x.png" alt="More info" data-toggle="tooltip" tabindex="0" data-placement="top" data-html="true" title="<%= feature.description %> "></td>
<% } else {%>
<td purpose="feature-name"><%- feature.name %><%- feature.comingSoon ? '*' : '' %></td>
<% } %>
<%if(feature.tier === 'Free') {%>
<td purpose="table-checkmark"><img class="mx-auto" alt="checkmark" purpose="checkmark" src="/images/icon-checkmark-green-16x16@2x.png"></td>
<%} else {%>
<td purpose="table-checkmark"></td>
<%}%>
<td purpose="table-checkmark"><img class="mx-auto" alt="checkmark" purpose="checkmark" src="/images/icon-checkmark-green-16x16@2x.png"></td>
</tr>
<% }%>
</tbody>
</table>
<% }%>
<p style="color: #515774;" class="mb-0 w-100">* Coming soon</p>
</div>
<%// Mobile features tables %>
<div purpose="mobile-feature-table-section" class="d-block d-md-none" v-for="category in pricingTable">
<h5>{{category.categoryName}}</h5>
<div purpose="mobile-features-table" class="d-flex flex-column" v-for="feature in category.features">
<div purpose="striped-row" class="d-flex flex-row justify-content-between align-items-center">
<strong class="d-block">
{{feature.name}}{{feature.comingSoon ? '*' : ''}}
</strong>
<img class="d-block" purpose="tooltip-icon" src="/images/icon-more-info-14x14@2x.png" alt="More info" @click="clickOpenMobileTooltip(feature)" v-if="feature.description">
</div>
<div class="d-flex flex-row justify-content-between align-items-center">
Free
<img class="d-block" alt="checkmark" purpose="checkmark" src="/images/icon-checkmark-green-16x16@2x.png" v-if="feature.tier === 'Free'">
</div>
<div purpose="striped-row" class="d-flex flex-row justify-content-between align-items-center">
Premium
<img class="d-block" alt="checkmark" purpose="checkmark" src="/images/icon-checkmark-green-16x16@2x.png">
</div>
</div>
</div>
<p style="color: #515774;" class="d-block d-md-none mb-0 w-100">* Coming soon</p>
<div purpose="truncated-features-fade">
</div>
</div>
<div class="d-flex flex-row justify-content-center"><a :class="[showExpandedTable ? 'expanded' : '']" @click="showExpandedTable = !showExpandedTable" purpose="show-all-features-button">Show all features<span></span></a></div>
</div>
<%// Filtered features %>
<div purpose="features-table" class="d-flex flex-column justify-content-center mx-auto px-0" :class="[[pricingMode === 'IT' ? 'show' : 'hide']]">
<div class="d-flex flex-column p-0" :class="[showExpandedTable ? '' : 'truncated']">
<%// Desktop features tables %>
<div class="d-none d-md-block">
<% for(let category of pricingTableForIt) {%>
<table purpose="pricing-categories-table" class="table">
<thead>
<tr>
<td><h5><%- category.categoryName %></h5></td>
<%if(pricingTableForIt.indexOf(category) === 0) {%>
<td class="text-center">
<strong>Free</strong>
</td>
<%}else {%>
<td ></td>
<%}%>
<%if(pricingTableForIt.indexOf(category) === 0) {%>
<td class="text-center">
<strong>Premium</strong>
</td>
<%}else {%>
<td ></td>
<%}%>
</tr>
</thead>
<tbody>
<% for( let feature of category.features){ %>
<tr>
<%if(feature.description && feature.documentationUrl) {%>
<td purpose="feature-name"><%- feature.name %><%- feature.comingSoon ? '*' : '' %><a href="<%- feature.documentationUrl %>" target="_blank" no-icon><img class="d-inline has-link" purpose="tooltip-icon" src="/images/icon-more-info-14x14@2x.png" alt="More info" data-toggle="tooltip" tabindex="0" data-placement="top" data-html="true" title="<p><%= feature.description +'</p>'+ [feature.documentationUrl ? '<p class="d-flex flex-row align-items-center mb-0">Click <img src="/images/icon-more-info-25-14x14@2x.png" class="mx-1" style="height: 12px; display: inline;" alt="more info"> to learn more</p>' : ''] %> "></a></td>
<% } else if(feature.description) {%>
<td purpose="feature-name"><%- feature.name %><%- feature.comingSoon ? '*' : '' %><img class="d-inline" purpose="tooltip-icon" src="/images/icon-more-info-14x14@2x.png" alt="More info" data-toggle="tooltip" tabindex="0" data-placement="top" data-html="true" title="<%= feature.description %> "></td>
<% } else {%>
<td purpose="feature-name"><%- feature.name %><%- feature.comingSoon ? '*' : '' %></td>
<% } %>
<%if(feature.tier === 'Free') {%>
<td purpose="table-checkmark"><img class="mx-auto" alt="checkmark" purpose="checkmark" src="/images/icon-checkmark-green-16x16@2x.png"></td>
<%} else {%>
<td purpose="table-checkmark"></td>
<%}%>
<td purpose="table-checkmark"><img class="mx-auto" alt="checkmark" purpose="checkmark" src="/images/icon-checkmark-green-16x16@2x.png"></td>
</tr>
<% }%>
</tbody>
</table>
<% }%>
<p style="color: #515774;" class="mb-0 w-100">* Coming soon</p>
</div>
<%// Mobile features tables %>
<div purpose="mobile-feature-table-section" class="d-block d-md-none" v-for="category in pricingTableForIt">
<h5>{{category.categoryName}}</h5>
<div purpose="mobile-features-table" class="d-flex flex-column" v-for="feature in category.features">
<div purpose="striped-row" class="d-flex flex-row justify-content-between align-items-center" @click="">
<strong class="d-block">
{{feature.name}}{{feature.comingSoon ? '*' : ''}}
<img class="d-inline" purpose="tooltip-icon" src="/images/icon-more-info-14x14@2x.png" alt="More info" @click="clickOpenMobileTooltip(feature)" v-if="feature.description">
</strong>
</div>
<div class="d-flex flex-row justify-content-between align-items-center">
Free
<img class="d-block" alt="checkmark" purpose="checkmark" src="/images/icon-checkmark-green-16x16@2x.png" v-if="feature.tier === 'Free'">
</div>
<div purpose="striped-row" class="d-flex flex-row justify-content-between align-items-center">
Premium
<img class="d-block" alt="checkmark" purpose="checkmark" src="/images/icon-checkmark-green-16x16@2x.png">
</div>
</div>
</div>
<p style="color: #515774;" class="d-block d-md-none mb-0 w-100">* Coming soon</p>
<div purpose="truncated-features-fade"></div>
</div>
<div class="d-flex flex-row justify-content-center"><a :class="[showExpandedTable ? 'expanded' : '']" @click="showExpandedTable = !showExpandedTable" purpose="show-all-features-button">Show all features<span></span></a></div>
</div>
<div purpose="features-table" class="d-flex flex-column justify-content-center mx-auto px-0" :class="[[pricingMode === 'Security' ? 'show' : 'hide']]">
<div class="d-flex flex-column p-0" :class="[showExpandedTable ? '' : 'truncated']">
<%// Desktop features tables %>
<div class="d-none d-md-block">
<% for(let category of pricingTableForSecurity) {%>
<table purpose="pricing-categories-table" class="table">
<thead>
<tr>
<td><h5><%- category.categoryName %></h5></td>
<%if(pricingTableForSecurity.indexOf(category) === 0) {%>
<td class="text-center">
<strong>Free</strong>
</td>
<%}else {%>
<td ></td>
<%}%>
<%if(pricingTableForSecurity.indexOf(category) === 0) {%>
<td class="text-center">
<strong>Premium</strong>
</td>
<%}else {%>
<td ></td>
<%}%>
</tr>
</thead>
<tbody>
<% for( let feature of category.features){ %>
<tr>
<%if(feature.description && feature.documentationUrl) {%>
<td purpose="feature-name"><%- feature.name %><%- feature.comingSoon ? '*' : '' %><a href="<%- feature.documentationUrl %>" target="_blank" no-icon><img class="d-inline has-link" purpose="tooltip-icon" src="/images/icon-more-info-14x14@2x.png" alt="More info" data-toggle="tooltip" tabindex="0" data-placement="top" data-html="true" title="<p><%= feature.description +'</p>'+ [feature.documentationUrl ? '<p class="d-flex flex-row align-items-center mb-0">Click <img src="/images/icon-more-info-25-14x14@2x.png" class="mx-1" style="height: 12px; display: inline;" alt="more info"> to learn more</p>' : ''] %> "></a></td>
<% } else if(feature.description) {%>
<td purpose="feature-name"><%- feature.name %><%- feature.comingSoon ? '*' : '' %><img class="d-inline" purpose="tooltip-icon" src="/images/icon-more-info-14x14@2x.png" alt="More info" data-toggle="tooltip" tabindex="0" data-placement="top" data-html="true" title="<%= feature.description %> "></td>
<% } else {%>
<td purpose="feature-name"><%- feature.name %><%- feature.comingSoon ? '*' : '' %></td>
<% } %>
<%if(feature.tier === 'Free') {%>
<td purpose="table-checkmark"><img class="mx-auto" alt="checkmark" purpose="checkmark" src="/images/icon-checkmark-green-16x16@2x.png"></td>
<%} else {%>
<td purpose="table-checkmark"></td>
<%}%>
<td purpose="table-checkmark"><img class="mx-auto" alt="checkmark" purpose="checkmark" src="/images/icon-checkmark-green-16x16@2x.png"></td>
</tr>
<% }%>
</tbody>
</table>
<% }%>
<p style="color: #515774;" class="mb-0 w-100">* Coming soon</p>
</div>
<%// Mobile features tables %>
<div purpose="mobile-feature-table-section" class="d-block d-md-none" v-for="category in pricingTableForSecurity">
<h5>{{category.categoryName}}</h5>
<div purpose="mobile-features-table" class="d-flex flex-column" v-for="feature in category.features">
<div purpose="striped-row" class="d-flex flex-row justify-content-between align-items-center">
<strong class="d-block">
{{feature.name}}{{feature.comingSoon ? '*' : ''}}
</strong>
<img class="d-block" purpose="tooltip-icon" src="/images/icon-more-info-14x14@2x.png" alt="More info" @click="clickOpenMobileTooltip(feature)" v-if="feature.description">
</div>
<div class="d-flex flex-row justify-content-between align-items-center">
Free
<img class="d-block" alt="checkmark" purpose="checkmark" src="/images/icon-checkmark-green-16x16@2x.png" v-if="feature.tier === 'Free'">
</div>
<div purpose="striped-row" class="d-flex flex-row justify-content-between align-items-center">
Premium
<img class="d-block" alt="checkmark" purpose="checkmark" src="/images/icon-checkmark-green-16x16@2x.png">
</div>
</div>
</div>
<p style="color: #515774;" class="d-block d-md-none mb-0 w-100">* Coming soon</p>
<div purpose="truncated-features-fade"></div>
</div>
<div class="d-flex flex-row justify-content-center"><a :class="[showExpandedTable ? 'expanded' : '']" @click="showExpandedTable = !showExpandedTable" purpose="show-all-features-button">Show all features<span></span></a></div>
</div>
<%// Bottom call to action %>
<div purpose="faq" class="d-flex flex-column flex-md-row justify-content-center">
<div purpose="faq-header">
<h2>Frequently <br>asked questions</h2>
</div>
<div purpose="accordion" class="d-flex flex-column justify-content-start">
<div purpose="accordion-body">
<div purpose="accordion-item" class="mt-md-0">
<p purpose="accordion-header" id="accordion__header1" style="cursor: pointer;" class="accordion" data-toggle="collapse" data-target="#accordion__body1" aria-controls="accordion__body1">
<%
// ███████╗ █████╗ ██████╗ ██████╗ ██╗
// ██╔════╝██╔══██╗██╔═══██╗ ██╔═══██╗███║
// █████╗ ███████║██║ ██║ ██║ ██║╚██║
// ██╔══╝ ██╔══██║██║▄▄ ██║ ██║▄▄ ██║ ██║
// ██║ ██║ ██║╚██████╔╝ ╚██████╔╝ ██║
// ╚═╝ ╚═╝ ╚═╝ ╚══▀▀═╝ ╚══▀▀═╝ ╚═╝
%>
Parts of the UI are unfamiliar to us. Is this too far out of my team's comfort zone?
<span class="fa fa-angle-down"></span>
</p>
<p purpose="faq-answer" id="accordion__body1" class="collapse" aria-labelledby="accordion__header1">
<%
// ███████╗ █████╗ ██████╗ █████╗ ██╗
// ██╔════╝██╔══██╗██╔═══██╗ ██╔══██╗███║
// █████╗ ███████║██║ ██║ ███████║╚██║
// ██╔══╝ ██╔══██║██║▄▄ ██║ ██╔══██║ ██║
// ██║ ██║ ██║╚██████╔╝ ██║ ██║ ██║
// ╚═╝ ╚═╝ ╚═╝ ╚══▀▀═╝ ╚═╝ ╚═╝ ╚═╝
%>
You already know how to manage the operating system. In Fleet, you can focus on managing {{ bowser.windows ? 'Windows, Apple' : 'Apple, Windows'}} and Linux; not "Android MDM", "Apple MDM", "config management", etc.
</p>
</div>
<div purpose="accordion-item">
<p purpose="accordion-header" id="accordion__header2" style="cursor: pointer;" class="accordion" data-toggle="collapse" data-target="#accordion__body2" aria-controls="accordion__body2">
<%
// ███████╗ █████╗ ██████╗ ██████╗ ██████╗
// ██╔════╝██╔══██╗██╔═══██╗ ██╔═══██╗╚════██╗
// █████╗ ███████║██║ ██║ ██║ ██║ █████╔╝
// ██╔══╝ ██╔══██║██║▄▄ ██║ ██║▄▄ ██║██╔═══╝
// ██║ ██║ ██║╚██████╔╝ ╚██████╔╝███████╗
// ╚═╝ ╚═╝ ╚═╝ ╚══▀▀═╝ ╚══▀▀═╝ ╚══════╝
%>
Fleet is perfect, it's just missing this one feature...
<span class="fa fa-angle-down"></span>
</p>
<p purpose="faq-answer" id="accordion__body2" class="collapse" aria-labelledby="accordion__header2">
<%
// ███████╗ █████╗ ██████╗ █████╗ ██████╗
// ██╔════╝██╔══██╗██╔═══██╗ ██╔══██╗╚════██╗
// █████╗ ███████║██║ ██║ ███████║ █████╔╝
// ██╔══╝ ██╔══██║██║▄▄ ██║ ██╔══██║██╔═══╝
// ██║ ██║ ██║╚██████╔╝ ██║ ██║███████╗
// ╚═╝ ╚═╝ ╚═╝ ╚══▀▀═╝ ╚═╝ ╚═╝╚══════╝
%>
We're moving pretty fast, and we have every incentive to listen. At Fleet, everyone can contribute. We also regularly deliver customer promises, and all the code is <a href="https://github.com/fleetdm/fleet">100% source-available</a>.
</p>
</div>
<div purpose="accordion-item">
<p purpose="accordion-header" id="accordion__header3" style="cursor: pointer;" class="accordion" data-toggle="collapse" data-target="#accordion__body3" aria-controls="accordion__body3">
<%
// ███████╗ █████╗ ██████╗ ██████╗ ██████╗
// ██╔════╝██╔══██╗██╔═══██╗ ██╔═══██╗╚════██╗
// █████╗ ███████║██║ ██║ ██║ ██║ █████╔╝
// ██╔══╝ ██╔══██║██║▄▄ ██║ ██║▄▄ ██║ ╚═══██╗
// ██║ ██║ ██║╚██████╔╝ ╚██████╔╝██████╔╝
// ╚═╝ ╚═╝ ╚═╝ ╚══▀▀═╝ ╚══▀▀═╝ ╚═════╝
%>
What actually is Fleet? Was it purpose built for this kind of thing?
<span class="fa fa-angle-down"></span>
</p>
<p purpose="faq-answer" id="accordion__body3" class="collapse" aria-labelledby="accordion__header3">
<%
// ███████╗ █████╗ ██████╗ █████╗ ██████╗
// ██╔════╝██╔══██╗██╔═══██╗ ██╔══██╗╚════██╗
// █████╗ ███████║██║ ██║ ███████║ █████╔╝
// ██╔══╝ ██╔══██║██║▄▄ ██║ ██╔══██║ ╚═══██╗
// ██║ ██║ ██║╚██████╔╝ ██║ ██║██████╔╝
// ╚═╝ ╚═╝ ╚═╝ ╚══▀▀═╝ ╚═╝ ╚═╝╚═════╝
%>
Fleet <a href="https://fleetdm.com/handbook/company#history">started as an osquery management server</a>. After 10 years of production osquery use at scale in huge organizations, Fleet added "write" and "execute" device management capabilities, with all the necessary integrations to be comparable with other device management platforms like Omnissa (fka WS1, fka Airwatch), Jamf, Intune, and more. Today, Fleet is used in homelabs all over the world, and at larger fleets at Epic Games, Cisco, Stripe, Fastly, MrBeast, and more.
</p>
</div>
</div>
<div class="d-flex flex-row justify-content-start">
<p purpose="contact-note">Couldnt find an answer? <a href="/docs/get-started/faq">Read the FAQ</a> or <a href="/contact">talk to an engineer</a>.</p>
</div>
</div>
</div>
</div>
<modal purpose="mobile-tooltip" v-if="modal === 'mobileTooltip'" @close="closeModal()">
<div>
<p class="mb-0">{{selectedFeature.description}}</p>
<a :href="selectedFeature.documentationUrl" target="_blank" v-if="selectedFeature.documentationUrl" no-icon>Learn more</a>
</div>
</modal>
<p style="opacity: 0; line-height: 0px; font-size: 0px; margin: 0;">537c652d-cb1a-440e-ae35-0f0bf5743e75</p>
</div>
<%- /* Expose locals as `window.SAILS_LOCALS` :: */ exposeLocalsToBrowser() %>