{"adoption": {"forks": 135, "observed_at": "2026-08-28T04:07:18.192712+00:00", "stars": 2756}, "canonical_url": "https://ross.abutalabs.com/products/memguard", "card": {"archived": false, "artifact_type": "library", "description": "Software sandbox for storage of sensitive information in memory.", "domain": ["security", "privacy", "developer-tools"], "enriched": true, "function": ["security", "cryptography", "secrets-management"], "health_score": 83, "homepage": null, "language": "Go", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["awnumar/memguard"], "name": "awnumar/memguard", "platform": ["go", "windows", "cross-platform"], "pushed_at": "2026-05-08T16:37:08+00:00", "repo": "awnumar/memguard", "stars": 2756, "tags": ["memory-security", "sensitive-data", "guard-pages", "cold-boot-attack", "pure-go", "linux", "macos"], "topics": ["security", "golang", "go", "cryptography", "memory", "crypto"], "urls": [], "use_cases": ["store encryption keys securely in memory in a Go application", "prevent secrets from being swapped to disk", "protect passwords from cold-boot attacks", "avoid garbage collector leaking sensitive buffers", "safely wipe secrets when a session ends", "detect buffer overflows touching sensitive data"], "what_it_is": "MemGuard is a pure Go library that securely stores sensitive information in memory, encrypting it with XSalsa20Poly1305 and bypassing the garbage collector via direct system calls. It adds guard pages, canary values, memory locking, and constant-time operations to reduce exposure of secrets like keys and passwords.", "when_to_avoid": ["your language is not Go", "you only need secrets at rest on disk (use a secrets manager or vault)", "you need a full HSM or hardware-backed key store"], "when_to_choose": ["you write Go software handling keys, tokens, or passwords", "you need defense-in-depth against memory disclosure and core dumps", "you want a pure-Go, cross-platform secret storage enclave"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/memguard", "repo": "awnumar/memguard", "role": "main", "score": 72}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.192712+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T08:18:50.410696+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5ff2e1df6623788976907124af1fee57467d881fae8d49248044dcef822810c", "fetched_at": "2026-08-28T04:07:18.192712+00:00", "kind": "readme", "missing": false, "url": "https://github.com/awnumar/memguard"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.192712+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T08:18:50.410696+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5ff2e1df6623788976907124af1fee57467d881fae8d49248044dcef822810c", "fetched_at": "2026-08-28T04:07:18.192712+00:00", "kind": "readme", "missing": false, "url": "https://github.com/awnumar/memguard"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T08:18:50.410696+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5ff2e1df6623788976907124af1fee57467d881fae8d49248044dcef822810c", "fetched_at": "2026-08-28T04:07:18.192712+00:00", "kind": "readme", "missing": false, "url": "https://github.com/awnumar/memguard"}], "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:07:18.192712+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.192712+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.192712+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T08:18:50.410696+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5ff2e1df6623788976907124af1fee57467d881fae8d49248044dcef822810c", "fetched_at": "2026-08-28T04:07:18.192712+00:00", "kind": "readme", "missing": false, "url": "https://github.com/awnumar/memguard"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.192712+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.192712+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T08:18:50.410696+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5ff2e1df6623788976907124af1fee57467d881fae8d49248044dcef822810c", "fetched_at": "2026-08-28T04:07:18.192712+00:00", "kind": "readme", "missing": false, "url": "https://github.com/awnumar/memguard"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.192712+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.192712+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.192712+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T08:18:50.410696+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5ff2e1df6623788976907124af1fee57467d881fae8d49248044dcef822810c", "fetched_at": "2026-08-28T04:07:18.192712+00:00", "kind": "readme", "missing": false, "url": "https://github.com/awnumar/memguard"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.192712+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.192712+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T08:18:50.410696+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5ff2e1df6623788976907124af1fee57467d881fae8d49248044dcef822810c", "fetched_at": "2026-08-28T04:07:18.192712+00:00", "kind": "readme", "missing": false, "url": "https://github.com/awnumar/memguard"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T08:18:50.410696+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5ff2e1df6623788976907124af1fee57467d881fae8d49248044dcef822810c", "fetched_at": "2026-08-28T04:07:18.192712+00:00", "kind": "readme", "missing": false, "url": "https://github.com/awnumar/memguard"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T08:18:50.410696+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5ff2e1df6623788976907124af1fee57467d881fae8d49248044dcef822810c", "fetched_at": "2026-08-28T04:07:18.192712+00:00", "kind": "readme", "missing": false, "url": "https://github.com/awnumar/memguard"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T08:18:50.410696+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5ff2e1df6623788976907124af1fee57467d881fae8d49248044dcef822810c", "fetched_at": "2026-08-28T04:07:18.192712+00:00", "kind": "readme", "missing": false, "url": "https://github.com/awnumar/memguard"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 81, "longevity": 100, "rhythm": 45}, "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": 3420, "days_push": 117, "days_rel": 371, "gap_med": 0, "n_releases_24m": 2}, "score": 72, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}