{"adoption": {"forks": 537, "observed_at": "2026-08-28T04:08:06.070489+00:00", "stars": 3473}, "canonical_url": "https://ross.abutalabs.com/products/react-native-keychain", "card": {"archived": false, "artifact_type": "library", "description": ":key: Keychain Access for React Native", "domain": ["mobile-development", "security", "cross-platform"], "enriched": true, "function": ["security", "cryptography", "auth"], "health_score": 80, "homepage": null, "language": "Kotlin", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["oblador/react-native-keychain"], "name": "oblador/react-native-keychain", "platform": [], "pushed_at": "2026-04-29T12:37:22+00:00", "repo": "oblador/react-native-keychain", "stars": 3473, "tags": ["react-native", "keychain", "keystore", "secure-storage", "credentials", "biometrics", "faceid", "ios", "android", "mobile"], "topics": ["react-native", "keychain-access", "ios", "android"], "urls": [], "use_cases": ["securely store user passwords and tokens in a react native app", "save credentials to the ios keychain from javascript", "store secrets in the android keystore", "require faceid or fingerprint to unlock stored credentials", "persist auth tokens safely across app restarts", "replace asyncstorage with encrypted credential storage"], "what_it_is": "A React Native library providing access to the iOS Keychain and Android Keystore for securely storing credentials such as passwords, tokens, and other sensitive data. It supports biometric authentication like FaceID and is widely used in production apps.", "when_to_avoid": ["you are not building a React Native app", "you only need to store non-sensitive data that does not require encryption", "you need secure storage for a native iOS or Android app without React Native"], "when_to_choose": ["you are building a React Native app that needs to store sensitive credentials securely", "you want hardware-backed storage using iOS Keychain or Android Keystore", "you need biometric-gated access to secrets like FaceID or fingerprint"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/react-native-keychain", "repo": "oblador/react-native-keychain", "role": "main", "score": 70}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:06.070489+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:36:34.210567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3ffa556241f511a54c14ef17e51bdc437db3faebc8f48c409815c780422c6df", "fetched_at": "2026-08-28T04:08:06.070489+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oblador/react-native-keychain"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:06.070489+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:36:34.210567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3ffa556241f511a54c14ef17e51bdc437db3faebc8f48c409815c780422c6df", "fetched_at": "2026-08-28T04:08:06.070489+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oblador/react-native-keychain"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:36:34.210567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3ffa556241f511a54c14ef17e51bdc437db3faebc8f48c409815c780422c6df", "fetched_at": "2026-08-28T04:08:06.070489+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oblador/react-native-keychain"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:08:06.070489+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:06.070489+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:06.070489+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:36:34.210567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3ffa556241f511a54c14ef17e51bdc437db3faebc8f48c409815c780422c6df", "fetched_at": "2026-08-28T04:08:06.070489+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oblador/react-native-keychain"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:06.070489+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:06.070489+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:36:34.210567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3ffa556241f511a54c14ef17e51bdc437db3faebc8f48c409815c780422c6df", "fetched_at": "2026-08-28T04:08:06.070489+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oblador/react-native-keychain"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:06.070489+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:06.070489+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:06.070489+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:36:34.210567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3ffa556241f511a54c14ef17e51bdc437db3faebc8f48c409815c780422c6df", "fetched_at": "2026-08-28T04:08:06.070489+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oblador/react-native-keychain"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:06.070489+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:06.070489+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:36:34.210567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3ffa556241f511a54c14ef17e51bdc437db3faebc8f48c409815c780422c6df", "fetched_at": "2026-08-28T04:08:06.070489+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oblador/react-native-keychain"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:36:34.210567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3ffa556241f511a54c14ef17e51bdc437db3faebc8f48c409815c780422c6df", "fetched_at": "2026-08-28T04:08:06.070489+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oblador/react-native-keychain"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:36:34.210567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3ffa556241f511a54c14ef17e51bdc437db3faebc8f48c409815c780422c6df", "fetched_at": "2026-08-28T04:08:06.070489+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oblador/react-native-keychain"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:36:34.210567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3ffa556241f511a54c14ef17e51bdc437db3faebc8f48c409815c780422c6df", "fetched_at": "2026-08-28T04:08:06.070489+00:00", "kind": "readme", "missing": false, "url": "https://github.com/oblador/react-native-keychain"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 79, "longevity": 100, "rhythm": 40}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4123, "days_push": 126, "days_rel": 528, "gap_med": 19.5, "n_releases_24m": 7}, "score": 70, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}