macOS system accounts

Who is _hidd? Decode Mac system accounts.

Saw _hidd, _coreaudiod or another underscore name in Activity Monitor or ps and wondered if you should worry? Type the name — or paste the whole ps aux row — and see whether it matches one of the 129 built-in role accounts captured from a real Mac, with Apple's own label for it. A name outside that capture is reported as not in the list — never guessed at. The whole capture is listed below.

Looked up in this tab — nothing is uploaded. Verify it yourself: open DevTools → Network, then press Look up. No request fires.

Look up a macOS system account
try:

What the underscore accounts are

macOS runs its background services under dedicated role accounts — usernames that start with an underscore — instead of running everything as root or as you. Giving each service its own restricted identity limits what a flaw in it can reach; it reduces the blast radius rather than guaranteeing isolation. Activity Monitor’s User column and the first column of ps aux show which account each process runs as; the account is not the program itself.

These are not ordinary login accounts. In the capture below every one of the 129 has no password set at all — the password field is *, with no authentication authority — and 127 of them have /usr/bin/false as their shell, which refuses a login session. Two ship differently: _uucp (/usr/sbin/uucico) is the historic Unix-to-Unix copy service, and _mbsetupuser (/bin/bash) is the account Setup Assistant runs as — macOS itself can hand that one a random one-time auto-login while first-time setup is in progress, which is why it is the entry you may briefly see at the login window.

Check it yourself, without this page

  • dscl . -read /Users/_hidd RealName — Apple’s own label for the account.
  • ps aux | grep -v grep | grep _hidd — what is actually running under it right now.
  • In Activity Monitor, add the User column (View → Columns) to see who runs what.

What this tool will never do

It will never tell you a process is “safe” or “malware” — no honest lookup can. A familiar account name is not identity proof: if a process worries you, inspect its executable path and code signature. This page identifies the account and explains what it exists for — the same honest posture CoreGuard takes in the app: it observes and explains, and every hardware-danger warning is free.

FAQ

Is _hidd (or another _underscore name) malware?
Seeing an _underscore name in the USER column of Activity Monitor or ps is normal: macOS ships a set of role accounts so that each system service can run with only the access it needs, and the 129 listed here are the ones on the reference Mac. The underscore is a convention, not a guarantee — a name that is not in this list may come from another macOS release or from software you installed. And a familiar name is not identity proof either: if a PROCESS worries you, check its executable path and code signature rather than judging by the name. This page never issues a safe/unsafe verdict.
Can these accounts log in to my Mac?
Not as ordinary users. In this capture every one of the 129 has no password set at all (the password field is *, with no authentication authority), and 127 of them have /usr/bin/false as their shell, which refuses a login session. Two ship differently: _uucp (/usr/sbin/uucico) is the historic Unix-to-Unix copy service, and _mbsetupuser (/bin/bash) is the account Setup Assistant runs as — macOS itself can hand that one a random one-time auto-login while first-time setup is in progress, which is why it is the entry you may briefly see at the login window. They exist so services, and setup, can run under a restricted identity.
Why does Activity Monitor show them at all?
macOS runs many services under dedicated role accounts instead of root, which limits what a flaw in any one of them can reach. Activity Monitor’s USER column shows which account each process runs as — the _underscore entry is the account, and the process name next to it is the program.
Is this list the same on every Mac?
Mostly, but it varies by macOS version — Apple adds and retires role accounts across releases. This table was captured from a real Mac running macOS 26.5.2 (Tahoe); another release may have a different set and a different count. The lookup tells you when a name is not in this capture.

Looking for a process, not an account?

If the name has no underscore, it’s usually a process. We’ve profiled the ones people search most:

Common macOS daemon processes with links to explainers
ProcessWhat it isExplainer
birdiCloud Drive’s Documents-in-the-Cloud layerwhat is bird?
coreaudiodThe system audio enginewhat is coreaudiod?
coreauthdAuthorization prompts (Touch ID / password sheets)what is coreauthd?
coreduetdOn-device usage patterns for system suggestionswhat is coreduetd?
fileproviderdCloud-storage file coordination (iCloud, Dropbox…)what is fileproviderd?
mediaanalysisdPhoto/video analysis (subjects, text in images)what is mediaanalysisd?
mobileassetdDownloads updatable system asset packages (voices, fonts, dictionaries, on-device models)what is mobileassetd?
peopledThe People/contacts intelligence daemonwhat is peopled?
photoanalysisdPhotos library analysis (faces, scenes)what is photoanalysisd?
searchpartydFind My’s offline-finding daemonwhat is searchpartyd?
tccdPrivacy-permission checks (TCC)what is tccd?

All 129 underscore role accounts on macOS 26.5.2

Captured from a real Mac on 2026-07-25 with dscl . -list /Users (the roster), dscl . -list /Users UniqueID (the UIDs) and dscl . -list /Users RealName (the labels). The Apple label column is the account’s own RealName field as macOS ships it — not our wording. Notes are ours, only where we can stand behind them.

All macOS underscore system accounts with UID and Apple's label
AccountUIDApple labelNote
_accessoryupdater278Accessory Update DaemonThe account for accessory firmware updates (accessoryupdaterd, uarpd) — AirPods, keyboards and similar.
_amavisd83AMaViS DaemonA legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac.
_analyticsd263Analytics DaemonRuns analyticsd, which aggregates local diagnostics/analytics data on the Mac.
_aonsensed300Always On Sense Daemon
_appinstalld273App Install Daemon
_appleevents55AppleEvents DaemonRuns appleeventsd, which routes Apple Events — the messages apps and scripts use to talk to each other.
_applepay260applepay AccountRuns Apple Pay’s NFC and Secure Element daemons (nfcd, seld).
_appowner87Application Owner
_appserver79Application ServerA legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac.
_appstore33Mac App Store ServiceRuns App Store helper services.
_ard67Apple Remote Desktop
_assetcache235Asset Cache ServiceRuns AssetCacheLocatorService, which finds content caches on the network. The local content cache itself is a different job that does not run under this account, so activity here is not a sign that Content Caching is switched on.
_astris245Astris Services
_atsserver97ATS ServerThe legacy Apple Type Services (font server) account.
_audiomxd294Audio and MediaExperience DaemonRuns audiomxd, the audio/media-experience daemon. It sits alongside coreaudiod rather than replacing it.
_avbdeviced229Ethernet AVB Device Daemon
_avphidbridge288Apple Virtual Platform HID Bridge
_backgroundassets291Background Assets Service
_biome289BiomeRuns biomed, the on-device store of behavioural signals behind suggestions and Focus. A separate agent, biomesyncd, handles syncing — so this account is the local store, not the network side of it.
_calendar93Calendar
_captiveagent258captiveagent
_ces32Certificate Enrollment Service
_clamav82ClamAV DaemonA legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac.
_cmiodalassistants262CoreMedia IO Assistants UserThe camera stack’s account: cameracaptured, appleh13camerad and the UVC/DriverKit camera assistants run as it. Activity under it tracks camera use — the camera indicator light, not this row, is what tells you the camera is on.
_coreaudiod202Core Audio DaemonThe service account for coreaudiod, macOS's audio engine. If the PROCESS coreaudiod is busy, that's an audio story, not an account problem. Read the explainer
_coremediaiod236Core Media IO Daemon
_coreml280CoreML Services
_corespeechd306CoreSpeech ServicesRuns the system side of CoreSpeech — speech recognition plumbing, including the “Hey Siri” path.
_ctkd259ctkd AccountRuns ctkd, the CryptoTokenKit daemon behind smart cards and hardware tokens.
_cvmsroot212CVMS Root
_cvs72CVS ServerA legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac.
_cyrus77Cyrus AdministratorA legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac.
_darwindaemon284Darwin Daemon
_datadetectors257DataDetectors
_demod275Demo Daemon
_devdocs59Developer Documentation
_devicemgr220Device Management Server
_diagnosticservicesd307Diagnostic ServicesRuns diagnosticservicesd, which manages the Mac’s own diagnostic reports.
_diskimagesiod271DiskImages IO Daemon
_displaypolicyd244Display Policy Daemon
_distnote241DistNoteRuns distnoted, the distributed-notification broker. Many accounts show a distnoted of their own — that is by design.
_dovecot214Dovecot AdministratorA legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac.
_dovenull227Dovecot AuthenticationA legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac.
_dpaudio215DP Audio
_driverkit270DriverKitHosts user-space drivers (DriverKit “dexts”) — on the reference Mac four of them: Bluetooth serial, Dock Channel serial, HID and Wi-Fi. Third-party drivers can run here too, so the executable path is what identifies one.
_eligibilityd297OS Eligibility Daemon
_eppc71Apple Events User
_findmydevice254Find My Device Daemon
_fpsd265FPS DaemonRuns FairPlay streaming/DRM services.
_ftp98FTP DaemonA legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac.
_gamecontrollerd247Game Controller DaemonRuns the game-controller service (gamecontrollerd) that discovers and manages gamepads. On the reference Mac it runs with no controller attached at all, so seeing it does not mean a gamepad is connected.
_geod56Geo Services Daemon
_hidd261HID Service UserThe account com.apple.hidd runs as. On this Mac that job exposes one service, com.apple.hidpreferenceshelper, and the binary identifies itself as HIDPreferencesHelper — input-device preferences rather than the whole HID stack. It starts on demand, so the row appears only while it is up.
_iconservices240IconServicesRuns the icon-rendering/caching services behind Finder and Dock icons.
_installassistant25Install Assistant
_installcoordinationd274Install Coordination Daemon
_installer96InstallerAn ownership-only account: no launch job runs as it on the reference Mac, but it owns installer bookkeeping such as /Library/Receipts/db. You will rarely see it in Activity Monitor.
_jabber84Jabber XMPP ServerA legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac.
_kadmin_admin218Kerberos Admin Service
_kadmin_changepw219Kerberos Change Password Service
_knowledgegraphd279Knowledge Graph Daemon
_krb_anonymous234Open Directory Kerberos Anonymous
_krb_changepw232Open Directory Kerberos Change Password Service
_krb_kadmin231Open Directory Kerberos Admin Service
_krb_kerberos233Open Directory Kerberos
_krb_krbtgt230Open Directory Kerberos Ticket Granting Ticket
_krbfast246Kerberos FAST Account
_krbtgt217Kerberos Ticket Granting Ticket
_launchservicesd239_launchservicesd
_lda211Local Delivery AgentA legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac.
_locationd205Location DaemonRuns locationd, the Location Services daemon.
_logd272Log Daemon
_lp26Printing Services
_mailman78Mailman List ServerA legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac.
_mbsetupuser248Setup UserThe account Setup Assistant runs as during first-time setup, and the one entry here that can appear as a user at the login window: macOS hands it a random one-time auto-login while setup is in progress. Seeing it afterwards points at a setup or update that did not finish — worth looking into, though the name alone proves nothing either way.
_mcxalr54MCX AppLaunch
_mdnsresponder65mDNSResponderRuns mDNSResponder — Bonjour/DNS. Constant small network activity here is by design.
_mds_stores308Spotlight File Metadata Index DaemonRuns mds_stores, the process that writes Spotlight’s metadata index — this is the account to look at for indexing CPU or disk writes, not _spotlight. Read the explainer
_mmaintenanced283mmaintenanced
_mobileasset253MobileAsset User
_mobilegestalthelper293MobileGestaltHelper
_modelmanagerd301Model ManagerRuns modelmanagerd and the on-device inference provider — the local model plumbing behind Apple Intelligence features.
_mysql74MySQL ServerA legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac.
_naturallanguaged304Natural Language Services
_nearbyd268Proximity and Ranging DaemonRuns nearbyd, whose launch job exposes the Nearby Interaction ranging services — distance and direction to nearby devices. AirDrop and Handoff themselves are sharingd’s job, not this account’s.
_netbios222NetBIOSThe account for legacy NetBIOS/SMB name services.
_netstatistics228Network Statistics Daemon
_networkd24Network ServicesRuns symptomsd, which watches network conditions for the system. Constant low-level activity here is expected.
_neuralengine296AppleNeuralEngineRuns aneuserd, the user-space side of the Apple Neural Engine. Its launch job also wakes on app-registration and IOKit events, so activity here does not have to mean a model is running.
_notification_proxy285Notification Proxy
_nsurlsessiond242NSURLSession DaemonRuns nsurlsessiond, which carries out background URLSession transfers — downloads and uploads an app explicitly hands to the system to finish on its own. Not all of an app’s network traffic goes through it.
_oahd441OAH DaemonRuns oahd from /usr/libexec/rosetta/ — the Rosetta 2 translation service that lets Intel apps run on Apple silicon. It appears once you launch such an app.
_ondemand249On Demand Resource Daemon
_postfix27Postfix Mail ServerA legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac.
_postgres216PostgreSQL ServerA legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac.
_qtss76QuickTime Streaming ServerA legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac.
_reportmemoryexception269ReportMemoryExceptionRuns ReportMemoryException, which files a diagnostic report when a process crosses its memory-footprint limit. Such a report does not by itself mean the app was terminated.
_reportsystemmemory302ReportSystemMemory
_rmd277Remote Management Daemon
_sandbox60Seatbelt
_screensaver203Screensaver
_scsd31Service Configuration Service
_securityagent92SecurityAgent
_sntpd281SNTP Server Daemon
_softwareupdate200Software Update ServiceRuns the software-update helpers (softwareupdated and friends) — macOS, firmware and system-asset updates. App Store app updates are a different account’s job (_appstore).
_spinandd305SPINAND Daemon
_spotlight89SpotlightApple labels it Spotlight, but the indexing you are probably looking for does NOT run here: mds runs as root, mds_stores as _mds_stores, and mdworker_shared as the logged-in user.
_sshd75sshd Privilege separation
_svn73SVN ServerA legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac.
_swtransparencyd303Software Transparency Services
_systemstatusd298SystemStatus Services
_taskgated13Task Gate Daemon
_teamsserver94TeamsServerA legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac.
_terminusd295Terminus
_timed266Time Sync DaemonRuns timed, the time-sync daemon that keeps the clock right.
_timezone210AutoTimeZoneDaemon
_tokend91Token Daemon
_trustd282trustdRuns trustd, which evaluates certificate trust for the whole system.
_trustevaluationagent208Trust Evaluation Agent
_unknown99Unknown User
_update_sharing95Update Sharing
_usbmuxd213iPhone OS Device HelperRuns usbmuxd, the USB multiplexer that talks to iPhones and iPads over cable and Wi-Fi.
_uucp4Unix to Unix Copy Protocol
_warmd224Warm Daemon
_webauthserver221Web Auth Server
_windowserver88WindowServerThe account for WindowServer, which draws everything on screen. High WindowServer CPU is a graphics-load story.
_www70World Wide Web ServerA legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac.
_wwwproxy252WWW ProxyA legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac.
_xserverdocs251macOS Server Documents ServiceA legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac.