{"adoption": {"forks": 280, "observed_at": "2026-08-28T04:04:19.940771+00:00", "stars": 1310}, "canonical_url": "https://ross.abutalabs.com/products/pacbot", "card": {"archived": false, "artifact_type": "application", "description": "PacBot (Policy as Code Bot)", "domain": ["security", "cloud-computing", "legal"], "enriched": true, "function": ["security", "monitoring", "workflow-automation", "plugin-system"], "health_score": 20, "homepage": "https://tmobile.github.io/pacbot/", "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["tmobile/pacbot"], "name": "tmobile/pacbot", "platform": ["cloud", "self-hosted", "jvm"], "pushed_at": "2022-12-08T16:43:24+00:00", "repo": "tmobile/pacbot", "stars": 1310, "tags": ["policy-as-code", "cloud-security", "continuous-compliance", "cloud-auditing", "security-automation", "auto-remediation", "aws-security", "compliance-reporting", "reporting", "devops", "docker", "web-server"], "topics": ["cloud-security", "security", "aws", "continous-compliance", "cloud-auditing", "policy-as-code", "cloud", "security-automation", "aws-security", "java", "angularjs", "cloud-compliance-reporting", "cloud-native", "spring-boot"], "urls": [], "use_cases": ["continuously monitor AWS resources for security policy violations", "generate cloud compliance reports and dashboards", "automatically remediate cloud misconfigurations", "audit cloud infrastructure against policy-as-code rules", "ingest vulnerability scan data and flag non-compliant resources", "manage policy exceptions for cloud compliance findings"], "what_it_is": "PacBot is a platform for continuous compliance monitoring, compliance reporting, and security automation for the cloud, where security and compliance policies are implemented as code. It discovers cloud resources, evaluates them against policies, records violations as issues, and can auto-remediate them via an auto-fix framework.", "when_to_avoid": ["you only need simple static infrastructure-as-code scanning rather than a full compliance platform", "your environment is primarily non-AWS, since core support is AWS-centric", "you need a lightweight tool without running a Java/Angular platform with its own data stores"], "when_to_choose": ["you need continuous compliance monitoring and reporting for AWS cloud infrastructure", "you want policies defined as code with automated remediation hooks", "you need a plugin-based platform to combine cloud, vulnerability, and other security data sources into one compliance view"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pacbot", "repo": "tmobile/pacbot", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:19.940771+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:49:56.725782+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7564e378c94e76eb947dd34059b51ff83fdff66a72347fd9f989f156bdabd70e", "fetched_at": "2026-08-28T04:04:19.940771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tmobile/pacbot"}, {"content_hash": "0346d8190297b7f3d5aabef801453b33db2d17fe5f8f56ad29b3256debd6f709", "fetched_at": "2026-08-29T12:08:00.514007+00:00", "kind": "homepage", "missing": false, "url": "https://tmobile.github.io/pacbot/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:19.940771+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:49:56.725782+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7564e378c94e76eb947dd34059b51ff83fdff66a72347fd9f989f156bdabd70e", "fetched_at": "2026-08-28T04:04:19.940771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tmobile/pacbot"}, {"content_hash": "0346d8190297b7f3d5aabef801453b33db2d17fe5f8f56ad29b3256debd6f709", "fetched_at": "2026-08-29T12:08:00.514007+00:00", "kind": "homepage", "missing": false, "url": "https://tmobile.github.io/pacbot/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:49:56.725782+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7564e378c94e76eb947dd34059b51ff83fdff66a72347fd9f989f156bdabd70e", "fetched_at": "2026-08-28T04:04:19.940771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tmobile/pacbot"}, {"content_hash": "0346d8190297b7f3d5aabef801453b33db2d17fe5f8f56ad29b3256debd6f709", "fetched_at": "2026-08-29T12:08:00.514007+00:00", "kind": "homepage", "missing": false, "url": "https://tmobile.github.io/pacbot/"}], "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:19.940771+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:19.940771+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:19.940771+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:49:56.725782+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7564e378c94e76eb947dd34059b51ff83fdff66a72347fd9f989f156bdabd70e", "fetched_at": "2026-08-28T04:04:19.940771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tmobile/pacbot"}, {"content_hash": "0346d8190297b7f3d5aabef801453b33db2d17fe5f8f56ad29b3256debd6f709", "fetched_at": "2026-08-29T12:08:00.514007+00:00", "kind": "homepage", "missing": false, "url": "https://tmobile.github.io/pacbot/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:19.940771+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:19.940771+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:49:56.725782+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7564e378c94e76eb947dd34059b51ff83fdff66a72347fd9f989f156bdabd70e", "fetched_at": "2026-08-28T04:04:19.940771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tmobile/pacbot"}, {"content_hash": "0346d8190297b7f3d5aabef801453b33db2d17fe5f8f56ad29b3256debd6f709", "fetched_at": "2026-08-29T12:08:00.514007+00:00", "kind": "homepage", "missing": false, "url": "https://tmobile.github.io/pacbot/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:19.940771+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:19.940771+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:19.940771+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:49:56.725782+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7564e378c94e76eb947dd34059b51ff83fdff66a72347fd9f989f156bdabd70e", "fetched_at": "2026-08-28T04:04:19.940771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tmobile/pacbot"}, {"content_hash": "0346d8190297b7f3d5aabef801453b33db2d17fe5f8f56ad29b3256debd6f709", "fetched_at": "2026-08-29T12:08:00.514007+00:00", "kind": "homepage", "missing": false, "url": "https://tmobile.github.io/pacbot/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:19.940771+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:19.940771+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:49:56.725782+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7564e378c94e76eb947dd34059b51ff83fdff66a72347fd9f989f156bdabd70e", "fetched_at": "2026-08-28T04:04:19.940771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tmobile/pacbot"}, {"content_hash": "0346d8190297b7f3d5aabef801453b33db2d17fe5f8f56ad29b3256debd6f709", "fetched_at": "2026-08-29T12:08:00.514007+00:00", "kind": "homepage", "missing": false, "url": "https://tmobile.github.io/pacbot/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:49:56.725782+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7564e378c94e76eb947dd34059b51ff83fdff66a72347fd9f989f156bdabd70e", "fetched_at": "2026-08-28T04:04:19.940771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tmobile/pacbot"}, {"content_hash": "0346d8190297b7f3d5aabef801453b33db2d17fe5f8f56ad29b3256debd6f709", "fetched_at": "2026-08-29T12:08:00.514007+00:00", "kind": "homepage", "missing": false, "url": "https://tmobile.github.io/pacbot/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:49:56.725782+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7564e378c94e76eb947dd34059b51ff83fdff66a72347fd9f989f156bdabd70e", "fetched_at": "2026-08-28T04:04:19.940771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tmobile/pacbot"}, {"content_hash": "0346d8190297b7f3d5aabef801453b33db2d17fe5f8f56ad29b3256debd6f709", "fetched_at": "2026-08-29T12:08:00.514007+00:00", "kind": "homepage", "missing": false, "url": "https://tmobile.github.io/pacbot/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:49:56.725782+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7564e378c94e76eb947dd34059b51ff83fdff66a72347fd9f989f156bdabd70e", "fetched_at": "2026-08-28T04:04:19.940771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tmobile/pacbot"}, {"content_hash": "0346d8190297b7f3d5aabef801453b33db2d17fe5f8f56ad29b3256debd6f709", "fetched_at": "2026-08-29T12:08:00.514007+00:00", "kind": "homepage", "missing": false, "url": "https://tmobile.github.io/pacbot/"}], "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": 2906, "days_push": 1364, "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}}