NetMuteNetMute
Privacy & Security

XProtect, Gatekeeper & macOS Security — What They Do and What They Miss

macOS has a reputation for being secure, and Apple's built-in security features deserve a lot of the credit. XProtect, Gatekeeper, and Notarization form a three-layer defense that silently protects millions of Mac users every day. But most users have no idea what these systems actually do, how they work under the hood, or — critically — what they do not protect against. This guide is a technical explainer for Mac users who want to understand their security posture. We will break down each protection layer, explain how they interact, and identify the specific gaps that remain even when everything is working as designed.

10 min read
Updated

What is XProtect?

XProtect is Apple's built-in anti-malware technology that has been part of macOS since Snow Leopard in 2009. It operates as a signature-based detection system, meaning it maintains a database of known malware signatures and checks files against this database when they are opened, executed, or modified. The XProtect system has two primary components as of macOS Ventura and later. The first is XProtect itself, which performs signature-based scanning when you open files that have been downloaded from the internet or received through other quarantine-aware applications. When macOS applies a quarantine flag to a downloaded file, opening that file triggers an XProtect scan. If the file matches a known malware signature, macOS blocks it and displays a warning. The second component is XProtect Remediator, which replaced the older Malware Removal Tool. XProtect Remediator runs periodic background scans — not just when files are opened — and can detect and remove malware that has already been installed on the system. This is a significant improvement over the original XProtect, which could only block threats at the point of first execution. The remediator scans run silently and do not require user interaction. Apple updates XProtect signatures through a background process that is separate from regular macOS system updates. These signature updates are delivered through the Software Update mechanism and are installed automatically, even if the user has automatic updates disabled for major macOS versions. This means XProtect's malware definitions stay current without requiring the user to do anything. The limitation of XProtect is inherent to all signature-based detection: it can only catch what it already knows about. If a new piece of malware has not been analyzed and added to Apple's signature database, XProtect will not detect it. There is always a window between when new malware appears in the wild and when Apple ships an updated signature. XProtect also does not perform behavioral analysis or heuristic detection — it does not flag suspicious behavior patterns, only known malicious code signatures.

What is Gatekeeper?

Gatekeeper is macOS's first line of defense when you open applications, and it focuses on trust verification rather than malware detection. While XProtect asks the question of whether a file is known to be malicious, Gatekeeper asks a different question: is this software from a source that Apple has verified? When you download and open an application, Gatekeeper checks two things. First, it verifies that the application has been code-signed with a valid Apple Developer ID certificate. Code signing cryptographically links the application to a registered developer, ensuring the software has not been tampered with since the developer built it. If the signature is invalid or missing, Gatekeeper blocks the application and warns the user. Second, for applications distributed outside the Mac App Store, Gatekeeper checks that the software has been notarized by Apple. We will cover notarization in detail in the next section, but in essence, it means Apple's automated systems have scanned the application and confirmed it does not contain known malware or malicious components. Gatekeeper's mac security settings can be configured in System Settings under Privacy and Security. The default setting allows applications from the App Store and identified developers. There is no longer a visible option to allow applications from anywhere — users who want to bypass Gatekeeper for a specific app must right-click and choose Open, or use a terminal command to disable Gatekeeper entirely, which Apple strongly discourages. The quarantine system works in tandem with Gatekeeper. When you download a file through a quarantine-aware application — Safari, Chrome, Mail, Messages, and most popular apps — macOS attaches an extended attribute called com.apple.quarantine to the file. This attribute is what triggers Gatekeeper's checks when you try to open the file. Files that arrive through non-quarantine-aware channels, such as some command-line download tools or direct file copies, may not receive this attribute and therefore may not trigger Gatekeeper checks. This is a known edge case that sophisticated users and attackers alike are aware of.

How Notarization Completes the Picture

Notarization is the newest component of Apple's security triad, introduced in macOS Mojave and required for all software distributed outside the Mac App Store since macOS Catalina. It bridges the gap between code signing, which verifies who built the software, and XProtect, which checks for known malware. The notarization process works like this: before distributing their application, a developer uploads it to Apple's notary service. Apple's automated systems scan the application for known malware, check for problematic code-signing issues, and verify that the application uses approved APIs and does not include known malicious components. If the software passes these checks, Apple issues a notarization ticket that is stapled to the application or made available online. This process typically takes only a few minutes. When a user opens a notarized application, Gatekeeper verifies the notarization ticket — either from the stapled ticket attached to the application or by checking Apple's servers online. This confirms that Apple's systems have reviewed the software and found no issues at the time of submission. The user sees a standard confirmation dialog rather than a scary warning about unidentified developers. Notarization is not a full security review. Apple's documentation is clear about this — it is an automated scan, not a human code review. It checks for known malware signatures, validates the code-signing chain, and verifies that the app uses the hardened runtime, which restricts certain potentially dangerous capabilities like code injection and dynamic library hijacking. But it does not analyze the application's behavior at runtime, examine what data it collects, or evaluate what network connections it makes. This distinction matters because notarization gives users a sense of confidence that can be misleading. A notarized application has cleared Apple's automated checks, but it can still engage in behavior that users would find objectionable — aggressive data collection, persistent tracking, connections to advertising networks, or telemetry that sends detailed usage data to third-party servers. Notarization confirms the absence of known malware, not the presence of privacy-respecting behavior. This is one of the most important gaps in the macOS security model for privacy-conscious users.

What macOS Security Does NOT Protect Against

Understanding what XProtect, Gatekeeper, and Notarization do not cover is just as important as understanding what they do. These gaps are not bugs or oversights — they reflect the specific scope of each tool. But for users who care about privacy and security beyond basic malware prevention, these gaps are significant. Outgoing network connections are completely unmonitored by macOS security features. XProtect does not check what servers your applications connect to. Gatekeeper does not evaluate whether an app sends data to advertising networks. Notarization does not review what telemetry an application collects. Once an app is running on your Mac, it can make outgoing connections to any server on the internet, and none of Apple's built-in macOS security features will flag or block this behavior. Tracker and analytics blocking is not part of the macOS security model. A notarized, code-signed application from a verified developer can include Facebook SDK tracking, Google Analytics, Mixpanel, Amplitude, or any other analytics and advertising framework. These connections are not malware — they are deliberate features built into the software. macOS has no mechanism to detect, report, or block them. Privacy-invasive behavior from legitimate software is entirely outside the scope of these protections. An application that reads your clipboard contents, monitors your file system activity within its sandbox permissions, or builds detailed profiles of your usage patterns is not violating any macOS security policy as long as it operates within its granted permissions. The permission system in macOS controls access to specific resources like the camera, microphone, and contacts, but it does not control or monitor outgoing data transmission. New and zero-day malware has a window of opportunity before signatures are updated. While XProtect Remediator has improved the response time, there is always a period where brand-new threats are not yet detected. Social engineering attacks that convince users to bypass Gatekeeper — a disturbingly common tactic — render the entire code-signing and notarization chain ineffective because the user has explicitly overridden the protection. These gaps are not theoretical. They affect every Mac user, every day, through the applications they already have installed and trust.

Filling the Gaps — Outgoing Traffic Control

The most significant gap in macOS security features is the lack of outgoing traffic monitoring and control. Apple gives you tools to verify that software is legitimate before it runs, and tools to detect known malware. What it does not give you is any way to see or control what your legitimate, notarized, Gatekeeper-approved applications are doing with your network connection after they are running. This is where application-level firewalls come in. Unlike the built-in macOS firewall, which primarily controls incoming connections and is relatively basic in its filtering capabilities, an outgoing traffic firewall monitors every connection that every application on your Mac attempts to make to the internet. NetMute is purpose-built for this gap. When an application on your Mac tries to connect to a server — whether it is a legitimate content server, an analytics endpoint, an advertising network, or an unknown tracking domain — NetMute intercepts the connection and shows you exactly what is happening. You see the application name, the destination server, and the frequency of connections. From there, you can allow or block any connection with a single click. This provides a layer of protection that XProtect, Gatekeeper, and Notarization were never designed to offer. Instead of asking whether software is malicious, NetMute lets you ask a more nuanced and practical question: is this specific application connecting to servers I am comfortable with? A code-signed, notarized text editor that quietly sends keystroke analytics to a third-party server is not malware by any definition Apple uses, but it is behavior most users would want to block if they knew about it. The value of outgoing traffic control becomes immediately apparent the first time you use it. Most users are surprised by how many connections their applications make in the background — and how many of those connections go to domains associated with tracking, advertising, and data collection rather than the application's core functionality. NetMute is available at netmute.com as a one-time purchase. No subscription, no account required. It works alongside macOS built-in security features, filling the specific gap they leave open: giving you visibility and control over what your applications are sending out into the world.

Take control of outgoing connections

XProtect and Gatekeeper protect against malware. NetMute protects against everything else — showing you every outgoing connection and letting you decide what gets through.

Download NetMute