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.
Wondering which process is actually behind a CPU or disk spike — not just whose account it runs under? CoreGuard names the top resource-hogging process in plain English, and every danger warning is free; Pro adds the detailed per-app write timeline and a portable Condition Report.
Get notified at launchWhat 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:
| Process | What it is | Explainer |
|---|---|---|
bird | iCloud Drive’s Documents-in-the-Cloud layer | what is bird? |
coreaudiod | The system audio engine | what is coreaudiod? |
coreauthd | Authorization prompts (Touch ID / password sheets) | what is coreauthd? |
coreduetd | On-device usage patterns for system suggestions | what is coreduetd? |
fileproviderd | Cloud-storage file coordination (iCloud, Dropbox…) | what is fileproviderd? |
mediaanalysisd | Photo/video analysis (subjects, text in images) | what is mediaanalysisd? |
mobileassetd | Downloads updatable system asset packages (voices, fonts, dictionaries, on-device models) | what is mobileassetd? |
peopled | The People/contacts intelligence daemon | what is peopled? |
photoanalysisd | Photos library analysis (faces, scenes) | what is photoanalysisd? |
searchpartyd | Find My’s offline-finding daemon | what is searchpartyd? |
tccd | Privacy-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.
| Account | UID | Apple label | Note |
|---|---|---|---|
_accessoryupdater | 278 | Accessory Update Daemon | The account for accessory firmware updates (accessoryupdaterd, uarpd) — AirPods, keyboards and similar. |
_amavisd | 83 | AMaViS Daemon | A legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac. |
_analyticsd | 263 | Analytics Daemon | Runs analyticsd, which aggregates local diagnostics/analytics data on the Mac. |
_aonsensed | 300 | Always On Sense Daemon | — |
_appinstalld | 273 | App Install Daemon | — |
_appleevents | 55 | AppleEvents Daemon | Runs appleeventsd, which routes Apple Events — the messages apps and scripts use to talk to each other. |
_applepay | 260 | applepay Account | Runs Apple Pay’s NFC and Secure Element daemons (nfcd, seld). |
_appowner | 87 | Application Owner | — |
_appserver | 79 | Application Server | A legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac. |
_appstore | 33 | Mac App Store Service | Runs App Store helper services. |
_ard | 67 | Apple Remote Desktop | — |
_assetcache | 235 | Asset Cache Service | Runs 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. |
_astris | 245 | Astris Services | — |
_atsserver | 97 | ATS Server | The legacy Apple Type Services (font server) account. |
_audiomxd | 294 | Audio and MediaExperience Daemon | Runs audiomxd, the audio/media-experience daemon. It sits alongside coreaudiod rather than replacing it. |
_avbdeviced | 229 | Ethernet AVB Device Daemon | — |
_avphidbridge | 288 | Apple Virtual Platform HID Bridge | — |
_backgroundassets | 291 | Background Assets Service | — |
_biome | 289 | Biome | Runs 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. |
_calendar | 93 | Calendar | — |
_captiveagent | 258 | captiveagent | — |
_ces | 32 | Certificate Enrollment Service | — |
_clamav | 82 | ClamAV Daemon | A legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac. |
_cmiodalassistants | 262 | CoreMedia IO Assistants User | The 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. |
_coreaudiod | 202 | Core Audio Daemon | The 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 |
_coremediaiod | 236 | Core Media IO Daemon | — |
_coreml | 280 | CoreML Services | — |
_corespeechd | 306 | CoreSpeech Services | Runs the system side of CoreSpeech — speech recognition plumbing, including the “Hey Siri” path. |
_ctkd | 259 | ctkd Account | Runs ctkd, the CryptoTokenKit daemon behind smart cards and hardware tokens. |
_cvmsroot | 212 | CVMS Root | — |
_cvs | 72 | CVS Server | A legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac. |
_cyrus | 77 | Cyrus Administrator | A legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac. |
_darwindaemon | 284 | Darwin Daemon | — |
_datadetectors | 257 | DataDetectors | — |
_demod | 275 | Demo Daemon | — |
_devdocs | 59 | Developer Documentation | — |
_devicemgr | 220 | Device Management Server | — |
_diagnosticservicesd | 307 | Diagnostic Services | Runs diagnosticservicesd, which manages the Mac’s own diagnostic reports. |
_diskimagesiod | 271 | DiskImages IO Daemon | — |
_displaypolicyd | 244 | Display Policy Daemon | — |
_distnote | 241 | DistNote | Runs distnoted, the distributed-notification broker. Many accounts show a distnoted of their own — that is by design. |
_dovecot | 214 | Dovecot Administrator | A legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac. |
_dovenull | 227 | Dovecot Authentication | A legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac. |
_dpaudio | 215 | DP Audio | — |
_driverkit | 270 | DriverKit | Hosts 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. |
_eligibilityd | 297 | OS Eligibility Daemon | — |
_eppc | 71 | Apple Events User | — |
_findmydevice | 254 | Find My Device Daemon | — |
_fpsd | 265 | FPS Daemon | Runs FairPlay streaming/DRM services. |
_ftp | 98 | FTP Daemon | A legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac. |
_gamecontrollerd | 247 | Game Controller Daemon | Runs 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. |
_geod | 56 | Geo Services Daemon | — |
_hidd | 261 | HID Service User | The 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. |
_iconservices | 240 | IconServices | Runs the icon-rendering/caching services behind Finder and Dock icons. |
_installassistant | 25 | Install Assistant | — |
_installcoordinationd | 274 | Install Coordination Daemon | — |
_installer | 96 | Installer | An 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. |
_jabber | 84 | Jabber XMPP Server | A legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac. |
_kadmin_admin | 218 | Kerberos Admin Service | — |
_kadmin_changepw | 219 | Kerberos Change Password Service | — |
_knowledgegraphd | 279 | Knowledge Graph Daemon | — |
_krb_anonymous | 234 | Open Directory Kerberos Anonymous | — |
_krb_changepw | 232 | Open Directory Kerberos Change Password Service | — |
_krb_kadmin | 231 | Open Directory Kerberos Admin Service | — |
_krb_kerberos | 233 | Open Directory Kerberos | — |
_krb_krbtgt | 230 | Open Directory Kerberos Ticket Granting Ticket | — |
_krbfast | 246 | Kerberos FAST Account | — |
_krbtgt | 217 | Kerberos Ticket Granting Ticket | — |
_launchservicesd | 239 | _launchservicesd | — |
_lda | 211 | Local Delivery Agent | A legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac. |
_locationd | 205 | Location Daemon | Runs locationd, the Location Services daemon. |
_logd | 272 | Log Daemon | — |
_lp | 26 | Printing Services | — |
_mailman | 78 | Mailman List Server | A legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac. |
_mbsetupuser | 248 | Setup User | The 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. |
_mcxalr | 54 | MCX AppLaunch | — |
_mdnsresponder | 65 | mDNSResponder | Runs mDNSResponder — Bonjour/DNS. Constant small network activity here is by design. |
_mds_stores | 308 | Spotlight File Metadata Index Daemon | Runs 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 |
_mmaintenanced | 283 | mmaintenanced | — |
_mobileasset | 253 | MobileAsset User | — |
_mobilegestalthelper | 293 | MobileGestaltHelper | — |
_modelmanagerd | 301 | Model Manager | Runs modelmanagerd and the on-device inference provider — the local model plumbing behind Apple Intelligence features. |
_mysql | 74 | MySQL Server | A legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac. |
_naturallanguaged | 304 | Natural Language Services | — |
_nearbyd | 268 | Proximity and Ranging Daemon | Runs 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. |
_netbios | 222 | NetBIOS | The account for legacy NetBIOS/SMB name services. |
_netstatistics | 228 | Network Statistics Daemon | — |
_networkd | 24 | Network Services | Runs symptomsd, which watches network conditions for the system. Constant low-level activity here is expected. |
_neuralengine | 296 | AppleNeuralEngine | Runs 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_proxy | 285 | Notification Proxy | — |
_nsurlsessiond | 242 | NSURLSession Daemon | Runs 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. |
_oahd | 441 | OAH Daemon | Runs 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. |
_ondemand | 249 | On Demand Resource Daemon | — |
_postfix | 27 | Postfix Mail Server | A legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac. |
_postgres | 216 | PostgreSQL Server | A legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac. |
_qtss | 76 | QuickTime Streaming Server | A legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac. |
_reportmemoryexception | 269 | ReportMemoryException | Runs 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. |
_reportsystemmemory | 302 | ReportSystemMemory | — |
_rmd | 277 | Remote Management Daemon | — |
_sandbox | 60 | Seatbelt | — |
_screensaver | 203 | Screensaver | — |
_scsd | 31 | Service Configuration Service | — |
_securityagent | 92 | SecurityAgent | — |
_sntpd | 281 | SNTP Server Daemon | — |
_softwareupdate | 200 | Software Update Service | Runs the software-update helpers (softwareupdated and friends) — macOS, firmware and system-asset updates. App Store app updates are a different account’s job (_appstore). |
_spinandd | 305 | SPINAND Daemon | — |
_spotlight | 89 | Spotlight | Apple 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. |
_sshd | 75 | sshd Privilege separation | — |
_svn | 73 | SVN Server | A legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac. |
_swtransparencyd | 303 | Software Transparency Services | — |
_systemstatusd | 298 | SystemStatus Services | — |
_taskgated | 13 | Task Gate Daemon | — |
_teamsserver | 94 | TeamsServer | A legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac. |
_terminusd | 295 | Terminus | — |
_timed | 266 | Time Sync Daemon | Runs timed, the time-sync daemon that keeps the clock right. |
_timezone | 210 | AutoTimeZoneDaemon | — |
_tokend | 91 | Token Daemon | — |
_trustd | 282 | trustd | Runs trustd, which evaluates certificate trust for the whole system. |
_trustevaluationagent | 208 | Trust Evaluation Agent | — |
_unknown | 99 | Unknown User | — |
_update_sharing | 95 | Update Sharing | — |
_usbmuxd | 213 | iPhone OS Device Helper | Runs usbmuxd, the USB multiplexer that talks to iPhones and iPads over cable and Wi-Fi. |
_uucp | 4 | Unix to Unix Copy Protocol | — |
_warmd | 224 | Warm Daemon | — |
_webauthserver | 221 | Web Auth Server | — |
_windowserver | 88 | WindowServer | The account for WindowServer, which draws everything on screen. High WindowServer CPU is a graphics-load story. |
_www | 70 | World Wide Web Server | A legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac. |
_wwwproxy | 252 | WWW Proxy | A legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac. |
_xserverdocs | 251 | macOS Server Documents Service | A legacy macOS Server–era account. Apple still ships the entry, but nothing runs as it on the reference Mac. |