UNPKG

react-native-keychain

Version:
129 lines 5.58 kB
/** * Enum representing when a keychain item is accessible. */ export declare enum ACCESSIBLE { /** The data in the keychain item can be accessed only while the device is unlocked by the user. */ WHEN_UNLOCKED = "AccessibleWhenUnlocked", /** The data in the keychain item cannot be accessed after a restart until the device has been unlocked once by the user. */ AFTER_FIRST_UNLOCK = "AccessibleAfterFirstUnlock", /** The data in the keychain item can always be accessed regardless of whether the device is locked. */ ALWAYS = "AccessibleAlways", /** The data in the keychain can only be accessed when the device is unlocked. Only available if a passcode is set on the device. Items with this attribute never migrate to a new device. */ WHEN_PASSCODE_SET_THIS_DEVICE_ONLY = "AccessibleWhenPasscodeSetThisDeviceOnly", /** The data in the keychain item can be accessed only while the device is unlocked by the user. Items with this attribute do not migrate to a new device. */ WHEN_UNLOCKED_THIS_DEVICE_ONLY = "AccessibleWhenUnlockedThisDeviceOnly", /** The data in the keychain item cannot be accessed after a restart until the device has been unlocked once by the user. Items with this attribute never migrate to a new device. */ AFTER_FIRST_UNLOCK_THIS_DEVICE_ONLY = "AccessibleAfterFirstUnlockThisDeviceOnly" } /** * Enum representing access control options. */ export declare enum ACCESS_CONTROL { /** Constraint to access an item with either Touch ID or passcode. */ USER_PRESENCE = "UserPresence", /** Constraint to access an item with Touch ID for any enrolled fingers. */ BIOMETRY_ANY = "BiometryAny", /** Constraint to access an item with Touch ID for currently enrolled fingers. */ BIOMETRY_CURRENT_SET = "BiometryCurrentSet", /** Constraint to access an item with the device passcode. */ DEVICE_PASSCODE = "DevicePasscode", /** Constraint to use an application-provided password for data encryption key generation. */ APPLICATION_PASSWORD = "ApplicationPassword", /** Constraint to access an item with Touch ID for any enrolled fingers or passcode. */ BIOMETRY_ANY_OR_DEVICE_PASSCODE = "BiometryAnyOrDevicePasscode", /** Constraint to access an item with Touch ID for currently enrolled fingers or passcode. */ BIOMETRY_CURRENT_SET_OR_DEVICE_PASSCODE = "BiometryCurrentSetOrDevicePasscode" } /** * Enum representing authentication types. */ export declare enum AUTHENTICATION_TYPE { /** Device owner is going to be authenticated by biometry or device passcode. */ DEVICE_PASSCODE_OR_BIOMETRICS = "AuthenticationWithBiometricsDevicePasscode", /** Device owner is going to be authenticated using a biometric method (Touch ID or Face ID). */ BIOMETRICS = "AuthenticationWithBiometrics" } /** * Enum representing security levels. * @platform Android */ export declare enum SECURITY_LEVEL { /** Requires for the key to be stored in the Android Keystore, separate from the encrypted data. */ SECURE_SOFTWARE, /** Requires for the key to be stored on a secure hardware (Trusted Execution Environment or Secure Environment). * Read this article for more information: https://developer.android.com/privacy-and-security/keystore#ExtractionPrevention * */ SECURE_HARDWARE, /** No security guarantees needed (default value). Credentials can be stored in FB Secure Storage. */ ANY } /** * Enum representing types of biometric authentication supported by the device. */ export declare enum BIOMETRY_TYPE { /** Device supports authentication with Touch ID. * @platform iOS */ TOUCH_ID = "TouchID", /** Device supports authentication with Face ID. * @platform iOS */ FACE_ID = "FaceID", /** Device supports authentication with Optic ID. * @platform visionOS */ OPTIC_ID = "OpticID", /** Device supports authentication with Fingerprint. * @platform Android */ FINGERPRINT = "Fingerprint", /** Device supports authentication with Face Recognition. * @platform Android */ FACE = "Face", /** Device supports authentication with Iris Recognition. * @platform Android */ IRIS = "Iris" } /** * Enum representing cryptographic storage types for sensitive data. * * Security Level Categories: * * 1. High Security (Biometric Authentication Required): * - AES_GCM: For sensitive local data (passwords, personal info) * - RSA: For asymmetric operations (signatures, key exchange) * * 2. Medium Security (No Authentication): * - AES_GCM_NO_AUTH: For app-level secrets and cached data * * 3. Legacy/Deprecated: * - AES_CBC: Outdated, use AES_GCM_NO_AUTH instead * * @platform Android */ export declare enum STORAGE_TYPE { /** * AES encryption in CBC (Cipher Block Chaining) mode. * Provides data confidentiality without authentication. * @deprecated Use AES_GCM_NO_AUTH instead. */ AES_CBC = "KeystoreAESCBC", /** * AES encryption in GCM (Galois/Counter Mode). * Provides both data confidentiality and authentication. */ AES_GCM_NO_AUTH = "KeystoreAESGCM_NoAuth", /** * AES-GCM encryption with biometric authentication. * Requires user authentication for both encryption and decryption operations. */ AES_GCM = "KeystoreAESGCM", /** * RSA encryption with biometric authentication. * Uses asymmetric encryption and requires biometric authentication. */ RSA = "KeystoreRSAECB" } //# sourceMappingURL=enums.d.ts.map