Patching Without the Ticket Tax: Better End-User UX with Prebuilt apps

Video Transcript: Patching Without the Ticket Tax — Better End-User UX with Prebuilt Apps

Introductions

Selina: Today we are talking about Prebuilt Apps: patching without the ticket tax, better UX with Prebuilt Apps. For anyone who is an Addigy customer, you’ve heard me talk about this endlessly, but there’s some new stuff we’ve been doing with Prebuilt Apps, plus a refresher for those who have never used it or have been curious and want to know more.

Selina: I’m Selina, a senior product manager here at Addigy. I was one of the people who helped build Prebuilt Apps, and if you ever have a question, a problem, or a feature request, it’s going to my inbox. I always like to drop our product email: [email protected]. That goes to all of the product managers. If you ever have questions, frustrations, or feature requests and you want our attention, send an email.

Selina: I’m joined by Daniel Allen, our senior solutions architect at Addigy. If you’ve done any of our Addigy certifications, onboardings, or Addigy Boost, you’ve probably come across him. This is his first SudoTalks. Please post your questions in the Q&A at the bottom — we’re monitoring chat as best we can, but Q&A is the best place. Ponce is here to help answer questions as they come in, and we’ll have a Q&A session at the end.

Selina: Here’s the plan: a short intro on why Prebuilt Apps and what it is, then a live walkthrough — everything you see will be in production — then back to slides for the end-user experience, best practices, tips and tricks, forward-looking items, and Q&A.

Why Prebuilt Apps

Selina: For anyone new to Addigy or to this product: the problem many of us have when managing macOS devices is endless packaging. Software like browsers — Chrome updates what feels like multiple times a day — used to require manual packaging, which consumes hours doing a repetitive task. Patching also matters for vulnerabilities: as AI has grown, there are more and more CVEs and zero-day vulnerabilities, and not keeping up with software updates leaves your fleet vulnerable. And there’s user disruption. I’m the worst end user — I never update anything, never close anything, never reboot. That’s difficult when you’re trying to manage a fleet and keep apps updated. How do you do it in a way that disrupts users the least, so they’re not losing data and productivity?

Main Features

Selina: The main features of Prebuilt Apps: we have “latest” and auto-update — set it and forget it. My goal with Prebuilt Apps is that you don’t spend much time configuring it or going back to the page. We have scheduling options if you want updates only during certain windows. We have days-to-delay for the auto-update, so the newest apps don’t go out immediately — you can have a group of QA testers or early-access adopters get the latest immediately as a smoke test before it hits the rest of your fleet. We have update-only, which means “I don’t want to install this app, but if it’s there, keep it up to date” because of security vulnerabilities. A good use case on my personal machine is Spotify: Addigy isn’t pushing Spotify to my machine — I downloaded it because I’m a rascal — but our IT team wants to make sure Spotify is at least kept up to date.

Selina: We include most of the MDM profiles, with an asterisk: we are constantly adding to our PPPC profiles. We do include any relevant system extension or other profiles — more details in the app details of what’s actually included; not every profile needs it. And as with everything in Addigy, we have policy inheritance: whatever you set at the top level inherits down. But unlike everything else in Addigy, we introduced inheritance override to give you full customizability no matter where you are in your policy hierarchy. We have a menu bar, we have it in Self Service, and we have it in Addigy Assist, our onboarding app. Some poll responses are coming in — people are spending five to ten hours packaging, or two to five hours. Hopefully this is something we can get off your plate.

The Catalog

Selina: The catalog is growing. We officially have 220 apps. If you go into the catalog you’ll count 241, but there are some duplicates depending on architecture (Intel or Apple Silicon), and there are apps that are end-of-life, which I didn’t include in this count. This is 220 apps we are actively updating. It also doesn’t include our OS update blockers, which are also in the Prebuilt Apps catalog — those are special one-offs. The last time I gave this talk it was 160, so we are growing and constantly taking in requests.

Requesting a New App

Selina: If you want to request an application, there are a few requirements. It needs to be a publicly available installer, outside of the Mac App Store — if an app only lives in the Mac App Store, using Apple apps is your best bet. It can’t have license keys or anything that needs configuring during installation. One thing we’ve noticed: some installers are publicly available, and then as the company shifts or renames the product, they put the installer behind a login. Once it’s behind login authentication, we can’t keep it up to date, and we unfortunately have to end-of-life it on our side.

Selina: If you’re sending requests, please give me a download link to exactly what you want. Tech companies love names that are nonsensical or spelled with unnecessary letters, so it’s faster for me to process the request if you give me a download link, or at least a link to the developer. You can request apps through the in-app product feedback — it’s all over the place — or email [email protected]. Both go to my inbox, I look at them every month, and we add them to our backlog.

Selina: One known issue: we’re always working on the PPPC profiles. We don’t actually use all 220 apps in our own environment, so for some of these permission prompts we need community help. We’re doing our best to make sure each app has the minimum required permissions and nothing more — we won’t blanket-allow everything — and as macOS moves those profiles to declarative, that’s another thing we’re tracking. Now I’ll kick it over to Daniel for a live walkthrough.

Live Walkthrough: GoLive

Daniel: I know Selina said she’s one of the worst end users for never restarting — I’d argue that’s an average end user. The ones that do restart are the anomalies. I’m in the same boat: I always get the “your computer’s been up for X days” notification and defer it.

Daniel: Let’s get started with GoLive. If you’re unfamiliar, think of GoLive as one-to-one management. If you need to take action on an individual device or find info about it, GoLive is the place. I’ll go to Software, then Prebuilt Apps, and we see the whole catalog for very quick deployment. When we click into an app we can see the description. Selina mentioned the PPPC profiles — if we search for Defender, it’s right there, and you can see the release notes. Always check those, especially for an app you know has configuration profiles that go along with it — check what’s included and what’s not.

Daniel: To deploy an application from here, find the app and hit Deploy, and it installs right now. Callout: this is always the most recent version. When we hit Deploy, we’re deploying the most recent version. Sure enough, Aircall is installed — Spotlight search, by the way, is the best feature on the Mac. But this is one-off: one person needs this app, always the most recent version. We don’t want to do everything one-off.

Live Walkthrough: The Catalog

Daniel: Let’s zoom out and jump over to Catalog > Software > Prebuilt Apps. Think of your catalog as the toolbox — this is where most of your resources live. I’ve got a bunch of things already configured. Clicking into one, I can see where it’s going: in this case, out to the entirety of Iteration 110, and inheritance means it goes down to everything underneath.

Daniel: Looking at my settings: it’s going to Iteration 110 with latest and auto-update, and the update is enforced every ten days. If I want to override that for a child policy — say Everwood needs something different — I check that box, and now in settings I have a new entry (thank you, Addigy, for the handy tag). Notice it defaults to fourteen days; for Everwood I may say update every five days. When we save, that becomes the new setting for anything underneath — so Dreadnought City gets the same setting as Everwood. That’s one of the new features: policy override. You may want Chrome going out everywhere, but with different update settings — we all know how often Chrome wants to update. Some customers or departments can get the update sooner.

Daniel: We can also assign something new from the catalog. Take Aircall: I deployed it one-off for one user, but now I’m getting more requests, and I don’t want to go into a bunch of computers individually. From here I can say everyone at Ashwind needs it, check the box, and adjust settings — Ashwind gets latest and auto-update with a ten-day frequency, and maybe Sky’s Edge stays at fourteen, or gets update-only. Lots of options. Save, and it’s assigned to that policy, and everything underneath starts getting the deployment. Your catalog lets you affect multiple policies from one location.

Live Walkthrough: The Policy Level

Daniel: You may prefer working from the policy level instead of the catalog. In Policies, I’ll open Iteration 110 > Software > Prebuilt Apps. We can see everything going on: Aircall assigned down at Ashwind, 1Password coming down from the parent policy. We can add more, just like anything else — let’s deploy 8×8. Add it to the policy with the same settings: latest and auto-update. Most of the time you’ll go with latest and auto-update, except maybe in testing policies.

Daniel: Like Selina mentioned, maybe we don’t want to deploy the app, but if it’s there we want it kept up to date. If we check update-only, then when the policy runs its condition, it checks: is 8×8 installed? If not, we exit — nothing to do. If it is installed, we check whether it’s up to date, and if not, we prompt the update. The user is forced to take the update within however many days we set. Personal preference: I usually go three to seven days for most applications — five is a nice in-between, and it’s what I do with a lot of customers during onboardings. Hit Assign, and that keeps the app up to date anywhere it’s currently deployed.

Daniel: I can still jump down to Ashwind, see 8×8 with the little briefcase icon, click it and choose Override Parent — maybe I want it updating every two days instead of five. I love the notification here saying “if you do this, here’s what else is affected.” Please take a moment and read it — I’ve been on with customers who had an unintended consequence because we didn’t read a notification. Confirm, and now we have the handy broken-briefcase icon showing policy inheritance is being overridden. I can always come back later and revert to the parent setting, and the enforcement deadline on the far right changes back.

The Menu Bar

Daniel: If you’ve been using Prebuilt Apps for a while, you’ll know that when it first came out, the update notifications were a little noisier than we wanted. Selina and the team have done a lot of work there, and one of the newer features is the menu bar. In Settings at the top right there’s an option — mine is currently on, but the menu bar is off by default. If you’ve never changed the software settings within the policy, your menu bar will be off. What it does is put the notification in the menu bar instead of blasting notifications all the time, making it easy to see what’s going on. The days-to-delay setting also lives here if you want to delay when an update is applied to your catalog or policy.

Daniel: If you have certain policies where you don’t want the menu bar, deselect it, hit Override, and the menu bar disappears next time that policy runs — or never shows up in child policies if you’re setting up from scratch. In my testing, turning it on or off and deploying the policy takes about ninety seconds to two minutes to land on the device.

Daniel: Here’s my menu bar. Notice it doesn’t have the normal Addigy icon — if you have Self Service configured with a menu bar item, it uses that custom icon. If you don’t have Self Service or a custom icon, it defaults to the Addigy logo. (We should have run a poll on what the Addigy icon is — a laptop opening, or a fancy A? I’ve heard both.) In the menu bar I can see available updates: Anka will be enforced in eleven days, Brave in twelve, Microsoft Edge in thirteen — I didn’t plan the 11/12/13, it just worked out. If I want to update one, I click Update, it says it needs to close the app, I click OK, it updates, shows the install progress, and the item disappears from the menu bar when it’s done — then the app relaunches.

Daniel: One more callout: I have these apps purposely running. If an application is not running, the update just happens automatically by the deadline — you only get the notification if the app is running. That’s it for the live demo. Selina has screenshots showing the menu bar with a custom icon versus no menu bar icon. Back to you.

Conflict Resolution and Policy Inheritance

Selina: Thank you. Reminder: Q&A is the place we’re monitoring for questions. Now, conflict resolution. A lot of our customers take advantage of flex policies, which are super powerful, very fun, and personally the bane of my existence. When Prebuilt Apps exist in multiple policies on a device, what happens with conflicting settings? We do not have an answer across the board for all settings yet — I’m actively working through every one of these conflicts — but here are the rules we do have. I dropped a Prebuilt Apps policy inheritance guide in the chat; as we resolve conflicts (like schedules, or install versus update-only, which doesn’t have a resolution yet), it’s documented in that KB.

Selina: The philosophy for conflict resolution is: the most restrictive wins. For user notifications you can have four or eight hours — if a flex policy says eight hours and a location policy says four (or vice versa), four wins. Daniel mentioned this, but end-user notifications when an app update is available and the app is open are now throttled: instead of getting bombarded, we only show one notification.

Selina: For menu bar visibility, we’ve taken a cautious approach. It’s off by default, and we’ve clearly documented all the scenarios for when the menu bar will be visible. One place this matters is the Self Service configuration: Prebuilt Apps can be assigned to Self Service so end users can install and update whenever they want. But if you have the menu bar off in your Self Service configuration, even if the menu bar is on in your policy, it will not display — we treat that as a conflict, and the most restrictive wins (“don’t display” being most restrictive).

Selina: Same with schedules. In previous webinars I highly recommended schedules, largely because end-user notifications could interrupt people throughout the day. Since we’ve throttled notifications, I now take the other stance: schedules are something we no longer recommend by default. They’re still valuable and have a place in some workflows. But if you added a schedule because of the notification fatigue in the early days of Prebuilt Apps, I recommend revisiting it. Important callout with schedule conflicts: the tightest schedule wins — meaning the least amount of minutes and days available for an update. The inheritance KB documents exactly what we mean with scenarios.

Selina: I’m always open to feedback. The next conflict we’re tackling is install-and-update versus update-only in two policies — we need the most restrictive to win, which is install-and-update. If you’re seeing weird things in your fleet, please open a support ticket or email [email protected]. We’re working on making this clear, reproducible, and predictable.

Fine-Tuning Your Deployments

Selina: It’s always a balance between end-user notifications and productivity versus keeping your fleet up to date. Update-only is something I recommend across the catalog — it updates any existing apps you’re not explicitly managing. On my own machine, things like Spotify and Discord are enforced and updated on a regular cadence via Prebuilt Apps as update-only.

Selina: When setting the enforcement deadline, we only allow up to two weeks, and that’s intentional. Some apps only update once a quarter; others update multiple times a week. We want to make sure apps aren’t falling too far behind when the user has up to fourteen days to reach the version being deployed. That stops people from deferring indefinitely — I’ll keep trying not to update things for as long as humanly possible, because when am I ever OK with closing my million browser tabs? Think about what works for your org and for each app: you can be more lenient on some apps versus critical apps, and consider your compliance frameworks — for folks in the UK, Cyber Essentials is fourteen days, which is our maximum.

Selina: The menu bar is fairly new and I’m a big fan. What I really like is it lets people update out of sync — Self Service does this too. We have a feature request to add an updates-only section in Self Service. What the menu bar gives you that Self Service doesn’t is visibility into when an update will be forced. Using it internally, I’ll see “oh no, my Brave browser is going to update right when I’m playing D&D — I guess I’ll do it before then.”

Selina: Also think about your delay buffers if you have testing windows between vendor releases and fleet deployment. We use that internally for early-access folks. Make sure your critical apps are tested before wide rollout so you catch issues before they become a wider problem.

No Downgrades, No Removal Scripts

Selina: Important: Prebuilt Apps will not downgrade. We take the stance that the most recent version is generally the most secure version. If the policy is pushing version 1.0 and the end user has updated on their own to 1.1 or 1.2, we won’t downgrade them. We just check: is the installed version older than the policy version? If it’s newer, we do nothing.

Selina: We also don’t have removal scripts, intentionally — we don’t want people accidentally pressing a button and uninstalling a critical app across their whole fleet. If you remove the Prebuilt App from your policy, the app stays on the device, but it’s no longer kept up to date by Prebuilt Apps. If you need to remove apps, it depends on the app: most can be removed with sudo rm -rf and the path to the application, while others (like Adobe) have more complicated removal scripts. Whatever it is, test before you deploy to production.

Zero-Day Responses

Selina: We reserve the right to pull versions from the catalog if they have a critical vulnerability. If there’s a new version with a critical security fix and you have days-to-delay configured, that fix may not be pushing to your policy yet — you may need to go check, because by default we follow whatever settings you’ve configured. It’s worth looking at your fleet and asking: should I change the deployment window? Should I go to GoLive? I’d like to say zero-days are less common, but the opposite is happening these days. As you configure enforcement windows, think about which apps you regularly read about in the news for zero-days.

Helper Tool Pop-Ups

Selina: I get asked about this a lot. Apps like Slack, Postman, Discord, Visual Studio Code, Firefox, and all the browsers have helper tool pop-ups. For now, we recommend creating a separate MDM profile if the developer allows it — not every developer has an MDM profile or key to turn off those pop-ups. If you’re working with a developer that doesn’t (Asana, for example, has no way to turn off those update prompts), please reach out to those app developers, because in the enterprise those helper pop-ups are very annoying. For the ones that do support it, create the MDM profile and push it.

End-User Experience: Addigy Assist

Selina: Prebuilt Apps came out about two years ago, and we’ve been adding it across the full device lifecycle. Addigy Assist is our onboarding app. As devices enroll — through automated device enrollment or manual enrollment — this app can pop up and show what’s happening: your company logo, a customizable name and message, contact information. It holds users at the screen so they can see exactly what’s happening while the device is prepared — what apps are installing, getting them ready for their first day.

Selina: Prebuilt Apps can be assigned to Addigy Assist along with MDM profiles, Apple apps, Smart Software — pretty much anything you can imagine. It displays the progress (“here’s everything we’ve done”) so the end user has full visibility. It can appear as a small app window, or full-screen where it takes over and locks them in. It can trigger a restart, and at the end it says everything is set up, they hit Close, and it closes out. Note: Addigy Assist does not follow schedules — so if you want deployment during onboarding outside a schedule, this is the way.

How Prebuilt Apps Works Under the Hood

Selina: What’s actually happening? Every thirty minutes when the policy runs, we do a silent check. The very first thing we check is whether a schedule is configured. If there is one and you’re outside of it, we stop — nothing else happens. That’s the pro and con of schedules: very powerful and very limiting, especially if you’re onboarding new devices outside the schedule without something like Addigy Assist — the apps won’t install. Same with Smart Software. It’s a bit of a hammer.

Selina: If you’re in schedule: is the app closed? If the app is closed and out of date, we run a condition check — what version is on the machine versus what version should be — and we just update it. The end user will never know. I do that regularly: when I know an app like Spotify has an update, I intentionally close it so Prebuilt Apps takes care of it and cleans up my menu bar.

Selina: If the app is open, needs an update, and it’s been four or eight hours since the last notification, the user sees a branded notification: “this app needs an update — update or defer?” It times out after sixty seconds, and if you do nothing it auto-defers. The menu bar shows a red dot when there’s an update, shows when it will be enforced, and lets people update on their own. The deadline shows in the pop-up and in the menu bar. If you’ve never set a prompt frequency, we default to eight hours — the idea behind four or eight hours is whether users see it once or twice in an average workday.

Self Service and Update Prompts

Selina: The prompt can be branded based on your Self Service configuration; if you don’t have one, we use the default Addigy icon. It shows the enforcement date — how long you have. When the enforcement date is reached, it says: this has to update, it’s updating in sixty seconds, or do it now.

Selina: In the Self Service app, an assigned Prebuilt App (Microsoft Teams, say) shows an Install button and app details, so people can install whenever they want. When there’s an update, the Install button changes to Update — we don’t have a dedicated updates tab yet; the menu bar is what shows only apps needing updates. If you click Update while the app is open, it will be closed to install the update, and the window closes automatically. When we close an open app for an update, we relaunch it when it’s done — it doesn’t stay closed. It also shows what version things will be updated to.

Selina: More menu bar details: with Self Service you can also expose options like chat and open-a-ticket, all controlled in your Self Service configuration. The menu bar shows only updates (not installs) and when each will be forced, plus an Update All button when there’s more than one.

Reporting

Selina: We have reporting on Prebuilt Apps in historical dashboards. Please send feedback if you’re using it, whether it’s useful, and — more importantly — what else you’d like to report on that isn’t covered. Email [email protected]; I’m always interested in exactly what reports folks want for their Prebuilt Apps catalog.

Advanced: SQLite Database, Terminal Commands, and API

Selina: This one is brand new. Shout-out to Jeremy Kenny at Global Mac IT, one of our customers, who built an open-source Support App plug-in for Prebuilt Apps. If you’re not using our menu bar but you use the Support App menu bar — which I don’t blame you for, it’s a great app — you can still utilize Prebuilt Apps. When we built the menu bar, we changed how Prebuilt Apps works on the machine and got intentional about status tracking. We do that through a SQLite database on macOS — every Apple device ships with SQLite3 — and Prebuilt Apps uses it to give you real-time status of exactly what’s happening on the machine.

Selina: There are also terminal commands you can run for ad hoc installations if you want to use scripting, and an API where you can update configurations and query the catalog. If you have programmatic workflows, the API is there — combined, you can build some really cool tools; the Support App plug-in was the first. As always: treat API keys like passwords, use least-privilege permissions, and don’t post keys in scripts in plain text. And for anyone tapping into the SQLite database: query only, please. If you modify anything in it, things will probably break, we won’t be able to diagnose it, and it’ll be a head-scratcher for my engineers. Read-only — and if you do modify it, at your own risk. Test — don’t do any of this in production first. This KB article was literally just created. If you’re new to Prebuilt Apps, start in the UI and think about the advanced stuff later.

Forward Looking

Selina: We’re working on a CVE detection dashboard for Prebuilt Apps — in progress. If you want to see it and give feedback, email [email protected]. I’m actively looking for feedback on the next iteration, which is auto-remediation, and I’m desperately looking for UI feedback on our first iteration, especially around reporting.

Selina: We’re also aware of updating the end-user notification UI — we currently use macmanage and want to move it to Swift. We’re working on providing the helper-tool MDM profiles to you for eligible apps; that will be opt-in — I’ve learned the hard way about forcing anything on anyone. Yes, notifications do not respect Do Not Disturb — we’re in discovery; it happens to me too, I hear you. Same with unified notifications — one notification saying “some apps need to update” instead of app-specific ones. Note: when we do unified notifications, they’ll only apply if you use Self Service or the menu bar (we’ll probably do one first, then the other). If you use neither, I have nowhere to send you for unified notifications yet.

Selina: Before Q&A: this recording will be sent to you and available on the website. For more sessions, go to addigy.com/events, and leave feedback on topics you want deep dives into — we’d love to hear what you want to know more about instead of guessing. And something new and exciting: we’re doing a free virtual conference called Frontier. It will be recorded, so if your time zone isn’t conducive, it’ll be available. Reach out to your account team or scan the QR code. And if you want to learn more about Prebuilt Apps, raise your hand in the poll and we’ll reach out — or contact your account team or [email protected].

Q&A

Daniel: Two similar questions from Pedro and Yaron: they like the menu bar, but they want the same functionality in the Self Service app.

Selina: So — a section to see just the available updates in Self Service, and I’m assuming you also want the deadline for when the app will be enforced. Pedro’s confirmed in chat. I’m now the PM for Self Service, so I’m looking into it and gathering metrics to get it prioritized imminently — I don’t have a date. Pedro, I got your email this morning; Yaron, if you can also email [email protected], that helps me show the demand for the feature request. It’s not available now, but because we’re working on the CVE work, we have an interesting window between the dashboard iteration and auto-remediation, and I’m trying to land some quality-of-life improvements there.

Daniel: Next question: is it a good idea to select the most common applications in a high-level policy set to update-only, then in a lower policy set them to install-and-latest to cover updates even if the user self-installed the apps?

Selina: Yes — a lot of people do that. Many folks bulk-select everything in the catalog as update-only, then use install-and-latest in the lower policies. That’s fine in a hierarchy. One caution, which came in through in-app feedback: conflicts in flex policies. If a flex policy is set to update-only and a location policy in the hierarchy is install-and-latest, right now it’s a little random whether it actually installs — which is not the behavior I want. I want conflict resolution where the install wins. Today, with flex policies, it can be unpredictable, so I don’t recommend having conflicts between those two settings. In a policy hierarchy, update-only at the top level with install-and-latest as an override below it will work — it’s only when flex policies come into play that things get weird.

Daniel: If a Prebuilt App is set to update on a time frame longer than the release frequency, does that mean the app is never updated, or only updated when the app is closed?

Selina: Potentially, yes. If you’ve set fourteen days and the app is constantly updating, you could be in a situation where it’s potentially always out of date. Let me use Google Chrome as an example and pretend it only updates once a week (which we know isn’t true). If your enforcement is two weeks, the enforcement keeps getting reset when a new version comes out, and you’re stuck unless the user closes the app. It gets more complicated with days-to-delay, which can extend it by another week — then you’ve got a three-week window before things get enforced. I highly recommend not setting fourteen days across the board. Look at what’s actually happening for each app: Microsoft pretty reliably updates every Tuesday; Chrome updates randomly, multiple times a week; other developers update less. Check the app details — you can see exactly when we’ve published every version. If the catalog updated an app six times in the last week, it needs a tighter enforcement date.

Daniel: Ken says: my issue with Prebuilt Apps is that if a user hits the deadline with several running apps not updated, they get pop-up after pop-up.

Selina: Yep. I’m looking at unifying that. The enforcement-date pop-up is the only one we’re not throttling right now, because I don’t want to start closing apps without telling people the app needs to be updated. Unifying it and showing all the apps is something we’re looking at — the open question is, if a user has ten or fifteen apps, how long does that list get, and what does the notification look like in the extremes? We’re still brainstorming. To be clear for everyone: when you reach the deadline, you get the “this app is out of date and will update now” pop-up per app that hits enforcement — not a single combined one. I don’t have a better answer for that yet.

Daniel: One from chat: the best place to request apps is the Feedback button on the Prebuilt Apps page — in the catalog or in policies — and link us to the app you’re talking about. Is that still the best way?

Selina: Yes — or email [email protected]; it will show up either way. If you come up with other questions or want to chat more, I’ll be emailing at least one of you after this. If you want a deep dive on the CVE dashboard and remediation, email [email protected] — you’ll get me and every other product manager, and I’ll send out Calendlys to talk with us and our designer. Thank you all for joining. If you’re building cool stuff with that new advanced-users KB, please let me know — I love seeing what people come up with in the community. Have a good rest of your day, and I look forward to my inbox being blown up.

Frequently Asked Questions

What are Addigy Prebuilt Apps?

Prebuilt Apps is Addigy’s catalog of pre-packaged, automatically updated macOS applications. Instead of manually packaging and repackaging software like browsers that update multiple times a week, admins deploy apps from the catalog with “latest” and auto-update settings, and Addigy keeps them patched — including relevant MDM, PPPC, and system extension profiles for most apps.

How many apps are in the Addigy Prebuilt Apps catalog?

The catalog contains 220 actively maintained apps (241 total entries, counting Intel/Apple Silicon duplicates and end-of-life apps), up from 160 at the previous talk. It also includes OS update blockers as separate one-off items, and the catalog grows continuously based on customer requests.

How do I request a new app for the Prebuilt Apps catalog?

Request apps through Addigy’s in-app product feedback button on the Prebuilt Apps page, or email [email protected] — ideally with a direct download link. The app must have a publicly available installer outside the Mac App Store and require no license keys or configuration during installation.

How does Prebuilt Apps handle conflicting settings across policies?

The guiding philosophy is that the most restrictive setting wins. For example, a four-hour notification frequency beats eight hours, the tightest update schedule wins, and a menu bar turned off in the Self Service configuration overrides a policy that has it on. Some conflicts, like install-and-update versus update-only in flex policies, are still being resolved and are documented in Addigy’s policy inheritance KB.

What is the update-only option in Prebuilt Apps?

Update-only tells Addigy not to install an app, but to keep it up to date if it’s already on the device — useful for self-installed software like Spotify or Discord. When the policy runs, it checks whether the app is installed; if not, it does nothing, and if it is installed and out of date, it updates it.

Will Prebuilt Apps downgrade an app to an older version?

No. Prebuilt Apps only checks whether the installed version is older than the catalog version. If the user has a newer version than the policy specifies, Addigy leaves it alone, on the principle that the most recent version is generally the most secure.

What happens if I remove a Prebuilt App from a policy?

The app stays on the device — Prebuilt Apps intentionally has no removal scripts, to prevent accidentally uninstalling a critical app fleet-wide. The app simply stops being kept up to date by Prebuilt Apps. To remove it, use the app’s own removal process and test before running it in production.

How does the Prebuilt Apps update process work on the device?

Every thirty minutes when the policy runs, Addigy performs a silent check. If a schedule is configured and the device is outside the window, nothing happens. If the app is closed and out of date, it updates silently. If the app is open, the user gets a branded notification (throttled to every four or eight hours) to update or defer, with the enforcement deadline shown in the notification and menu bar; at the deadline the update is enforced, and the app relaunches after updating.