---
title: kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly
framework: security
role: symbol
role_heading: Global Variable
path: security/ksecattraccessiblewhenpasscodesetthisdeviceonly
---

# kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly

The data in the keychain can only be accessed when the device is unlocked. Only available if a passcode is set on the device.

## Declaration

```swift
let kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly: CFString
```

## Mentioned in

Restricting keychain item accessibility

## Discussion

Discussion This is recommended for items that only need to be accessible while the application is in the foreground. Items with this attribute never migrate to a new device. After a backup is restored to a new device, these items are missing. No items can be stored in this class on devices without a passcode. Disabling the device passcode causes all items in this class to be deleted.
