*Just a preface I do not have anything noticeably wrong with my computer (MacBook Pro (Retina, 15-inch, Mid 2015), Mojave 10.14.4), and I was learning as I went along.

In the process of cleaning out my computer I noticed a key in my login keychain just named <key>.

Who dis? identityservicesd.app

The only information listed is identityservicesd.app

What can be found on Google, StackExchange, StackOverflow, Apple Support Forums, Reddit and blogs about identityserviced:

  1. Macinside.info - identityservicesd is a background process (Identity Services Daemon) that deals with third-party credentials.
  2. People complaining of bugging, performance issues, login errors, repetitive prompts requesting system access, security concerns.
  3. Recommending solutions to fix these problems (if you have these problems, more or less everyone is recommended to follow these steps)
  4. No other information about the process.

My questions are:

  • What is identityservicesd?
  • Why is it that it's credentials in my keychain just named <key>?

Even if this is a background benign process, it does seem to act in a strange way when it does have to interact with the user. This can be very concerning or confusing for someone not knowledgeable (me). Since information on this is pretty limited, at the least I hope to clarify the strange behavior I described.


I would like to also list the process I used when searching my system as I think someone inexperienced like myself would probably search everywhere, and cobble together something similar. Hopefully this will either save you from wasting time or at the least help.

Where is this on my mac?

Using sudo find / -iname "*identityservicesd*"

/System/Library/Sandbox/Profiles/com.apple.identityservicesd.sb    
/System/Library/LaunchAgents/com.apple.identityservicesd.plist 
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/MacOS/identityservicesd
/private/var/root/Library/Preferences/com.apple.identityservicesd.plist
/private/var/folders/cy/[hash#]/T/com.apple.identityservicesd
/private/var/folders/cy/[hash#]/C/com.apple.identityservicesd
~/Library/Preferences/ByHost/com.apple.identityservicesd.[hash#].plist
~/Library/Preferences/com.apple.identityservicesd.plist

Note: [hash#] self inputed. Also I had success earlier getting past the operation not permitted error by changing privacy permissions, but the error returned again and now can't access it.

sudo locate -i "*identityservicesd*" worked predictably. Only searching within system files, but going deeper into the files.

/System/Library/LaunchAgents/com.apple.identityservicesd.plist
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Info.plist
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/MacOS
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/MacOS/identityservicesd
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/PkgInfo
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/FaceTime.icns
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/IDS.icns
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/ar.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/ar.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/ar.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/ca.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/ca.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/ca.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/com.apple.private.alloy.digitalhealth.plist
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/com.apple.private.alloy.facetime.lp.plist
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/cs.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/cs.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/cs.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/da.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/da.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/da.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/de.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/de.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/de.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/el.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/el.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/el.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/en.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/en.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/en.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/en_AU.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/en_AU.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/en_AU.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/en_GB.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/en_GB.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/en_GB.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/es.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/es.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/es.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/es_419.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/es_419.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/es_419.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/fi.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/fi.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/fi.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/fr.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/fr.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/fr.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/fr_CA.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/fr_CA.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/fr_CA.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/he.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/he.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/he.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/hi.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/hi.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/hi.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/hr.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/hr.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/hr.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/hu.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/hu.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/hu.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/iCloud.icns
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/id.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/id.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/id.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/it.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/it.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/it.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/ja.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/ja.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/ja.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/ko.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/ko.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/ko.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/ms.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/ms.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/ms.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/nl.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/nl.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/nl.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/no.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/no.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/no.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/pl.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/pl.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/pl.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/pt.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/pt.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/pt.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/pt_PT.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/pt_PT.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/pt_PT.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/ro.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/ro.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/ro.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/ru.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/ru.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/ru.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/sk.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/sk.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/sk.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/sv.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/sv.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/sv.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/th.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/th.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/th.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/tr.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/tr.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/tr.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/uk.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/uk.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/uk.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/vi.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/vi.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/vi.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/zh_CN.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/zh_CN.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/zh_CN.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/zh_HK.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/zh_HK.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/zh_HK.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/zh_TW.lproj
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/zh_TW.lproj/IDSLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/Resources/zh_TW.lproj/IdentityServicesLocalizable.strings
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/_CodeSignature
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/_CodeSignature/CodeResources
/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/version.plist
/System/Library/Sandbox/Profiles/com.apple.identityservicesd.sb 

Everything looks fine.

Broadening the search to "identityservices", find catches both "identityservices" and "identityservicesd" files from ~/Library

sudo mdfind -onlyin ~/Library "identityservices" found 0 files in ~/Library.

Both commands search differently of course.

What started this whole hunt was that mdfind was able to find other file name searches in ~/Library, but ~/Library/IdentityServices was not found when searched for. At the start I thought this was something malicious, but I'm thinking it might just be unlisted.

Certificates

codesign --display --verbose=4 /System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app

Executable=/System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/MacOS/identityservicesd
Identifier=com.apple.identityservicesd
Format=app bundle with Mach-O thin (x86_64)
CodeDirectory v=20100 size=60332 flags=0x0(none) hashes=1878+5 location=embedded
Platform identifier=7
VersionPlatform=1
VersionMin=658944
VersionSDK=658944
Hash type=sha256 size=32
CandidateCDHash sha256= <hash>
Hash choices=sha256
Page size=4096
CDHash= <hash>
Signature size=4485
Authority=Software Signing
Authority=Apple Code Signing Certification Authority
Authority=Apple Root CA
Info.plist entries=31
TeamIdentifier=not set
Sealed Resources version=2 rules=13 files=84
Internal requirements count=1 size=76

What concerned me was 3 things: the TeamIdentifier was not set, the Authority, and when I couldn't get an output from shasum -a 256 <file>.

  1. openssl dgst -sha256 <file> sorted out the hash check.
  2. Still dont know why TeamIdentifier is not set
  3. According to Apple's TrustStore "Apple Root CA" is trusted, however I cannot find mention of both "Apple Code Signing Certification Authority" or "Software Signing"

Edit: after some more research I was able to I feel pretty confident that:

1. identityservicesd TeamIdentifier not being set is fine, after comparing it to terminal.app Apple Dev Code Signing Guide

2. "Software Signing" also fine. Software Signing


Solution 1:

Everything you post seems on the up and up.

  • official apple daemon that would be expected to encrypt data and routinely generate keys and store them in the keychain
  • lots of matches for the framework on disk
  • signed app that is valid
  • well documented SDK and API - https://developer.apple.com/library/archive/documentation/Networking/Conceptual/IdentityServices_ProgGuide/Introduction/Introduction.html

It is a system daemon that helps manage personally identifying and/or items that could be tracked or compromise your privacy if they were just stored plainly on the filesystem in standard locations.