secure-storage
Installation
SKILL.md
Secure Storage on Mobile
Instructions
Follow these guidelines to persist sensitive values without leaking them to disk, backups, or co-resident apps.
1. What Belongs Where
| Data | Android | iOS |
|---|---|---|
| Opaque tokens (refresh, session) | Keystore-wrapped blob or EncryptedSharedPreferences |
Keychain (kSecClassGenericPassword) |
| Symmetric / asymmetric keys | Android Keystore | Keychain (kSecClassKey) / Secure Enclave |
| Structured data (blobs, JSON) | EncryptedFile or SQLCipher |
File with NSFileProtectionComplete or SQLCipher |
| User preferences that are not sensitive | SharedPreferences / DataStore |
NSUserDefaults |
Never place tokens or PII in SharedPreferences, NSUserDefaults, or a plain SQLite file.