{"adoption": {"forks": 1063, "observed_at": "2026-08-28T04:11:08.965740+00:00", "stars": 14939}, "canonical_url": "https://ross.abutalabs.com/products/duplicati", "card": {"archived": false, "artifact_type": "application", "description": "Store securely encrypted backups in the cloud!", "domain": ["security", "cloud-computing", "privacy", "files", "cross-platform"], "enriched": true, "function": ["backup", "cryptography", "compression", "scheduling", "file-system"], "health_score": 100, "homepage": null, "language": "C#", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["duplicati/duplicati"], "name": "duplicati/duplicati", "platform": ["windows", "cross-platform", "cli"], "pushed_at": "2026-08-26T21:35:48+00:00", "repo": "duplicati/duplicati", "stars": 14939, "tags": ["cloud-backup", "incremental-backup", "aes-256", "client-side-encryption", "s3", "webdav", "sftp", "trust-no-one", "backup", "macos", "linux", "web-server"], "topics": ["duplicati", "backup", "c-sharp", "cloud-storage-services", "webdav", "sftp", "encryption", "trust-no-one-backup", "tno-backup", "cloud-backup", "client-only-backup"], "urls": [], "use_cases": ["back up my files to cloud storage with encryption", "schedule automatic incremental backups of my computer", "encrypt backups before uploading so the provider can't read them", "back up to S3, Backblaze B2, or Google Drive", "restore old versions of files from a backup", "back up a Linux server to remote storage over SFTP"], "what_it_is": "Duplicati is a free, open-source backup client that stores encrypted, incremental, compressed backups on cloud storage services and remote file servers. It supports many backends including Amazon S3, Backblaze B2, Google Drive, OneDrive, SFTP, and WebDAV, with AES-256 client-side encryption.", "when_to_avoid": ["you need bare-metal or full disk-image disaster recovery backups", "you want a simple local-only backup without cloud storage", "you need real-time continuous file sync rather than scheduled backups"], "when_to_choose": ["you need client-side encrypted backups to a wide variety of cloud providers", "you want incremental, bandwidth-efficient backups with scheduling", "you need a cross-platform backup tool with both GUI and CLI"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/duplicati", "repo": "duplicati/duplicati", "role": "main", "score": 93}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:08.965740+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:06:51.165615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45afa65fcc6ff834c1a90afb8cd2a31381a17f93387cfaa8098271a53f8f4e13", "fetched_at": "2026-08-28T04:11:08.965740+00:00", "kind": "readme", "missing": false, "url": "https://github.com/duplicati/duplicati"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:08.965740+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:06:51.165615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45afa65fcc6ff834c1a90afb8cd2a31381a17f93387cfaa8098271a53f8f4e13", "fetched_at": "2026-08-28T04:11:08.965740+00:00", "kind": "readme", "missing": false, "url": "https://github.com/duplicati/duplicati"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:06:51.165615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45afa65fcc6ff834c1a90afb8cd2a31381a17f93387cfaa8098271a53f8f4e13", "fetched_at": "2026-08-28T04:11:08.965740+00:00", "kind": "readme", "missing": false, "url": "https://github.com/duplicati/duplicati"}], "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:11:08.965740+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:08.965740+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:08.965740+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:06:51.165615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45afa65fcc6ff834c1a90afb8cd2a31381a17f93387cfaa8098271a53f8f4e13", "fetched_at": "2026-08-28T04:11:08.965740+00:00", "kind": "readme", "missing": false, "url": "https://github.com/duplicati/duplicati"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:08.965740+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:08.965740+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:06:51.165615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45afa65fcc6ff834c1a90afb8cd2a31381a17f93387cfaa8098271a53f8f4e13", "fetched_at": "2026-08-28T04:11:08.965740+00:00", "kind": "readme", "missing": false, "url": "https://github.com/duplicati/duplicati"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:08.965740+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:08.965740+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:08.965740+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:06:51.165615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45afa65fcc6ff834c1a90afb8cd2a31381a17f93387cfaa8098271a53f8f4e13", "fetched_at": "2026-08-28T04:11:08.965740+00:00", "kind": "readme", "missing": false, "url": "https://github.com/duplicati/duplicati"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:08.965740+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:08.965740+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:06:51.165615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45afa65fcc6ff834c1a90afb8cd2a31381a17f93387cfaa8098271a53f8f4e13", "fetched_at": "2026-08-28T04:11:08.965740+00:00", "kind": "readme", "missing": false, "url": "https://github.com/duplicati/duplicati"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:06:51.165615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45afa65fcc6ff834c1a90afb8cd2a31381a17f93387cfaa8098271a53f8f4e13", "fetched_at": "2026-08-28T04:11:08.965740+00:00", "kind": "readme", "missing": false, "url": "https://github.com/duplicati/duplicati"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:06:51.165615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45afa65fcc6ff834c1a90afb8cd2a31381a17f93387cfaa8098271a53f8f4e13", "fetched_at": "2026-08-28T04:11:08.965740+00:00", "kind": "readme", "missing": false, "url": "https://github.com/duplicati/duplicati"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:06:51.165615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45afa65fcc6ff834c1a90afb8cd2a31381a17f93387cfaa8098271a53f8f4e13", "fetched_at": "2026-08-28T04:11:08.965740+00:00", "kind": "readme", "missing": false, "url": "https://github.com/duplicati/duplicati"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 80}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4411, "days_push": 7, "days_rel": 55, "gap_med": 32, "n_releases_24m": 10}, "score": 93, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}