Configure Multiple Checks at Once!


Happy Monday everyone! We are starting this week off with several key improvements to the Checks section of the app. Check it out!

Mass-Actions for Checks

Kolide's checks page just got a lot easier to use with the introduction of checkboxes! If you've ever found yourself in a situation where you want to make a change to dozens of checks at once, but instead needed to change each check, one at a time, this feature should dramatically speed up the process.

Simply select the checks you want to action, and as soon as you do, a new menu will appear allowing you to add/remove Tags, change Notification Strategies, and alter the check's Status.

That's it! Don't worry, there's no catch. Audit logs and any other events will still be created as if you were performing these actions one by one.

New Iconography & Better Names

You may have also noticed lately that the checks page received a small visual upgrade. Each check now features a representative icon, making it easier to visually scan the list and find the checks you need. 

Additionally, we've also changed how we've named our checks. In the past, a Check's name was the same as the name of the Issue we would generate if the Check was in a failing state (eg. macOS Firewall Disabled). We (and many of our customers) found this confusing, so instead checks are now named after the underlying objective they are looking to achieve. 

To accommodate this change, we've also flipped the percentages to now show the percentage of devices passing a check. This means the higher the number, the better your organization is doing!

We've added the new names and the icons to the global search as well!



For our API users, we've added a new API column called display_name which will include this new naming convention.

Filter By Checklist

Checks get their icon's through their membership to a new concept called a checklist. This is a way for users to logically groups checks so that they are easier to discover. Unlike topics, a check can only belong to a single list. You can now easily filter checks by their list in the side-bar.



These changes are all helping us build towards the expansion of checks that we offer to our customers. Keep your eyes peeled for more improvements before the end of this year!

Support for the New M1 MacBook Pros

Know some lucky ducks 🦆 in your company that happened to get their hands on one of the new M1 MacBook Pros this week? Well, we just got a few in at Kolide and we couldn't wait to add first-class support into our product. 

New Serial Number Format

The new M1 MacBook Pros are the first Macs to feature Apple's new randomized serial number format. Unlike the old format which was 11 - 12 characters long and encoded a wealth of information about the device, this new format is shorter and, well, random!

So now, instead of using portions of the serial number to determine things like the Mac's product name (ex: MacBook Pro (16-inch 2019)) we have upgraded our approach to pull this information in its new location, the I/O Registry. Everything should "just work!"

Detailed CPU Data

These new MacBook Pros feature two variants of the M1 CPU, the M1 Pro and the M1 Max. Previously, Kolide did not feature the true name of the CPU in our Device overview page; but now, we not only have the correct name for the chip, we also show you the logo!

Additionally, for all Apple Silicon processors, Kolide now reports the number of performance cores and efficiency cores.


Product Images

We've always been a stickler about using the real product images for enrolled devices whenever possible. In keeping with that tradition, we now have updated our product image catalog to include all current Apple Silicon Macs!

Installation Packages

Our endpoint agent has natively supported Apple Silicon for a while, but while we are waiting for osquery to release an arm64 build, we have updated our installation package to correctly pre-install Rosetta2 if needed on M1 Macs running Monterey. This is super helpful in situations where you are deploying our package via an MDM on a brand new device.


As always, we hope you enjoy the update. Please reach out if you have any ideas about things you'd like to see from these new Macs.

Until next time!

New Inventory: Microsoft Office Add-Ins

As part of our mission to provide world-class ground truth about devices enrolled in Kolide, I am excited to announce the latest addition to Inventory, Microsoft Office Add-Ins.

Why List Microsoft Office Add-ins?

For the unfamiliar, Microsoft Office Add-ins are extensions that end-users can install with most Microsoft Office products like Word, Excel, and Outlook. These extensions can support new media types, extend the user interface, or even integrate with third-party services (ex: Zoom or Wikipedia).

Like web browsing, the documents employees interact with within Microsoft Office are often incredibly sensitive and contain confidential information essential to the business or customers. Add-ins (depending on their permissions) have unprecedented access to documents and emails, allowing them to read or even alter their contents. While Microsoft does a reasonable job of vetting obvious malicious add-ins, there are sometimes cases where an add-in provides a service by transmitting parts or potentially all content in a document to the third-party serve (ex: Grammarly). These freemium services may be undesirable or potentially even violate the company's existing data sharing and privacy agreements like the GDPR.

To that end, we wanted to provide a way to easily enumerate these add-ins, their capabilities, and other relevant info, right in Inventory, for both Mac and Windows devices.

Feature Overview

Every Office Add-in has a manifest file that gives us unique insight into the add-in capabilities, permissions, and type on both Mac and Windows devices. To view this information across the fleet, browse directly to the Microsoft Add-in section in Inventory.

There are many types of add-ins and specific capabilities associated with each. We encourage you to refer to the official Microsoft Office developer documentation to learn more about interpreting this data in Inventory.

In addition, Microsoft Office Add-ins join many other "installable" Inventory items in our global search. Here is an example of finding an add-in called "Wikipedia." You can also search for Add-ins by their unique identifiers.


Microsoft Add-in Store Enhancement

Beyond collecting data from each endpoint, Kolide will also attempt to source data about the add-in from Microsoft's Add-in Store called Microsoft App Source. From there, we can pull essential data like the latest published version, the last release date, and the average rating.

Privacy Center & Data Collection

Like all of our device properties, we have documented the purpose, privacy information, and a representative example data set, which a Mac or Windows device will return in the Privacy Center.


We collect Microsoft Add-ins by default. If you don't want to collect this data from your devices, you can also use our new data collection opt-out feature.


New: Custom Slack Messages for Checks

At Kolide, we encourage our customers to entrust their users with the responsibility of keeping their devices secure and compliant. If you can communicate honestly and concisely with people about issues on their devices, they will be motivated to fix them, and more importantly, learn something in the process.

We invest a lot of time writing a clear rationale and precise fix instructions for every Check we ship in the product to accomplish this. We try to put ourselves in the shoes of every type of user—from the most technical to someone who has never opened the terminal before— and write Slack messages that are accessible, clear, and actionable.

While we work hard at this, we can never be perfect. Kolide will always be at a disadvantage to admins who work with their users every day and deeply understand their needs. These admins can often improve these messages for their staff in a way that does not apply to every Kolide user.

To that end, It gives me great pleasure to announce that as of today, Kolide allows customers to fully customize the rationale and fix instructions for every Check on the platform. Let me show you how it works.

How to Get Started

To get started, click on the "(...)" actions dropdown next to any Check and click "Configure." Find the section you'd like to change in the Check configuration sidebar and click "Edit..." within the Slack notification preview.


Supplementing an Official Kolide Message

In many cases, you may wish to only add a note, either just before or just after Kolide's official messaging. To support this, Kolide allows you to supplement its existing messages. Supplementing is an excellent choice because it enables you to continue to benefit from any changes Kolide will make to the template but allows you to communicate additional information to your users.


Fully Customizing a Message

Sometimes supplementing is not enough, and you will want to completely change the content of a message to best suit your users. To that end, the "Compose Custom Text" option gives admins complete control over the message without any approval from Kolide.


In both cases (full customization and supplemental changes), Kolide will put your organization name under the header of the section modified so end-users know the instructions came right from your company.



Revision History, Markdown, and Liquid

Kolide will put a notice in the audit log for every change and keep a complete revision history. You can revert to a previous known good state if any undesired changes are introduced to the templates.

As for formatting, instead of asking you to learn a new formatting API, all of Kolide's templates are written in standard markdown and automatically converted to Slack's block format.

For advanced users who want to include conditionals or display data from the Device, Check, or Failure the message is about, Kolide allows you to use the liquid syntax. The documentation for the variables for each Check can be found right in the edit window.



In closing, we are very excited to bring this message customization functionality to Kolide. We cannot wait to continue to improve this experience as folks explore the feature and provide feedback. Happy writing!

New Inventory: Safari Extensions

Up until today, Kolide has not attempted to collect Safari Extensions. Osquery's built-in support has been broken since Safari 11, and with the extension API story still shaking out on the Apple side, it wasn't clear if our efforts would be made obsolete in a future Safari version.

But with the recent release of Safari 15, things have moved in a positive direction. Apple has dramatically improved the reliability of, and consequently the developer experience around, web extensions. We expect that more and more app developers will begin porting their Firefox Addons and Chrome Extensions to Safari with these changes. In turn, end-users will install them as they become available.

Unfortunately, with a more diverse library of extensions comes a greater opportunity for bad actors to abuse it to potentially publish extensions of dubious value in exchange for an over-reach into the end-user's privacy. The first step of preparing for this eventuality is to gain greater visibility into the extensions installed across your fleet.

To help our customers do just that, we are excited to announce the inclusion of Safari Extensions in Inventory.

Starting today, Kolide can collect extension data from Safari 14 and Safari 15, including extensions built with the still relatively new web extension SDK (even including permission entitlements).

In addition, Safari extensions join many other "installable" Inventory items in our global search. Here is an example of finding an APP extension that comes with NetNewsWireApp.

Apple App Store Enhancement

Beyond collecting data from each Mac endpoint, Kolide will also attempt to send the bundle_identifier of the extension to Apple's App Store API to determine the latest version and when that version was published, among other data.

Privacy Center & Data Collection

Like all of our device properties, we have documented the purpose, privacy information, and a representative example data set, which a Mac will return in the Privacy Center.

We collect Safari Extensions by default. If you don't want to collect this data from your Mac fleet, you can also take advantage of our new data collection opt-out feature.


More Slack App Improvements and Settings

As a follow-up to our grace period announcement yesterday, we are excited to share more big improvements to the Kolide Slack app.

Failure Summary Options

Kolide only sends a failure summary to end-users when their devices are failing checks and only once every weekday to help reduce alert fatigue.

Sometimes though, getting a message every weekday can feel a bit much. Starting today, Kolide admins can pick the days of the week to send these messages. Whether it's reducing to just three days a week or implementing your very own #kolidefixfriday, we hope the additional flexibility helps you tune the right notification frequency for your company.

Additionally, it can be quite fatiguing to receive a notification for a device that has been sitting in a drawer for a few weeks. To help with that, we've introduced a new option that allows you to only notify users when the device has been seen recently.  We've found this so helpful in practice that we set the default threshold to 7 days or less, but you can choose whatever makes sense for your team.


While end-users won't receive a proactive notification for an offline device, they can still see them in their Kolide app home tab after clicking the Show Offline Devices button.

Escalation Options

In addition to the improvements above, we've shipped new settings options to configure failure escalations

Previously, when you set up the Kolide Slack app, admins could choose only one channel for all failure notifications, automatic escalations, and end-user help requests. With today's release, admins can now choose different channels for all three use cases, including directing user help requests to a dedicated channel where IT staff can more easily see them.

On top of that, we now offer greater customization of the Contact Admin for Help button in Kolide's Slack message. Admins can customize the reply we send users when this button is pressed, allowing for internal guidance — like how to submit an IT ticket. Messages can even include dynamic information from the notifications the end-user escalated!

We hope these help you better customize the Slack app experience for your end-users. Please let us know what you think!

New: Slack Notification Grace Period

Today, when a device fails a Check, Kolide immediately schedules a Slack message to be sent to an end-user during their next notification window (the next weekday afternoon in their local time).

For many Checks, this is desired; Kolide has caught a serious problem, and you want to let the user know about it quickly. Sometimes though, this approach can feel a bit punitive. For example, if Kolide detects a Windows device is missing an important update that was just released, you may want to give the user at least a few days to take care of the problem before triggering a reminder.

To help with this use case, we are excited to introduce a new feature called Notification Grace Periods. When a grace period is configured for a Check, Kolide will generate a failure as soon as it detects a problem but will hold the notification sent to the end-user until the grace period has expired. 

To configure a grace period, go to the Check's configuration page and ensure the Notify Device Owner strategy is selected. If it is, a new dropdown will appear where you can choose how many days you'd like Kolide to wait before notifying the end-user. When the grace period expires, we will notify them during their next notification window.

We highly recommend choosing a delay on any checks where the user's failing state is temporary and will likely be resolved by the end-user within a few days. The Windows and macOS missing important update Checks are great candidates for this new feature.

To help admins better understand the state of a Failure with a grace period, we updated the failure details sidebar to show when the end-user was first notified and when Kolide first detected it. We've also added the first notified time to the table view and the failures API as first_notified_owner_at

While we do not proactively notify end-users about failures in the grace period, we still allow motivated users to see these failures if they wish when interacting with the Kolide Slack app. If a user has failures that meet this requirement, they will see an option to view those failures in their Slack app home tab, or when they type the status command.

We hope you find this new feature useful. As always, we welcome your questions and comments.

Introducing Live Refresh

At Kolide, we do our best to strike a healthy balance between the performance impact of our agent and the usefulness of the data we collect in the UI. In practice, this means we optimize every query to minimize impact and run expensive queries as infrequently as necessary. 

Sometimes though, when actively viewing a device, you may want the most recent information possible. To assist with this use case, we are rolling out a new feature called Live Refresh. Here it is in action!

Data Last Retrieved Timestamps

Being able to refresh data live starts with understanding when the data you are currently looking at was collected. To help with this, we have updated all of our widgets and device property tables to show the last time the information was retrieved from a device.

In some cases, like the Security Features widget shown above, many queries contribute to this display; when this happens, Kolide shows the retrieved date of the oldest data in the widget.

Kicking Off a Live Refresh

Kicking off a Live Refresh is as easy as clicking the Refresh Data button on any applicable device widget or device property screen. The necessary queries needed to populate the widget's display will be immediately issued to the device. If the device is online, the refresh should return in 10 to 15 seconds. You can also kick off refreshes for offline devices. Then, when they come online, they will refresh their data ASAP.

Once a refresh is done, the widget or table will change colors, letting you know the new data is ready to be reloaded. Simply click the "reload data" button, and the new data will load right into the UI.

While the feature is extremely straightforward, building it was no small task. In fact, a lot of it relied on the work we did to ship our data device collection control capabilities earlier this year. I want to thank the entire engineering team at Kolide for their hard work in making this feature happen. I want to also thank our customers for all of their input, leading to this feature being fully realized. We look forward to your feedback!

New Inventory: Mac Startup Configuration

Have you ever wondered if a Mac had an EFI firmware password set or if Secure Boot has been turned off? Well, instead of wondering, you can now instantly look up the state of these options and other boot settings in our newly released device property in Inventory called Mac Startup Configuration.

The settings reported in the device property can help administrators better understand the security posture of a Mac. For example, a Mac with Secure Boot off may be at greater risk of being infected by malware that changes the master boot record (MBR). Additionally, the presence of a firmware password could prevent an administrator from reprovisioning a device to a new employee if they forget to turn it off before shipping the Mac back to HQ.

New Inventory Widget

To help you interpret these startup options, we have created a new widget that summarizes them with icons and easy-to-read statuses.

Privacy Center & Data Collection

Like all of our device properties, we have documented the purpose,  privacy information, and the example data set a Mac will return in the Privacy Center.

If you don't want to collect this data from your Mac fleet, you can also take advantage of our new data collection opt-out feature.

A Note About Older Macs or Macs with Apple Silicon

Macs running Apple Silicon instead of an Intel processor do not support several of these startup options. These options include Firmware options and the ability to boot Windows. For these devices and older Intel Macs without a T2 series chip, you'll see the value "Not Applicable" for any relevant settings.

As always, please let us know if you have any questions, suggestions, or improvements we can make. We hope you get value out of the additional visibility.

New Feature - Add Your Own Device Notes

While Kolide can collect and visualize a lot of useful information from the devices themselves, sometimes, the most useful pieces of data about a device can come from the people who oversee them.

To that end, we've added a new way for Kolide team members with access to the admin UI to write unstructured notes. When you visit the device overview page, you will now see a new widget called Device Notes.

In this widget, simply write any notes about the device you wish to record, and then click save note.  As you can see, the notes support basic Markdown formatting, including links and headers.

If you or another team member make a mistake or want to review the history of notes on a particular device, you can click Revision History and easily restore any previous version of the notes.

In addition to being accessible in the UI, both the raw markdown and the rendered HTML versions of notes are now included in the Device API response.

Finally, we've also updated the overview page for Private Devices to include a limited set of informational widgets, including this new notes widget.


This is just one of many features we plan to roll out this year to help our customers better identify and record useful information about their devices. Until then, please let us know if you have any feedback or improvements, you would like to see.

Show Previous EntriesShow Previous Entries