{"adoption": {"forks": 3075, "observed_at": "2026-08-28T04:08:37.352547+00:00", "stars": 4158}, "canonical_url": "https://ross.abutalabs.com/products/owncloud-android", "card": {"archived": false, "artifact_type": "application", "description": ":phone: The ownCloud Android App", "domain": ["self-hosted", "mobile-development", "files", "privacy"], "enriched": true, "function": ["file-upload", "auth", "cryptography"], "health_score": 100, "homepage": null, "language": "Kotlin", "license": "GPL-2.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["owncloud/android"], "name": "owncloud/android", "platform": ["jvm"], "pushed_at": "2026-08-26T15:23:17+00:00", "repo": "owncloud/android", "stars": 4158, "tags": ["file-sync", "owncloud-client", "file-sharing", "biometric-auth", "photo-gallery", "ocis", "f-droid", "android", "mobile"], "topics": ["android", "kotlin", "owncloud", "mobile", "owncloud-android"], "urls": [], "use_cases": ["sync files from my ownCloud server to my Android phone", "access my self-hosted cloud files on mobile", "share files from my ownCloud account from Android", "browse and upload photos to ownCloud from my phone", "secure my cloud files with biometric lock on Android", "use ownCloud Spaces on my Android device"], "what_it_is": "The official ownCloud Android client app, built in Kotlin, for accessing, syncing, and sharing files on ownCloud servers (both Infinite Scale and Classic). It offers file browsing, photo galleries, Spaces, sharing, passcode lock, and biometric authentication.", "when_to_avoid": ["you use Nextcloud instead of ownCloud (use the Nextcloud app)", "you need an iOS client", "you want a desktop file-sync client", "you need a generic WebDAV client for non-ownCloud servers"], "when_to_choose": ["you run an ownCloud server (oCIS or Classic) and need a native Android client", "you want a self-hosted, privacy-respecting alternative to Google Drive/Dropbox on Android", "you need F-Droid-installable open-source cloud storage access", "you require biometric/passcode protection for synced files"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/owncloud-android", "repo": "owncloud/android", "role": "main", "score": 97}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:37.352547+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:22:50.881308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5d36ba32ec3a4cbd8dea6d18ee781307c78071392cbdace29ef9789fca0bda49", "fetched_at": "2026-08-28T04:08:37.352547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/owncloud/android"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:37.352547+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:22:50.881308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5d36ba32ec3a4cbd8dea6d18ee781307c78071392cbdace29ef9789fca0bda49", "fetched_at": "2026-08-28T04:08:37.352547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/owncloud/android"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:22:50.881308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5d36ba32ec3a4cbd8dea6d18ee781307c78071392cbdace29ef9789fca0bda49", "fetched_at": "2026-08-28T04:08:37.352547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/owncloud/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:37.352547+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:37.352547+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:37.352547+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:22:50.881308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5d36ba32ec3a4cbd8dea6d18ee781307c78071392cbdace29ef9789fca0bda49", "fetched_at": "2026-08-28T04:08:37.352547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/owncloud/android"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:37.352547+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:37.352547+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:22:50.881308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5d36ba32ec3a4cbd8dea6d18ee781307c78071392cbdace29ef9789fca0bda49", "fetched_at": "2026-08-28T04:08:37.352547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/owncloud/android"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:37.352547+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:37.352547+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:37.352547+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:22:50.881308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5d36ba32ec3a4cbd8dea6d18ee781307c78071392cbdace29ef9789fca0bda49", "fetched_at": "2026-08-28T04:08:37.352547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/owncloud/android"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:37.352547+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:37.352547+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:22:50.881308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5d36ba32ec3a4cbd8dea6d18ee781307c78071392cbdace29ef9789fca0bda49", "fetched_at": "2026-08-28T04:08:37.352547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/owncloud/android"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:22:50.881308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5d36ba32ec3a4cbd8dea6d18ee781307c78071392cbdace29ef9789fca0bda49", "fetched_at": "2026-08-28T04:08:37.352547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/owncloud/android"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:22:50.881308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5d36ba32ec3a4cbd8dea6d18ee781307c78071392cbdace29ef9789fca0bda49", "fetched_at": "2026-08-28T04:08:37.352547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/owncloud/android"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:22:50.881308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5d36ba32ec3a4cbd8dea6d18ee781307c78071392cbdace29ef9789fca0bda49", "fetched_at": "2026-08-28T04:08:37.352547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/owncloud/android"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 94}, "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": 5121, "days_push": 7, "days_rel": 43, "gap_med": 23, "n_releases_24m": 12}, "score": 97, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}