{"adoption": {"forks": 196, "observed_at": "2026-08-28T04:04:49.253569+00:00", "stars": 1471}, "canonical_url": "https://ross.abutalabs.com/products/truetime-android", "card": {"archived": false, "artifact_type": "library", "description": "Android NTP time library. Get the true current time impervious to device clock time changes", "domain": ["mobile-development", "android-tools", "developer-tools"], "enriched": true, "function": ["sdk", "networking"], "health_score": 20, "homepage": "https://tech.instacart.com/truetime/", "language": "Kotlin", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["instacart/truetime-android"], "name": "instacart/truetime-android", "platform": ["jvm"], "pushed_at": "2023-06-12T05:55:17+00:00", "repo": "instacart/truetime-android", "stars": 1471, "tags": ["ntp", "sntp", "clock-sync", "time", "coroutines", "android"], "topics": ["ntp", "android", "clock", "ntp-server", "rxjava", "time", "truetime", "sntp", "mobile"], "urls": [], "use_cases": ["get the real current time on android even if the user changed the device clock", "sync app time with an ntp server on android", "prevent users from cheating time-based features by changing their clock", "get a reliable timestamp for offline-first apps", "kotlin coroutine ntp time client for android"], "what_it_is": "TrueTime is an (S)NTP client library for Android that provides the true current time, immune to manual device clock changes. It is written in Kotlin with Coroutines and distributed via JitPack.", "when_to_avoid": ["you need a full-featured NTP implementation with all bells and whistles (v4 is still a work in progress)", "your app is not on Android", "server-side or non-mobile time sync is what you need"], "when_to_choose": ["your android app needs a trustworthy 'now' that survives manual clock changes", "you want a lightweight Kotlin/Coroutines SNTP client without RxJava dependencies", "time accuracy matters for scheduling, expirations, or anti-cheat logic"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/truetime-android", "repo": "instacart/truetime-android", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.253569+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:34:46.439460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c85c21e9e6b9f0b5d0b6a384465a746ea338e0624f24b2e14f7a6890c057cbe4", "fetched_at": "2026-08-28T04:04:49.253569+00:00", "kind": "readme", "missing": false, "url": "https://github.com/instacart/truetime-android"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.253569+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:34:46.439460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c85c21e9e6b9f0b5d0b6a384465a746ea338e0624f24b2e14f7a6890c057cbe4", "fetched_at": "2026-08-28T04:04:49.253569+00:00", "kind": "readme", "missing": false, "url": "https://github.com/instacart/truetime-android"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:34:46.439460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c85c21e9e6b9f0b5d0b6a384465a746ea338e0624f24b2e14f7a6890c057cbe4", "fetched_at": "2026-08-28T04:04:49.253569+00:00", "kind": "readme", "missing": false, "url": "https://github.com/instacart/truetime-android"}], "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:04:49.253569+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.253569+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.253569+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:34:46.439460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c85c21e9e6b9f0b5d0b6a384465a746ea338e0624f24b2e14f7a6890c057cbe4", "fetched_at": "2026-08-28T04:04:49.253569+00:00", "kind": "readme", "missing": false, "url": "https://github.com/instacart/truetime-android"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.253569+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.253569+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:34:46.439460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c85c21e9e6b9f0b5d0b6a384465a746ea338e0624f24b2e14f7a6890c057cbe4", "fetched_at": "2026-08-28T04:04:49.253569+00:00", "kind": "readme", "missing": false, "url": "https://github.com/instacart/truetime-android"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.253569+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.253569+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.253569+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:34:46.439460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c85c21e9e6b9f0b5d0b6a384465a746ea338e0624f24b2e14f7a6890c057cbe4", "fetched_at": "2026-08-28T04:04:49.253569+00:00", "kind": "readme", "missing": false, "url": "https://github.com/instacart/truetime-android"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.253569+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.253569+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:34:46.439460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c85c21e9e6b9f0b5d0b6a384465a746ea338e0624f24b2e14f7a6890c057cbe4", "fetched_at": "2026-08-28T04:04:49.253569+00:00", "kind": "readme", "missing": false, "url": "https://github.com/instacart/truetime-android"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:34:46.439460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c85c21e9e6b9f0b5d0b6a384465a746ea338e0624f24b2e14f7a6890c057cbe4", "fetched_at": "2026-08-28T04:04:49.253569+00:00", "kind": "readme", "missing": false, "url": "https://github.com/instacart/truetime-android"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:34:46.439460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c85c21e9e6b9f0b5d0b6a384465a746ea338e0624f24b2e14f7a6890c057cbe4", "fetched_at": "2026-08-28T04:04:49.253569+00:00", "kind": "readme", "missing": false, "url": "https://github.com/instacart/truetime-android"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:34:46.439460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c85c21e9e6b9f0b5d0b6a384465a746ea338e0624f24b2e14f7a6890c057cbe4", "fetched_at": "2026-08-28T04:04:49.253569+00:00", "kind": "readme", "missing": false, "url": "https://github.com/instacart/truetime-android"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3707, "days_push": 1178, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}