@hituchhimpa/react-native-auth-vault 0.1.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -1
- package/ReactNativeAuthVault.podspec +1 -1
- package/package.json +22 -2
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# 🛡️ React Native Auth Vault
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@hituchhimpa/react-native-auth-vault)
|
|
4
|
-
[](LICENSE)
|
|
5
5
|
[](#)
|
|
6
6
|
|
|
7
7
|
A premium, native-first security and authentication library for React Native. Provides secure, hardware-backed cryptographic storage and runtime security auditing for enterprise-grade mobile applications.
|
|
@@ -33,6 +33,21 @@ cd ios && pod install
|
|
|
33
33
|
|
|
34
34
|
---
|
|
35
35
|
|
|
36
|
+
## ⚙️ Configuration
|
|
37
|
+
|
|
38
|
+
### iOS Setup (Mandatory)
|
|
39
|
+
For Face ID to work on iOS, you **must** add `NSFaceIDUsageDescription` to your application's `ios/YourAppName/Info.plist` file. If this is missing, the app will crash during biometric verification.
|
|
40
|
+
|
|
41
|
+
```xml
|
|
42
|
+
<key>NSFaceIDUsageDescription</key>
|
|
43
|
+
<string>This app requires Face ID permission to securely authenticate and access your credentials.</string>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Android Setup
|
|
47
|
+
No manual manifest setup is required. The library automatically bundles the required Android Biometric permissions.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
36
51
|
## 🚀 Usage
|
|
37
52
|
|
|
38
53
|
### 1. Store & Retrieve with Biometric Protection
|
|
@@ -105,6 +120,15 @@ const checkDeviceSecurity = () => {
|
|
|
105
120
|
|
|
106
121
|
---
|
|
107
122
|
|
|
123
|
+
## 🛡️ Under the Hood: Security Architecture
|
|
124
|
+
|
|
125
|
+
Here is how your data is secured at the hardware level:
|
|
126
|
+
|
|
127
|
+
* **Android Keystore (TEE/StrongBox)**: When biometric auth is enabled, the library generates a 256-bit AES key and locks it behind OS biometric policy requirements (`setUserAuthenticationRequired(true)`). When disabled, the key is generated in hardware but unlocked silently when the device is unlocked.
|
|
128
|
+
* **iOS Secure Enclave**: On FaceID-enabled devices, keys are generated inside the physical Secure Enclave. Access is restricted using Keychain Access Control flags (`kSecAttrAccessControl` with `.userPresence`).
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
108
132
|
## 🛠️ API Reference
|
|
109
133
|
|
|
110
134
|
| Method | Type | Description |
|
|
@@ -127,3 +151,7 @@ Developed and maintained by [Hitesh Chhimpa](https://github.com/hituchhimpa7).
|
|
|
127
151
|
## 📄 License
|
|
128
152
|
|
|
129
153
|
MIT
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
<p align="center">Made with ❤️ by <a href="https://github.com/hituchhimpa7">Hitesh Chhimpa</a></p>
|
|
@@ -11,7 +11,7 @@ Pod::Spec.new do |s|
|
|
|
11
11
|
s.authors = package["author"]
|
|
12
12
|
|
|
13
13
|
s.platforms = { :ios => min_ios_version_supported }
|
|
14
|
-
s.source = { :git => "https://github.com/
|
|
14
|
+
s.source = { :git => "https://github.com/HituChhimpa7/react-native-auth-vault.git", :tag => "#{s.version}" }
|
|
15
15
|
|
|
16
16
|
s.source_files = "ios/**/*.{h,m,mm,swift,cpp}"
|
|
17
17
|
s.private_header_files = "ios/**/*.h"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hituchhimpa/react-native-auth-vault",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Native-first React Native security and authentication library",
|
|
5
5
|
"main": "./lib/module/index.js",
|
|
6
6
|
"types": "./lib/typescript/src/index.d.ts",
|
|
@@ -40,7 +40,27 @@
|
|
|
40
40
|
"keywords": [
|
|
41
41
|
"react-native",
|
|
42
42
|
"ios",
|
|
43
|
-
"android"
|
|
43
|
+
"android",
|
|
44
|
+
"security",
|
|
45
|
+
"authentication",
|
|
46
|
+
"biometrics",
|
|
47
|
+
"keychain",
|
|
48
|
+
"keystore",
|
|
49
|
+
"secure-storage",
|
|
50
|
+
"faceid",
|
|
51
|
+
"touchid",
|
|
52
|
+
"encryption",
|
|
53
|
+
"decryption",
|
|
54
|
+
"cryptography",
|
|
55
|
+
"secure-enclave",
|
|
56
|
+
"strongbox",
|
|
57
|
+
"credentials",
|
|
58
|
+
"auth",
|
|
59
|
+
"token-storage",
|
|
60
|
+
"jailbreak-detection",
|
|
61
|
+
"root-detection",
|
|
62
|
+
"device-security",
|
|
63
|
+
"audit"
|
|
44
64
|
],
|
|
45
65
|
"repository": {
|
|
46
66
|
"type": "git",
|