{"adoption": {"forks": 201, "observed_at": "2026-08-28T04:08:13.411723+00:00", "stars": 3669}, "canonical_url": "https://ross.abutalabs.com/products/mollyim-android", "card": {"archived": false, "artifact_type": "application", "description": "Enhanced and security-focused fork of Signal.", "domain": ["privacy", "messaging-platforms", "security", "android-tools", "cross-platform"], "enriched": true, "function": ["security", "cryptography", "chat-interface", "privacy"], "health_score": 99, "homepage": null, "language": "Kotlin", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["mollyim/mollyim-android"], "name": "mollyim/mollyim-android", "platform": [], "pushed_at": "2026-08-22T00:17:27+00:00", "repo": "mollyim/mollyim-android", "stars": 3669, "tags": ["signal-fork", "messaging", "e2e-encryption", "hardened", "f-droid", "kotlin", "android", "mobile"], "topics": [], "urls": [], "use_cases": ["send encrypted messages with Signal contacts from a hardened Android client", "protect my message database with passphrase encryption at rest", "automatically lock my messaging app under custom conditions", "wipe sensitive data from device memory when the app is backgrounded", "install a FOSS Signal alternative from F-Droid or Accrescent", "verify my messaging APK with reproducible builds and signing fingerprints"], "what_it_is": "Molly is a hardened, security-focused fork of the Signal messaging app for Android, adding features like passphrase-encrypted databases at rest, a secure RAM wiper, and automatic app locking. It connects to Signal's servers so users can chat seamlessly with existing Signal contacts, and is updated every two weeks with upstream features and prompt security patches.", "when_to_avoid": ["you need iOS, desktop, or web clients - Molly is Android-only", "you require official Signal support or want to avoid third-party forks of a security-critical app", "you need features that diverge from upstream Signal's release cadence"], "when_to_choose": ["you want Signal's protocol with stronger local security like database encryption and RAM wiping", "you need automatic locking and hardened memory handling on Android", "you prefer installing messaging apps from F-Droid or Accrescent with verifiable APKs"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mollyim-android", "repo": "mollyim/mollyim-android", "role": "main", "score": 97}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.411723+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:31:20.997526+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b0d48b18cfbe4377fcae6ad7426d126f6895c02ed54bb3a9006156c10f13e900", "fetched_at": "2026-08-28T04:08:13.411723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mollyim/mollyim-android"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.411723+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:31:20.997526+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b0d48b18cfbe4377fcae6ad7426d126f6895c02ed54bb3a9006156c10f13e900", "fetched_at": "2026-08-28T04:08:13.411723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mollyim/mollyim-android"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:31:20.997526+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b0d48b18cfbe4377fcae6ad7426d126f6895c02ed54bb3a9006156c10f13e900", "fetched_at": "2026-08-28T04:08:13.411723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mollyim/mollyim-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:08:13.411723+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.411723+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.411723+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:31:20.997526+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b0d48b18cfbe4377fcae6ad7426d126f6895c02ed54bb3a9006156c10f13e900", "fetched_at": "2026-08-28T04:08:13.411723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mollyim/mollyim-android"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.411723+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.411723+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:31:20.997526+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b0d48b18cfbe4377fcae6ad7426d126f6895c02ed54bb3a9006156c10f13e900", "fetched_at": "2026-08-28T04:08:13.411723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mollyim/mollyim-android"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.411723+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.411723+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.411723+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:31:20.997526+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b0d48b18cfbe4377fcae6ad7426d126f6895c02ed54bb3a9006156c10f13e900", "fetched_at": "2026-08-28T04:08:13.411723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mollyim/mollyim-android"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.411723+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.411723+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:31:20.997526+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b0d48b18cfbe4377fcae6ad7426d126f6895c02ed54bb3a9006156c10f13e900", "fetched_at": "2026-08-28T04:08:13.411723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mollyim/mollyim-android"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:31:20.997526+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b0d48b18cfbe4377fcae6ad7426d126f6895c02ed54bb3a9006156c10f13e900", "fetched_at": "2026-08-28T04:08:13.411723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mollyim/mollyim-android"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:31:20.997526+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b0d48b18cfbe4377fcae6ad7426d126f6895c02ed54bb3a9006156c10f13e900", "fetched_at": "2026-08-28T04:08:13.411723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mollyim/mollyim-android"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:31:20.997526+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b0d48b18cfbe4377fcae6ad7426d126f6895c02ed54bb3a9006156c10f13e900", "fetched_at": "2026-08-28T04:08:13.411723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mollyim/mollyim-android"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 95}, "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": 2440, "days_push": 12, "days_rel": 33, "gap_med": 17.5, "n_releases_24m": 31}, "score": 97, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}