Security Model

How each operating system isolates apps and protects the system from compromise.

Linux

Relies on traditional Unix user/group permissions plus optional mandatory access control frameworks like SELinux (Red Hat-based distributions) or AppArmor (Debian/Ubuntu-based) to confine what individual processes can access.

Windows

Uses User Account Control (UAC) to require explicit elevation for administrative actions, alongside Windows Defender’s built-in antivirus/anti-malware and, on modern hardware, virtualization-based security features like Credential Guard.

macOS

Combines Unix permissions with Gatekeeper (blocking unsigned or unnotarized apps by default), the App Sandbox for Mac App Store apps, and System Integrity Protection, which prevents even root from modifying critical system files.

iOS

The strictest of the group: every app runs in its own sandbox with no access to other apps’ data by default, all code must be signed by Apple, and the system enforces this even against the device owner outside of narrow, explicit permission grants.

Android

Each app runs under its own Linux user ID and sandbox by default, with a runtime permission system (introduced in Android 6.0) requiring explicit user approval for sensitive capabilities like location, camera, or contacts access.

ChromeOS

Combines verified boot, a read-only core OS, and per-app/per-tab sandboxing to minimize persistent compromise; as of 2026 it maintains a strong track record with no widely documented successful virus or ransomware attacks against the platform.