Skip to main content

APRA CPS 234 / CPS 230 AWS compliance evidence from your terminal — security findings to a board-ready narrative report.

Project description

aiopsone-assure

APRA compliance evidence for AWS, from your terminal. Point assure at an AWS account (or existing Prowler findings) and get a board-ready, APRA-paragraph-mapped narrative report (Markdown + branded PDF) for CPS 234 and CPS 230 — generated locally, in your own environment.

License: MIT CI

Keywords: APRA CPS 234 / CPS 230 · AWS compliance report · Prowler findings to board narrative · Bedrock AI compliance · Australian regulated cloud


Why

Security scanners produce findings. Boards and APRA want narrative evidence — "demonstrate, mapped to CPS 234 ¶21, that information assets are encrypted, with evidence and a remediation plan." That translation is the biggest time-sink in an APRA review.

assure closes the gap: findings → CPS 234/230 paragraph mapping → board-ready narrative report. It runs entirely in your environment — your AWS credentials, your Bedrock, nothing leaves your account.

Built on Prowler, Powerpipe, Cloud Custodian and AWS Config — the best open-source scanners. assure does the part they don't: turning their findings into APRA-paragraph board evidence.

Install

pipx install aiopsone-assure          # or: pip install aiopsone-assure
pipx install "aiopsone-assure[ai]"    # + Bedrock AI narrative (boto3)
pipx install "aiopsone-assure[scan]"  # + run Prowler scans (prowler)

PDF output needs Chrome/Chromium on the machine (set $ASSURE_CHROME to override the path), or use --format md.

Usage

# 1. Run Prowler against an account and build the report in one step
assure scan --framework cps234 --region ap-southeast-2

# 2. Build a report from findings you already have (Prowler CSV / JSON / OCSF)
assure report --in findings.csv --framework cps234

# 3. Deterministic, no AI (template engine — default; zero AWS calls)
assure report --in findings.csv --no-ai

# 4. AI narrative via Amazon Bedrock (AU-resident), board-ready PDF
assure report --in findings.csv --engine bedrock --region ap-southeast-2 --format pdf

# 5. CI gate: non-zero exit if any control FAILs; machine-readable summary
assure report --in findings.csv --json

List bundled frameworks:

assure frameworks
# cps234   APRA CPS 234 Information Security  (20 controls, 55 checks)
# cps230   APRA CPS 230 Operational Risk Management  (18 controls, 15 checks)

What you get

A board-ready report with:

  • Executive summary + automated compliance score
  • Control-by-control assessment mapped to CPS 234/230 paragraphs (PASS / FAIL / MANUAL / NOT-ASSESSED)
  • Cited evidence per failing control
  • Remediation roadmap

Two formats: Markdown (always) and a branded PDF (professional, print-friendly).

How it works

 AWS account / existing findings
        │  (your own AWS creds — nothing leaves your environment)
        ▼
   assure ── run Prowler (scoped to the framework's checks)
        │
        ├─ map check → CPS 234/230 paragraph   (we own the mapping; no FW injection into Prowler)
        ├─ narrate: template (offline) or Amazon Bedrock / Claude (AU-resident)
        ▼
   Board-ready report: Markdown + branded PDF

Exit codes

0 no failing controls · 2 one or more controls FAIL (for CI gating) · 1 error. Use --exit-zero to always return 0.

Frameworks are pluggable

A framework is just data — a pack JSON mapping checks → paragraphs. Bundled: CPS 234, CPS 230. Point --framework path/to/pack.json at your own. (Roadmap: Essential Eight, ACSC ISM/IRAP, then ISO 27001 / SOC 2.)

Status & scope

v0.1 — CLI. Self-hosted, single-shot, stores nothing. The hosted SaaS (continuous, multi-account, managed AU-resident inference, dashboard) is a separate product that wraps this engine.


Practitioner tooling for AWS Security in APRA-regulated Australia — aiopsone.com. Not legal advice; verify against the official APRA standards.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiopsone_assure-0.1.1.tar.gz (31.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aiopsone_assure-0.1.1-py3-none-any.whl (33.4 kB view details)

Uploaded Python 3

File details

Details for the file aiopsone_assure-0.1.1.tar.gz.

File metadata

  • Download URL: aiopsone_assure-0.1.1.tar.gz
  • Upload date:
  • Size: 31.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for aiopsone_assure-0.1.1.tar.gz
Algorithm Hash digest
SHA256 190fa83ab586d94a4651e0c44b7584d47f4016b875501cd7cabe8b250ccb87bb
MD5 30f823522099fb9e622be331868ed25e
BLAKE2b-256 70f72c963b9673409381fcc918070e668ba0df3dd4eebaf564e1eba96a5df7c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopsone_assure-0.1.1.tar.gz:

Publisher: release.yml on jaybilgaye/aiopsone-assure

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiopsone_assure-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for aiopsone_assure-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8e42651b675f8f0a0ee2df1b339d54ea802c27eff31b75572d51c523d1b21966
MD5 ecece0f851f1050af27663aee757e7ff
BLAKE2b-256 8acbf0ec36501ca474cc2f47ee1ae2509f310e5f31bb06cc3bd4bc56b2f32fc0

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopsone_assure-0.1.1-py3-none-any.whl:

Publisher: release.yml on jaybilgaye/aiopsone-assure

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page