{"adoption": {"forks": 227, "observed_at": "2026-08-28T04:08:38.176689+00:00", "stars": 4175}, "canonical_url": "https://ross.abutalabs.com/products/valet", "card": {"archived": false, "artifact_type": "library", "description": "Valet lets you securely store data in the iOS, tvOS, watchOS, or macOS Keychain without knowing a thing about how the Keychain works. It’s easy. We promise.", "domain": ["security", "mobile-development", "developer-tools"], "enriched": true, "function": ["security", "cryptography", "sdk"], "health_score": 92, "homepage": null, "language": "Swift", "license": "Apache-2.0", "license_family": "permissive", "maturity": "stable", "member_repos": ["square/Valet"], "name": "square/Valet", "platform": ["cross-platform"], "pushed_at": "2026-07-12T18:50:59+00:00", "repo": "square/Valet", "stars": 4175, "tags": ["keychain", "touch-id", "face-id", "swift", "apple-platforms", "secure-storage", "ios", "macos"], "topics": ["keychain", "touch-id", "face-id", "security", "ios", "tvos", "watchos", "macos", "crypto"], "urls": [], "use_cases": ["store sensitive data securely on iOS without learning Keychain APIs", "persist secrets in the macOS Keychain", "require Touch ID or Face ID to access stored data", "share keychain data between apps on Apple platforms", "store user tokens and passwords safely in a tvOS app"], "what_it_is": "Valet is a Swift library that simplifies securely storing data in the iOS, tvOS, watchOS, and macOS Keychain. It wraps the Keychain's complex APIs behind an easy-to-use interface with support for biometric access controls.", "when_to_avoid": ["you need secure storage on non-Apple platforms", "you need a database or general-purpose storage rather than small secure key-value data"], "when_to_choose": ["you need secure local storage on iOS, macOS, tvOS, or watchOS", "you want Keychain access with biometric protection without dealing with raw Keychain APIs", "you want a battle-tested library maintained by Square"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/valet", "repo": "square/Valet", "role": "main", "score": 75}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.176689+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:22:42.621487+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d954da06a1d5b2e08fee8e5ea854b973af391c914238a97cf241a8956acdc95", "fetched_at": "2026-08-28T04:08:38.176689+00:00", "kind": "readme", "missing": false, "url": "https://github.com/square/Valet"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.176689+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:22:42.621487+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d954da06a1d5b2e08fee8e5ea854b973af391c914238a97cf241a8956acdc95", "fetched_at": "2026-08-28T04:08:38.176689+00:00", "kind": "readme", "missing": false, "url": "https://github.com/square/Valet"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:22:42.621487+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d954da06a1d5b2e08fee8e5ea854b973af391c914238a97cf241a8956acdc95", "fetched_at": "2026-08-28T04:08:38.176689+00:00", "kind": "readme", "missing": false, "url": "https://github.com/square/Valet"}], "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:38.176689+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.176689+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.176689+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:22:42.621487+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d954da06a1d5b2e08fee8e5ea854b973af391c914238a97cf241a8956acdc95", "fetched_at": "2026-08-28T04:08:38.176689+00:00", "kind": "readme", "missing": false, "url": "https://github.com/square/Valet"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.176689+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.176689+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:22:42.621487+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d954da06a1d5b2e08fee8e5ea854b973af391c914238a97cf241a8956acdc95", "fetched_at": "2026-08-28T04:08:38.176689+00:00", "kind": "readme", "missing": false, "url": "https://github.com/square/Valet"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.176689+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.176689+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.176689+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:22:42.621487+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d954da06a1d5b2e08fee8e5ea854b973af391c914238a97cf241a8956acdc95", "fetched_at": "2026-08-28T04:08:38.176689+00:00", "kind": "readme", "missing": false, "url": "https://github.com/square/Valet"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.176689+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.176689+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:22:42.621487+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d954da06a1d5b2e08fee8e5ea854b973af391c914238a97cf241a8956acdc95", "fetched_at": "2026-08-28T04:08:38.176689+00:00", "kind": "readme", "missing": false, "url": "https://github.com/square/Valet"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:22:42.621487+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d954da06a1d5b2e08fee8e5ea854b973af391c914238a97cf241a8956acdc95", "fetched_at": "2026-08-28T04:08:38.176689+00:00", "kind": "readme", "missing": false, "url": "https://github.com/square/Valet"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:22:42.621487+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d954da06a1d5b2e08fee8e5ea854b973af391c914238a97cf241a8956acdc95", "fetched_at": "2026-08-28T04:08:38.176689+00:00", "kind": "readme", "missing": false, "url": "https://github.com/square/Valet"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:22:42.621487+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d954da06a1d5b2e08fee8e5ea854b973af391c914238a97cf241a8956acdc95", "fetched_at": "2026-08-28T04:08:38.176689+00:00", "kind": "readme", "missing": false, "url": "https://github.com/square/Valet"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 92, "longevity": 100, "rhythm": 39}, "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": 4111, "days_push": 52, "days_rel": 194, "gap_med": 240.5, "n_releases_24m": 3}, "score": 75, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}