{"adoption": {"forks": 608, "observed_at": "2026-08-28T04:05:59.725377+00:00", "stars": 1963}, "canonical_url": "https://ross.abutalabs.com/products/gmsm", "card": {"archived": false, "artifact_type": "library", "description": "GM SM2/3/4 library based on Golang (基于Go语言的国密SM2/SM3/SM4算法库)", "domain": ["security", "developer-tools", "fintech"], "enriched": true, "function": ["cryptography", "security"], "health_score": 20, "homepage": "http://www.wutongchain.com", "language": "Go", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["tjfoc/gmsm"], "name": "tjfoc/gmsm", "platform": ["go", "cross-platform"], "pushed_at": "2024-06-18T02:03:30+00:00", "repo": "tjfoc/gmsm", "stars": 1963, "tags": ["sm2", "sm3", "sm4", "chinese-national-cryptography", "elliptic-curve", "x509-certificates", "pem"], "topics": ["gm", "sm2", "sm3", "sm4", "golang"], "urls": [], "use_cases": ["implement SM2 signing and verification in Go", "compute SM3 hashes", "encrypt and decrypt data with SM4", "generate and read SM2 X.509 certificates", "build applications compliant with Chinese national crypto standards"], "what_it_is": "A Go library implementing the Chinese national cryptography standards SM2 (elliptic curve), SM3 (hash), and SM4 (block cipher). It supports key generation, signing, encryption, PEM files, and X.509 certificate operations compatible with RSA/ECDSA interfaces.", "when_to_avoid": ["you need modern actively developed crypto libraries with latest security patches", "your project does not require Chinese national cryptography standards", "you need algorithms beyond SM2/SM3/SM4"], "when_to_choose": ["you need GM (Guomi) SM2/SM3/SM4 algorithms in a Go project", "you need crypto.Signer and hash.Hash compatible interfaces for national crypto compliance", "you work with Chinese blockchain or fintech systems requiring GM cryptography"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/gmsm", "repo": "tjfoc/gmsm", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.725377+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:05:33.995376+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47b1a99bd77440fd6d5e1a9082f9f50b41847bbaae1748bccb7fadee9e4b491d", "fetched_at": "2026-08-28T04:05:59.725377+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tjfoc/gmsm"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.725377+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:05:33.995376+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47b1a99bd77440fd6d5e1a9082f9f50b41847bbaae1748bccb7fadee9e4b491d", "fetched_at": "2026-08-28T04:05:59.725377+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tjfoc/gmsm"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:05:33.995376+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47b1a99bd77440fd6d5e1a9082f9f50b41847bbaae1748bccb7fadee9e4b491d", "fetched_at": "2026-08-28T04:05:59.725377+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tjfoc/gmsm"}], "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:59.725377+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.725377+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.725377+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:05:33.995376+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47b1a99bd77440fd6d5e1a9082f9f50b41847bbaae1748bccb7fadee9e4b491d", "fetched_at": "2026-08-28T04:05:59.725377+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tjfoc/gmsm"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.725377+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.725377+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:05:33.995376+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47b1a99bd77440fd6d5e1a9082f9f50b41847bbaae1748bccb7fadee9e4b491d", "fetched_at": "2026-08-28T04:05:59.725377+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tjfoc/gmsm"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.725377+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.725377+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.725377+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:05:33.995376+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47b1a99bd77440fd6d5e1a9082f9f50b41847bbaae1748bccb7fadee9e4b491d", "fetched_at": "2026-08-28T04:05:59.725377+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tjfoc/gmsm"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.725377+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.725377+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:05:33.995376+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47b1a99bd77440fd6d5e1a9082f9f50b41847bbaae1748bccb7fadee9e4b491d", "fetched_at": "2026-08-28T04:05:59.725377+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tjfoc/gmsm"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:05:33.995376+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47b1a99bd77440fd6d5e1a9082f9f50b41847bbaae1748bccb7fadee9e4b491d", "fetched_at": "2026-08-28T04:05:59.725377+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tjfoc/gmsm"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:05:33.995376+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47b1a99bd77440fd6d5e1a9082f9f50b41847bbaae1748bccb7fadee9e4b491d", "fetched_at": "2026-08-28T04:05:59.725377+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tjfoc/gmsm"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:05:33.995376+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47b1a99bd77440fd6d5e1a9082f9f50b41847bbaae1748bccb7fadee9e4b491d", "fetched_at": "2026-08-28T04:05:59.725377+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tjfoc/gmsm"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3318, "days_push": 807, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}