{"adoption": {"forks": 277, "observed_at": "2026-08-28T04:06:27.020492+00:00", "stars": 2214}, "canonical_url": "https://ross.abutalabs.com/products/gethttpsforfree", "card": {"archived": false, "artifact_type": "application", "description": "Source code for https://gethttpsforfree.com/", "domain": ["security", "web-development", "privacy"], "enriched": true, "function": ["security", "cryptography", "developer-tools"], "health_score": 36, "homepage": null, "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["diafygi/gethttpsforfree"], "name": "diafygi/gethttpsforfree", "platform": ["browser", "windows"], "pushed_at": "2025-06-17T17:20:42+00:00", "repo": "diafygi/gethttpsforfree", "stars": 2214, "tags": ["lets-encrypt", "acme", "tls-certificate", "https", "client-side", "no-install", "web-server", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["get a free https certificate without installing software", "issue a let's encrypt certificate manually", "obtain a tls cert without sharing private keys", "generate acme certificate commands for my server", "enable https on a static site for free"], "what_it_is": "A browser-based web application (source for gethttpsforfree.com) that walks users through obtaining free TLS certificates from Let's Encrypt via the ACME protocol. It generates terminal commands locally and makes ACME API requests from the browser, so private keys never leave the user's machine.", "when_to_avoid": ["you need automated renewal - use certbot or another ACME client instead", "you manage many certificates or need wildcard automation", "you prefer a fully CLI-driven workflow"], "when_to_choose": ["you want a one-off Let's Encrypt certificate without installing a client like certbot", "you don't want any tool to have access to your private keys", "you want to understand the ACME issuance steps interactively"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/gethttpsforfree", "repo": "diafygi/gethttpsforfree", "role": "main", "score": 44}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.020492+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:45:59.438352+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc5f28534bb3c80a80d02e019a132e2ab213f397466705184e4b1972b7e9ff22", "fetched_at": "2026-08-28T04:06:27.020492+00:00", "kind": "readme", "missing": false, "url": "https://github.com/diafygi/gethttpsforfree"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.020492+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:45:59.438352+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc5f28534bb3c80a80d02e019a132e2ab213f397466705184e4b1972b7e9ff22", "fetched_at": "2026-08-28T04:06:27.020492+00:00", "kind": "readme", "missing": false, "url": "https://github.com/diafygi/gethttpsforfree"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:45:59.438352+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc5f28534bb3c80a80d02e019a132e2ab213f397466705184e4b1972b7e9ff22", "fetched_at": "2026-08-28T04:06:27.020492+00:00", "kind": "readme", "missing": false, "url": "https://github.com/diafygi/gethttpsforfree"}], "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:06:27.020492+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.020492+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.020492+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:45:59.438352+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc5f28534bb3c80a80d02e019a132e2ab213f397466705184e4b1972b7e9ff22", "fetched_at": "2026-08-28T04:06:27.020492+00:00", "kind": "readme", "missing": false, "url": "https://github.com/diafygi/gethttpsforfree"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.020492+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.020492+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:45:59.438352+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc5f28534bb3c80a80d02e019a132e2ab213f397466705184e4b1972b7e9ff22", "fetched_at": "2026-08-28T04:06:27.020492+00:00", "kind": "readme", "missing": false, "url": "https://github.com/diafygi/gethttpsforfree"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.020492+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.020492+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.020492+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:45:59.438352+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc5f28534bb3c80a80d02e019a132e2ab213f397466705184e4b1972b7e9ff22", "fetched_at": "2026-08-28T04:06:27.020492+00:00", "kind": "readme", "missing": false, "url": "https://github.com/diafygi/gethttpsforfree"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.020492+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.020492+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:45:59.438352+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc5f28534bb3c80a80d02e019a132e2ab213f397466705184e4b1972b7e9ff22", "fetched_at": "2026-08-28T04:06:27.020492+00:00", "kind": "readme", "missing": false, "url": "https://github.com/diafygi/gethttpsforfree"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:45:59.438352+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc5f28534bb3c80a80d02e019a132e2ab213f397466705184e4b1972b7e9ff22", "fetched_at": "2026-08-28T04:06:27.020492+00:00", "kind": "readme", "missing": false, "url": "https://github.com/diafygi/gethttpsforfree"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:45:59.438352+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc5f28534bb3c80a80d02e019a132e2ab213f397466705184e4b1972b7e9ff22", "fetched_at": "2026-08-28T04:06:27.020492+00:00", "kind": "readme", "missing": false, "url": "https://github.com/diafygi/gethttpsforfree"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:45:59.438352+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc5f28534bb3c80a80d02e019a132e2ab213f397466705184e4b1972b7e9ff22", "fetched_at": "2026-08-28T04:06:27.020492+00:00", "kind": "readme", "missing": false, "url": "https://github.com/diafygi/gethttpsforfree"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 27, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3958, "days_push": 442, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 44, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}