choose-storage
Installation
SKILL.md
Choose Storage
Pick the right Expo storage primitive.
Decision tree
- Tokens, passwords, API keys → expo-secure-store (Keychain on iOS)
- Tiny preferences (<10 keys) → AsyncStorage or Zustand persist
- Fast key/value (>10 keys, frequent reads) → MMKV (
react-native-mmkv) - Structured data, complex queries → expo-sqlite + drizzle-orm
- Large blobs / images → expo-file-system
- Cross-device sync → CloudKit private DB (requires native bridge or expo-cloud-storage if available)
expo-secure-store
import * as SecureStore from 'expo-secure-store';
await SecureStore.setItemAsync('authToken', token);
const token = await SecureStore.getItemAsync('authToken');