# duo-labs/parliament

AWS IAM linting library

Repository: https://github.com/duo-labs/parliament
Canonical: https://ross.abutalabs.com/products/parliament
Language: Python
License: BSD-3-Clause
License Family: permissive
Last push: 2026-01-07T23:20:44+00:00

## Health v2 (maintenance only)
Score: 50/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 61, release rhythm 8, longevity 100
- inputs: {"age_days": 2546, "days_push": 238, "days_rel": 533, "gap_med": null, "n_releases_24m": 1}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1122, forks 107 (observed 2026-08-28T04:03:40.028154+00:00)

## What it is
Parliament is a Python library and CLI tool that lints AWS IAM policies, detecting malformed JSON, invalid actions and resources, type mismatches, and bad policy patterns. It can be used programmatically as a library or from the command line against files, directories, or AWS authorization details exports.

## Use cases
- lint aws iam policies for errors
- find incorrect resources or conditions in iam policy actions
- audit aws managed policies for bad patterns
- validate iam policy json before deployment
- integrate iam policy linting into ci pipeline
- analyze get-account-authorization-details output for policy issues

## When to choose
- you need programmatic IAM policy analysis as a Python library
- you want CLI linting of IAM policy files or directories
- you need configurable finding severities via override config files

## When to avoid
- you need full cloud security posture management beyond IAM policies
- you work with non-AWS cloud IAM systems
- you need runtime enforcement rather than static linting

## Facets
- artifact type: library
- maturity: active
- function: linter, security, cli, developer-tools
- domain: security, cloud-computing, developer-tools
- platform: python, cli, cross-platform
- tags: aws, iam, policy-linting, cloud-security, static-analysis, devops

## Member repositories
- duo-labs/parliament (main) score 50

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:40.028154+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:40:55.541887+00:00, confidence not recorded.
  - readme: https://github.com/duo-labs/parliament (fetched 2026-08-28T04:03:40.028154+00:00, sha adb192eac08d)
  - registry_pypi: https://pypi.org/pypi/parliament/json (fetched 2026-08-29T12:44:38.730759+00:00, sha ca0fb2a3d048)
- Data as of 2026-08-30T08:39:29.467469+00:00.
