{"adoption": {"forks": 213, "observed_at": "2026-08-28T04:05:05.758032+00:00", "stars": 1574}, "canonical_url": "https://ross.abutalabs.com/products/concrete", "card": {"archived": false, "artifact_type": "library", "description": "Concrete: TFHE Compiler that converts python programs into FHE equivalent", "domain": ["security", "privacy", "developer-tools", "machine-learning"], "enriched": true, "function": ["compiler", "cryptography", "security", "privacy", "sdk"], "health_score": 68, "homepage": null, "language": "C++", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["zama-ai/concrete"], "name": "zama-ai/concrete", "platform": ["python", "windows", "cross-platform"], "pushed_at": "2025-12-19T15:19:04+00:00", "repo": "zama-ai/concrete", "stars": 1574, "tags": ["fhe", "tfhe", "homomorphic-encryption", "llvm", "mlir", "encrypted-computation", "gdpr", "cryptography", "linux", "macos", "gpu"], "topics": ["fhe", "tfhe", "homomorphic-encryption", "homomorphic-encryption-library", "privacy", "gdpr", "cryptography", "compiler", "crypto", "encryption", "llvm", "mlir", "python", "security", "fully-homomorphic-encryption"], "urls": [], "use_cases": ["run computations on encrypted data without decrypting it", "build privacy-preserving services that survive server breaches", "convert existing Python functions into FHE programs", "comply with GDPR by processing user data encrypted", "accelerate homomorphic computations on GPU", "build privacy-preserving machine learning inference (via Concrete ML)"], "what_it_is": "Concrete is an open-source fully homomorphic encryption (FHE) compiler built on TFHE and LLVM that converts Python programs into their FHE equivalents. It lets developers compute on encrypted data without cryptography expertise, with automatic parameter selection and GPU acceleration.", "when_to_avoid": ["you need a general-purpose cryptography toolkit beyond FHE", "your workload cannot tolerate FHE's significant performance overhead", "you need a low-level TFHE library rather than a Python compiler frontend", "you require a permissive OSI license without restrictions (license is BSD-3-Clause-Clear)"], "when_to_choose": ["you need to compute on encrypted data in Python without deep cryptography knowledge", "you want built-in security guarantees and automatic FHE parameter selection", "you need GPU-accelerated homomorphic encryption", "you are building privacy-preserving ML applications on top of Concrete ML"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/concrete", "repo": "zama-ai/concrete", "role": "main", "score": 56}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.758032+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:57:55.617626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0c635f090acb1c846c25cee5e2c21bb574e4f846672878f0bb2e477c109b23f", "fetched_at": "2026-08-28T04:05:05.758032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zama-ai/concrete"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.758032+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:57:55.617626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0c635f090acb1c846c25cee5e2c21bb574e4f846672878f0bb2e477c109b23f", "fetched_at": "2026-08-28T04:05:05.758032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zama-ai/concrete"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:57:55.617626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0c635f090acb1c846c25cee5e2c21bb574e4f846672878f0bb2e477c109b23f", "fetched_at": "2026-08-28T04:05:05.758032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zama-ai/concrete"}], "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:05:05.758032+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.758032+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.758032+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:57:55.617626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0c635f090acb1c846c25cee5e2c21bb574e4f846672878f0bb2e477c109b23f", "fetched_at": "2026-08-28T04:05:05.758032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zama-ai/concrete"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.758032+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.758032+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:57:55.617626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0c635f090acb1c846c25cee5e2c21bb574e4f846672878f0bb2e477c109b23f", "fetched_at": "2026-08-28T04:05:05.758032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zama-ai/concrete"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.758032+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.758032+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.758032+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:57:55.617626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0c635f090acb1c846c25cee5e2c21bb574e4f846672878f0bb2e477c109b23f", "fetched_at": "2026-08-28T04:05:05.758032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zama-ai/concrete"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.758032+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.758032+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:57:55.617626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0c635f090acb1c846c25cee5e2c21bb574e4f846672878f0bb2e477c109b23f", "fetched_at": "2026-08-28T04:05:05.758032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zama-ai/concrete"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:57:55.617626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0c635f090acb1c846c25cee5e2c21bb574e4f846672878f0bb2e477c109b23f", "fetched_at": "2026-08-28T04:05:05.758032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zama-ai/concrete"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:57:55.617626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0c635f090acb1c846c25cee5e2c21bb574e4f846672878f0bb2e477c109b23f", "fetched_at": "2026-08-28T04:05:05.758032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zama-ai/concrete"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:57:55.617626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0c635f090acb1c846c25cee5e2c21bb574e4f846672878f0bb2e477c109b23f", "fetched_at": "2026-08-28T04:05:05.758032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zama-ai/concrete"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 58, "longevity": 100, "rhythm": 28}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2162, "days_push": 257, "days_rel": 510, "gap_med": 89, "n_releases_24m": 4}, "score": 56, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}