{"adoption": {"forks": 398, "observed_at": "2026-08-28T04:09:56.472114+00:00", "stars": 7182}, "canonical_url": "https://ross.abutalabs.com/products/keepassdx", "card": {"archived": false, "artifact_type": "application", "description": "Lightweight vault and password manager for Android, KeePassDX allows editing encrypted data in a single file in KeePass format and fill in the forms in a secure way.", "domain": ["security", "privacy", "android-tools"], "enriched": true, "function": ["auth", "cryptography", "security"], "health_score": 100, "homepage": "https://www.keepassdx.com/", "language": "Kotlin", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["Kunzisoft/KeePassDX"], "name": "Kunzisoft/KeePassDX", "platform": [], "pushed_at": "2026-08-26T11:14:04+00:00", "repo": "Kunzisoft/KeePassDX", "stars": 7182, "tags": ["password-manager", "keepass", "vault", "biometric-unlock", "autofill", "totp", "passkeys", "open-source", "ad-free", "password-management", "android"], "topics": ["keepass", "android", "android-application", "material-design", "material", "fingerprint", "keepass-dx", "keepassdx", "password-manager", "vault"], "urls": [], "use_cases": ["manage all my passwords on android in one encrypted database", "open and edit a keepass kdbx file on my phone", "autofill login forms securely on android", "store TOTP two-factor codes alongside passwords", "unlock my password vault with fingerprint or face unlock", "store passkeys and private keys locally", "sync passwords across devices using a keepass-compatible file"], "what_it_is": "KeePassDX is a lightweight, open-source password manager and encrypted vault for Android, compatible with the KeePass format (.kdb/.kdbx). It stores credentials in a single encrypted database file and offers secure form filling via autofill and a custom keyboard.", "when_to_avoid": ["you want automatic cloud sync built in without managing your own file storage", "you need a password manager for iOS, desktop, or team/enterprise sharing", "you prefer a browser-extension-first password manager"], "when_to_choose": ["you want a local-first, offline password vault on Android with no ads", "you already use KeePass, KeePassXC, or KeeWeb and need Android compatibility", "you need biometric unlocking, autofill, and 2FA code storage in one app", "you value auditable open-source security with strong encryption algorithms"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/keepassdx", "repo": "Kunzisoft/KeePassDX", "role": "main", "score": 96}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.472114+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:39:55.372391+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b3997cb5fa3acfcaa7949e623aaf851218f1324be122d814c9012aa2047c89b", "fetched_at": "2026-08-28T04:09:56.472114+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kunzisoft/KeePassDX"}, {"content_hash": "57797d5ea6ab84caa2268e7785aba61e4c8033d0fa455a097ed32009f1802584", "fetched_at": "2026-08-29T08:35:03.745828+00:00", "kind": "homepage", "missing": false, "url": "https://www.keepassdx.com/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.472114+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:39:55.372391+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b3997cb5fa3acfcaa7949e623aaf851218f1324be122d814c9012aa2047c89b", "fetched_at": "2026-08-28T04:09:56.472114+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kunzisoft/KeePassDX"}, {"content_hash": "57797d5ea6ab84caa2268e7785aba61e4c8033d0fa455a097ed32009f1802584", "fetched_at": "2026-08-29T08:35:03.745828+00:00", "kind": "homepage", "missing": false, "url": "https://www.keepassdx.com/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:39:55.372391+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b3997cb5fa3acfcaa7949e623aaf851218f1324be122d814c9012aa2047c89b", "fetched_at": "2026-08-28T04:09:56.472114+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kunzisoft/KeePassDX"}, {"content_hash": "57797d5ea6ab84caa2268e7785aba61e4c8033d0fa455a097ed32009f1802584", "fetched_at": "2026-08-29T08:35:03.745828+00:00", "kind": "homepage", "missing": false, "url": "https://www.keepassdx.com/"}], "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:09:56.472114+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.472114+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.472114+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:39:55.372391+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b3997cb5fa3acfcaa7949e623aaf851218f1324be122d814c9012aa2047c89b", "fetched_at": "2026-08-28T04:09:56.472114+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kunzisoft/KeePassDX"}, {"content_hash": "57797d5ea6ab84caa2268e7785aba61e4c8033d0fa455a097ed32009f1802584", "fetched_at": "2026-08-29T08:35:03.745828+00:00", "kind": "homepage", "missing": false, "url": "https://www.keepassdx.com/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.472114+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.472114+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:39:55.372391+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b3997cb5fa3acfcaa7949e623aaf851218f1324be122d814c9012aa2047c89b", "fetched_at": "2026-08-28T04:09:56.472114+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kunzisoft/KeePassDX"}, {"content_hash": "57797d5ea6ab84caa2268e7785aba61e4c8033d0fa455a097ed32009f1802584", "fetched_at": "2026-08-29T08:35:03.745828+00:00", "kind": "homepage", "missing": false, "url": "https://www.keepassdx.com/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.472114+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.472114+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.472114+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:39:55.372391+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b3997cb5fa3acfcaa7949e623aaf851218f1324be122d814c9012aa2047c89b", "fetched_at": "2026-08-28T04:09:56.472114+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kunzisoft/KeePassDX"}, {"content_hash": "57797d5ea6ab84caa2268e7785aba61e4c8033d0fa455a097ed32009f1802584", "fetched_at": "2026-08-29T08:35:03.745828+00:00", "kind": "homepage", "missing": false, "url": "https://www.keepassdx.com/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.472114+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.472114+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:39:55.372391+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b3997cb5fa3acfcaa7949e623aaf851218f1324be122d814c9012aa2047c89b", "fetched_at": "2026-08-28T04:09:56.472114+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kunzisoft/KeePassDX"}, {"content_hash": "57797d5ea6ab84caa2268e7785aba61e4c8033d0fa455a097ed32009f1802584", "fetched_at": "2026-08-29T08:35:03.745828+00:00", "kind": "homepage", "missing": false, "url": "https://www.keepassdx.com/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:39:55.372391+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b3997cb5fa3acfcaa7949e623aaf851218f1324be122d814c9012aa2047c89b", "fetched_at": "2026-08-28T04:09:56.472114+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kunzisoft/KeePassDX"}, {"content_hash": "57797d5ea6ab84caa2268e7785aba61e4c8033d0fa455a097ed32009f1802584", "fetched_at": "2026-08-29T08:35:03.745828+00:00", "kind": "homepage", "missing": false, "url": "https://www.keepassdx.com/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:39:55.372391+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b3997cb5fa3acfcaa7949e623aaf851218f1324be122d814c9012aa2047c89b", "fetched_at": "2026-08-28T04:09:56.472114+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kunzisoft/KeePassDX"}, {"content_hash": "57797d5ea6ab84caa2268e7785aba61e4c8033d0fa455a097ed32009f1802584", "fetched_at": "2026-08-29T08:35:03.745828+00:00", "kind": "homepage", "missing": false, "url": "https://www.keepassdx.com/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:39:55.372391+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b3997cb5fa3acfcaa7949e623aaf851218f1324be122d814c9012aa2047c89b", "fetched_at": "2026-08-28T04:09:56.472114+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kunzisoft/KeePassDX"}, {"content_hash": "57797d5ea6ab84caa2268e7785aba61e4c8033d0fa455a097ed32009f1802584", "fetched_at": "2026-08-29T08:35:03.745828+00:00", "kind": "homepage", "missing": false, "url": "https://www.keepassdx.com/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 89}, "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": 3242, "days_push": 7, "days_rel": 79, "gap_med": 9.0, "n_releases_24m": 25}, "score": 96, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}