---
title: Item attribute keys and values
framework: security
role: collectionGroup
role_heading: API Collection
path: security/item-attribute-keys-and-values
---

# Item attribute keys and values

Specify the attributes of keychain items.

## Overview

Overview In addition to the data that you want to store, keychain items also have attributes that allow you to find them later and that allow you to control how the data is used or shared. You specify attributes as the keys and values of a dictionary. The available attribute keys are listed below. Typically, the corresponding value is a string, a number, or some other basic type, as given in each key description. In a few cases, the value comes instead from a list of a known constants. These predefined attribute values are also listed below, grouped according to the key that they serve. note: Not all attributes apply to every item class. You can find the list of attributes applicable to a given class in the relevant item class value definition, namely in kSecClassGenericPassword, kSecClassInternetPassword, kSecClassCertificate, kSecClassIdentity, or kSecClassKey.

## Topics

### General Item Attribute Keys

- [kSecAttrAccess](security/ksecattraccess.md)
- [kSecAttrAccessControl](security/ksecattraccesscontrol.md)
- [kSecAttrAccessible](security/ksecattraccessible.md)
- [kSecAttrAccessGroup](security/ksecattraccessgroup.md)
- [kSecAttrSynchronizable](security/ksecattrsynchronizable.md)
- [kSecAttrCreationDate](security/ksecattrcreationdate.md)
- [kSecAttrModificationDate](security/ksecattrmodificationdate.md)
- [kSecAttrDescription](security/ksecattrdescription.md)
- [kSecAttrComment](security/ksecattrcomment.md)
- [kSecAttrCreator](security/ksecattrcreator.md)
- [kSecAttrType](security/ksecattrtype.md)
- [kSecAttrLabel](security/ksecattrlabel.md)
- [kSecAttrIsInvisible](security/ksecattrisinvisible.md)
- [kSecAttrIsNegative](security/ksecattrisnegative.md)
- [kSecAttrSyncViewHint](security/ksecattrsyncviewhint.md)
- [kSecAttrPersistantReference](security/ksecattrpersistantreference.md)
- [kSecAttrPersistentReference](security/ksecattrpersistentreference.md)
- [kSecUseUserIndependentKeychain](security/ksecuseuserindependentkeychain.md)

### Password Attribute Keys

- [kSecAttrAccount](security/ksecattraccount.md)
- [kSecAttrService](security/ksecattrservice.md)
- [kSecAttrGeneric](security/ksecattrgeneric.md)
- [kSecAttrSecurityDomain](security/ksecattrsecuritydomain.md)
- [kSecAttrServer](security/ksecattrserver.md)
- [kSecAttrProtocol](security/ksecattrprotocol.md)
- [kSecAttrAuthenticationType](security/ksecattrauthenticationtype.md)
- [kSecAttrPort](security/ksecattrport.md)
- [kSecAttrPath](security/ksecattrpath.md)

### Certificate Attribute Keys

- [kSecAttrSubject](security/ksecattrsubject.md)
- [kSecAttrIssuer](security/ksecattrissuer.md)
- [kSecAttrSerialNumber](security/ksecattrserialnumber.md)
- [kSecAttrSubjectKeyID](security/ksecattrsubjectkeyid.md)
- [kSecAttrPublicKeyHash](security/ksecattrpublickeyhash.md)
- [kSecAttrCertificateType](security/ksecattrcertificatetype.md)
- [kSecAttrCertificateEncoding](security/ksecattrcertificateencoding.md)

### Cryptographic Key Attribute Keys

- [kSecAttrKeyClass](security/ksecattrkeyclass.md)
- [kSecAttrApplicationLabel](security/ksecattrapplicationlabel.md)
- [kSecAttrApplicationTag](security/ksecattrapplicationtag.md)
- [kSecAttrKeyType](security/ksecattrkeytype.md)
- [kSecAttrPRF](security/ksecattrprf.md)
- [kSecAttrSalt](security/ksecattrsalt.md)
- [kSecAttrRounds](security/ksecattrrounds.md)
- [kSecAttrKeySizeInBits](security/ksecattrkeysizeinbits.md)
- [kSecAttrEffectiveKeySize](security/ksecattreffectivekeysize.md)
- [kSecAttrTokenID](security/ksecattrtokenid.md)

### Cryptographic Key Usage Attribute Keys

- [kSecAttrIsPermanent](security/ksecattrispermanent.md)
- [kSecAttrIsSensitive](security/ksecattrissensitive.md)
- [kSecAttrIsExtractable](security/ksecattrisextractable.md)
- [kSecAttrCanEncrypt](security/ksecattrcanencrypt.md)
- [kSecAttrCanDecrypt](security/ksecattrcandecrypt.md)
- [kSecAttrCanDerive](security/ksecattrcanderive.md)
- [kSecAttrCanSign](security/ksecattrcansign.md)
- [kSecAttrCanVerify](security/ksecattrcanverify.md)
- [kSecAttrCanWrap](security/ksecattrcanwrap.md)
- [kSecAttrCanUnwrap](security/ksecattrcanunwrap.md)

### Protocol Values

- [kSecAttrProtocolFTP](security/ksecattrprotocolftp.md)
- [kSecAttrProtocolFTPAccount](security/ksecattrprotocolftpaccount.md)
- [kSecAttrProtocolHTTP](security/ksecattrprotocolhttp.md)
- [kSecAttrProtocolIRC](security/ksecattrprotocolirc.md)
- [kSecAttrProtocolNNTP](security/ksecattrprotocolnntp.md)
- [kSecAttrProtocolPOP3](security/ksecattrprotocolpop3.md)
- [kSecAttrProtocolSMTP](security/ksecattrprotocolsmtp.md)
- [kSecAttrProtocolSOCKS](security/ksecattrprotocolsocks.md)
- [kSecAttrProtocolIMAP](security/ksecattrprotocolimap.md)
- [kSecAttrProtocolLDAP](security/ksecattrprotocolldap.md)
- [kSecAttrProtocolAppleTalk](security/ksecattrprotocolappletalk.md)
- [kSecAttrProtocolAFP](security/ksecattrprotocolafp.md)
- [kSecAttrProtocolTelnet](security/ksecattrprotocoltelnet.md)
- [kSecAttrProtocolSSH](security/ksecattrprotocolssh.md)
- [kSecAttrProtocolFTPS](security/ksecattrprotocolftps.md)
- [kSecAttrProtocolHTTPS](security/ksecattrprotocolhttps.md)
- [kSecAttrProtocolHTTPProxy](security/ksecattrprotocolhttpproxy.md)
- [kSecAttrProtocolHTTPSProxy](security/ksecattrprotocolhttpsproxy.md)
- [kSecAttrProtocolFTPProxy](security/ksecattrprotocolftpproxy.md)
- [kSecAttrProtocolSMB](security/ksecattrprotocolsmb.md)
- [kSecAttrProtocolRTSP](security/ksecattrprotocolrtsp.md)
- [kSecAttrProtocolRTSPProxy](security/ksecattrprotocolrtspproxy.md)
- [kSecAttrProtocolDAAP](security/ksecattrprotocoldaap.md)
- [kSecAttrProtocolEPPC](security/ksecattrprotocoleppc.md)
- [kSecAttrProtocolIPP](security/ksecattrprotocolipp.md)
- [kSecAttrProtocolNNTPS](security/ksecattrprotocolnntps.md)
- [kSecAttrProtocolLDAPS](security/ksecattrprotocolldaps.md)
- [kSecAttrProtocolTelnetS](security/ksecattrprotocoltelnets.md)
- [kSecAttrProtocolIMAPS](security/ksecattrprotocolimaps.md)
- [kSecAttrProtocolIRCS](security/ksecattrprotocolircs.md)
- [kSecAttrProtocolPOP3S](security/ksecattrprotocolpop3s.md)

### Authentication Type Values

- [kSecAttrAuthenticationTypeNTLM](security/ksecattrauthenticationtypentlm.md)
- [kSecAttrAuthenticationTypeMSN](security/ksecattrauthenticationtypemsn.md)
- [kSecAttrAuthenticationTypeDPA](security/ksecattrauthenticationtypedpa.md)
- [kSecAttrAuthenticationTypeRPA](security/ksecattrauthenticationtyperpa.md)
- [kSecAttrAuthenticationTypeHTTPBasic](security/ksecattrauthenticationtypehttpbasic.md)
- [kSecAttrAuthenticationTypeHTTPDigest](security/ksecattrauthenticationtypehttpdigest.md)
- [kSecAttrAuthenticationTypeHTMLForm](security/ksecattrauthenticationtypehtmlform.md)
- [kSecAttrAuthenticationTypeDefault](security/ksecattrauthenticationtypedefault.md)

### Key Class Values

- [kSecAttrKeyClassPublic](security/ksecattrkeyclasspublic.md)
- [kSecAttrKeyClassPrivate](security/ksecattrkeyclassprivate.md)
- [kSecAttrKeyClassSymmetric](security/ksecattrkeyclasssymmetric.md)

### Key Type Values

- [kSecAttrKeyTypeRSA](security/ksecattrkeytypersa.md)
- [kSecAttrKeyTypeDSA](security/ksecattrkeytypedsa.md)
- [kSecAttrKeyTypeAES](security/ksecattrkeytypeaes.md)
- [kSecAttrKeyTypeDES](security/ksecattrkeytypedes.md)
- [kSecAttrKeyType3DES](security/ksecattrkeytype3des.md)
- [kSecAttrKeyTypeRC4](security/ksecattrkeytyperc4.md)
- [kSecAttrKeyTypeRC2](security/ksecattrkeytyperc2.md)
- [kSecAttrKeyTypeCAST](security/ksecattrkeytypecast.md)
- [kSecAttrKeyTypeECDSA](security/ksecattrkeytypeecdsa.md)
- [kSecAttrKeyTypeEC](security/ksecattrkeytypeec.md)
- [kSecAttrKeyTypeECSECPrimeRandom](security/ksecattrkeytypeecsecprimerandom.md)

### Synchronizability Values

- [kSecAttrSynchronizableAny](security/ksecattrsynchronizableany.md)

### Token ID Values

- [kSecAttrTokenIDSecureEnclave](security/ksecattrtokenidsecureenclave.md)

### Accessibility Values

- [kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly](security/ksecattraccessiblewhenpasscodesetthisdeviceonly.md)
- [kSecAttrAccessibleWhenUnlockedThisDeviceOnly](security/ksecattraccessiblewhenunlockedthisdeviceonly.md)
- [kSecAttrAccessibleWhenUnlocked](security/ksecattraccessiblewhenunlocked.md)
- [kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly](security/ksecattraccessibleafterfirstunlockthisdeviceonly.md)
- [kSecAttrAccessibleAfterFirstUnlock](security/ksecattraccessibleafterfirstunlock.md)
- [kSecAttrAccessibleAlwaysThisDeviceOnly](security/ksecattraccessiblealwaysthisdeviceonly.md)
- [kSecAttrAccessibleAlways](security/ksecattraccessiblealways.md)

### Pseudorandom Function Values

- [kSecAttrPRFHmacAlgSHA1](security/ksecattrprfhmacalgsha1.md)
- [kSecAttrPRFHmacAlgSHA224](security/ksecattrprfhmacalgsha224.md)
- [kSecAttrPRFHmacAlgSHA256](security/ksecattrprfhmacalgsha256.md)
- [kSecAttrPRFHmacAlgSHA384](security/ksecattrprfhmacalgsha384.md)
- [kSecAttrPRFHmacAlgSHA512](security/ksecattrprfhmacalgsha512.md)

### Access Group Values

- [kSecAttrAccessGroupToken](security/ksecattraccessgrouptoken.md)
