{"adoption": {"forks": 195, "observed_at": "2026-08-28T04:05:23.774750+00:00", "stars": 1695}, "canonical_url": "https://ross.abutalabs.com/products/pgaudit", "card": {"archived": false, "artifact_type": "plugin", "description": "PostgreSQL Audit Extension", "domain": ["databases", "security", "legal"], "enriched": true, "function": ["logging", "security", "database"], "health_score": 97, "homepage": "http://pgaudit.org/", "language": "C", "license": "NOASSERTION", "license_family": "other", "maturity": "stable", "member_repos": ["pgaudit/pgaudit"], "name": "pgaudit/pgaudit", "platform": ["windows", "self-hosted"], "pushed_at": "2026-07-30T13:08:02+00:00", "repo": "pgaudit/pgaudit", "stars": 1695, "tags": ["postgresql-extension", "audit-logging", "audit-trail", "compliance", "c", "linux", "macos"], "topics": ["pgaudit", "extension", "postgresql", "postgresql-extension", "audit", "audit-log", "database", "auditor"], "urls": [], "use_cases": ["produce audit logs for compliance with government, financial, or ISO certifications", "log all statements that touched a specific table without parsing SQL", "capture DDL statements executed inside DO blocks and functions", "track which user ran which statement against the database", "generate detailed audit trails for database forensics", "log object-level access to sensitive tables"], "what_it_is": "pgAudit is a PostgreSQL extension written in C that provides detailed session and object audit logging through the standard PostgreSQL logging facility. It produces structured audit trails suitable for government, financial, and ISO certification compliance requirements.", "when_to_avoid": ["you only need basic monitoring or debugging of statements", "you cannot tolerate the additional logging volume and performance overhead", "you need audit logging for databases other than PostgreSQL"], "when_to_choose": ["you need detailed, searchable audit logs of PostgreSQL activity for auditors", "standard log_statement=all output is insufficient for compliance requirements", "you need to identify all statements affecting a particular relation", "you must demonstrate object-level access logging for certification"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pgaudit", "repo": "pgaudit/pgaudit", "role": "main", "score": 80}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.774750+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:37:56.853908+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca61681554f80eec0c89a6aef697d3ca4d2d6e0428e27a00e93a79c38cc2a925", "fetched_at": "2026-08-28T04:05:23.774750+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pgaudit/pgaudit"}, {"content_hash": "e18a7a067e2ff3e5c8b114b73a0afee4dfecb690609d80984cc0d7bbf42d9d3a", "fetched_at": "2026-08-29T11:12:52.019654+00:00", "kind": "homepage", "missing": false, "url": "http://pgaudit.org/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.774750+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:37:56.853908+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca61681554f80eec0c89a6aef697d3ca4d2d6e0428e27a00e93a79c38cc2a925", "fetched_at": "2026-08-28T04:05:23.774750+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pgaudit/pgaudit"}, {"content_hash": "e18a7a067e2ff3e5c8b114b73a0afee4dfecb690609d80984cc0d7bbf42d9d3a", "fetched_at": "2026-08-29T11:12:52.019654+00:00", "kind": "homepage", "missing": false, "url": "http://pgaudit.org/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:37:56.853908+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca61681554f80eec0c89a6aef697d3ca4d2d6e0428e27a00e93a79c38cc2a925", "fetched_at": "2026-08-28T04:05:23.774750+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pgaudit/pgaudit"}, {"content_hash": "e18a7a067e2ff3e5c8b114b73a0afee4dfecb690609d80984cc0d7bbf42d9d3a", "fetched_at": "2026-08-29T11:12:52.019654+00:00", "kind": "homepage", "missing": false, "url": "http://pgaudit.org/"}], "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:23.774750+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.774750+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.774750+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:37:56.853908+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca61681554f80eec0c89a6aef697d3ca4d2d6e0428e27a00e93a79c38cc2a925", "fetched_at": "2026-08-28T04:05:23.774750+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pgaudit/pgaudit"}, {"content_hash": "e18a7a067e2ff3e5c8b114b73a0afee4dfecb690609d80984cc0d7bbf42d9d3a", "fetched_at": "2026-08-29T11:12:52.019654+00:00", "kind": "homepage", "missing": false, "url": "http://pgaudit.org/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.774750+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.774750+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:37:56.853908+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca61681554f80eec0c89a6aef697d3ca4d2d6e0428e27a00e93a79c38cc2a925", "fetched_at": "2026-08-28T04:05:23.774750+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pgaudit/pgaudit"}, {"content_hash": "e18a7a067e2ff3e5c8b114b73a0afee4dfecb690609d80984cc0d7bbf42d9d3a", "fetched_at": "2026-08-29T11:12:52.019654+00:00", "kind": "homepage", "missing": false, "url": "http://pgaudit.org/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.774750+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.774750+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.774750+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:37:56.853908+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca61681554f80eec0c89a6aef697d3ca4d2d6e0428e27a00e93a79c38cc2a925", "fetched_at": "2026-08-28T04:05:23.774750+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pgaudit/pgaudit"}, {"content_hash": "e18a7a067e2ff3e5c8b114b73a0afee4dfecb690609d80984cc0d7bbf42d9d3a", "fetched_at": "2026-08-29T11:12:52.019654+00:00", "kind": "homepage", "missing": false, "url": "http://pgaudit.org/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.774750+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.774750+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:37:56.853908+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca61681554f80eec0c89a6aef697d3ca4d2d6e0428e27a00e93a79c38cc2a925", "fetched_at": "2026-08-28T04:05:23.774750+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pgaudit/pgaudit"}, {"content_hash": "e18a7a067e2ff3e5c8b114b73a0afee4dfecb690609d80984cc0d7bbf42d9d3a", "fetched_at": "2026-08-29T11:12:52.019654+00:00", "kind": "homepage", "missing": false, "url": "http://pgaudit.org/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:37:56.853908+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca61681554f80eec0c89a6aef697d3ca4d2d6e0428e27a00e93a79c38cc2a925", "fetched_at": "2026-08-28T04:05:23.774750+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pgaudit/pgaudit"}, {"content_hash": "e18a7a067e2ff3e5c8b114b73a0afee4dfecb690609d80984cc0d7bbf42d9d3a", "fetched_at": "2026-08-29T11:12:52.019654+00:00", "kind": "homepage", "missing": false, "url": "http://pgaudit.org/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:37:56.853908+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca61681554f80eec0c89a6aef697d3ca4d2d6e0428e27a00e93a79c38cc2a925", "fetched_at": "2026-08-28T04:05:23.774750+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pgaudit/pgaudit"}, {"content_hash": "e18a7a067e2ff3e5c8b114b73a0afee4dfecb690609d80984cc0d7bbf42d9d3a", "fetched_at": "2026-08-29T11:12:52.019654+00:00", "kind": "homepage", "missing": false, "url": "http://pgaudit.org/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:37:56.853908+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca61681554f80eec0c89a6aef697d3ca4d2d6e0428e27a00e93a79c38cc2a925", "fetched_at": "2026-08-28T04:05:23.774750+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pgaudit/pgaudit"}, {"content_hash": "e18a7a067e2ff3e5c8b114b73a0afee4dfecb690609d80984cc0d7bbf42d9d3a", "fetched_at": "2026-08-29T11:12:52.019654+00:00", "kind": "homepage", "missing": false, "url": "http://pgaudit.org/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 95, "longevity": 100, "rhythm": 49}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4082, "days_push": 34, "days_rel": 343, "gap_med": 4.5, "n_releases_24m": 7}, "score": 80, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}