{"adoption": {"forks": 117, "observed_at": "2026-08-28T04:04:11.450072+00:00", "stars": 1268}, "canonical_url": "https://ross.abutalabs.com/products/pinterest-knox", "card": {"archived": false, "artifact_type": "service", "description": "Knox is a secret management service", "domain": ["security", "self-hosted", "developer-tools"], "enriched": true, "function": ["secrets-management", "security"], "health_score": 75, "homepage": null, "language": "Go", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["pinterest/knox"], "name": "pinterest/knox", "platform": ["go", "self-hosted", "cloud"], "pushed_at": "2026-07-10T17:52:14+00:00", "repo": "pinterest/knox", "stars": 1268, "tags": ["key-management", "secret-rotation", "mtls", "audit-logging", "credential-storage", "secret-store", "key-rotation", "encryption-keys", "devops", "linux", "macos", "docker"], "topics": [], "urls": [], "use_cases": ["store and rotate secrets for my services", "centralized key management with audit logging", "securely distribute api keys and credentials to machines", "rotate tls certificates and signing keys without a code deploy", "self-hosted secret server with machine authentication", "stop committing keys and passwords to git repositories"], "what_it_is": "Knox is a self-hosted secret management service written in Go that stores, serves, and rotates secrets, keys, and credentials used by other services. It authenticates machines via mTLS and users via GitHub tokens, supports key rotation after compromise, and keeps audit logs of who accessed what.", "when_to_avoid": ["You want a turnkey solution with dynamic secrets, database credential generation, or a rich web dashboard", "A managed cloud secret manager (AWS/GCP/Azure) or HashiCorp Vault fits your stack better", "Your project is small enough that environment variables or cloud-native options suffice", "You cannot operate the accompanying client tooling for machine access"], "when_to_choose": ["You need a self-hosted central secret store with strong machine auth (mTLS) and per-user access tracking", "Key rotation and an audit trail of secret access are requirements for your infrastructure", "You are comfortable running a Go service (or Docker container) and building around an API/CLI workflow", "You want to eliminate secrets scattered across git repos and laptops"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pinterest-knox", "repo": "pinterest/knox", "role": "main", "score": 64}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.450072+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:03:39.722570+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c4d3a6372f22a4ceaf465349ac0bd6c47c2592ab7d11a08adce7be62b7aa73ef", "fetched_at": "2026-08-28T04:04:11.450072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinterest/knox"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.450072+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:03:39.722570+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c4d3a6372f22a4ceaf465349ac0bd6c47c2592ab7d11a08adce7be62b7aa73ef", "fetched_at": "2026-08-28T04:04:11.450072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinterest/knox"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:03:39.722570+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c4d3a6372f22a4ceaf465349ac0bd6c47c2592ab7d11a08adce7be62b7aa73ef", "fetched_at": "2026-08-28T04:04:11.450072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinterest/knox"}], "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:04:11.450072+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.450072+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.450072+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:03:39.722570+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c4d3a6372f22a4ceaf465349ac0bd6c47c2592ab7d11a08adce7be62b7aa73ef", "fetched_at": "2026-08-28T04:04:11.450072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinterest/knox"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.450072+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.450072+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:03:39.722570+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c4d3a6372f22a4ceaf465349ac0bd6c47c2592ab7d11a08adce7be62b7aa73ef", "fetched_at": "2026-08-28T04:04:11.450072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinterest/knox"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.450072+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.450072+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.450072+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:03:39.722570+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c4d3a6372f22a4ceaf465349ac0bd6c47c2592ab7d11a08adce7be62b7aa73ef", "fetched_at": "2026-08-28T04:04:11.450072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinterest/knox"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.450072+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.450072+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:03:39.722570+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c4d3a6372f22a4ceaf465349ac0bd6c47c2592ab7d11a08adce7be62b7aa73ef", "fetched_at": "2026-08-28T04:04:11.450072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinterest/knox"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:03:39.722570+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c4d3a6372f22a4ceaf465349ac0bd6c47c2592ab7d11a08adce7be62b7aa73ef", "fetched_at": "2026-08-28T04:04:11.450072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinterest/knox"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:03:39.722570+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c4d3a6372f22a4ceaf465349ac0bd6c47c2592ab7d11a08adce7be62b7aa73ef", "fetched_at": "2026-08-28T04:04:11.450072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinterest/knox"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:03:39.722570+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c4d3a6372f22a4ceaf465349ac0bd6c47c2592ab7d11a08adce7be62b7aa73ef", "fetched_at": "2026-08-28T04:04:11.450072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinterest/knox"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 91, "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": 3827, "days_push": 54, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 64, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}