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.