The SDK works across the widest surface — no fork crashes; every fork can chat.
Capability
Bare RN (old + New Arch)
Expo dev build / EAS
Expo Go
Device key
✅ Secure Enclave / Keystore
✅ (via config plugin)
⚠️ software P-256 fallback
Secure storage
✅ react-native-keychain
✅ expo-secure-store
✅ expo-secure-store
Realtime (Centrifugo + SSE)
✅
✅
✅
Push
✅ (host Firebase)
✅
⛔ remote push N/A in Go
Attachments
✅
✅
✅ (Expo pickers)
Prebuilt UI
✅
✅
✅
The hardware key needs a dev build (Expo Go can’t load native modules); the SDK
transparently falls back to a software ECDSA P-256 key, so you can evaluate
the whole flow in Expo Go and ship hardware-backed with no code change.
Import react-native-get-random-values once, at the very top of index.js,
before any other import. The crypto layer depends on it being registered first.
Autolinking handles the native module. Run the Expo modules installer once
(the device-key module is authored with the Expo Modules API), then install pods:
npx install-expo-modules@latestcd ios && pod install