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.0.tar.gz (31.4 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.0-py3-none-any.whl (33.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aiopsone_assure-0.1.0.tar.gz
  • Upload date:
  • Size: 31.4 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.0.tar.gz
Algorithm Hash digest
SHA256 fb97696b1ad1d639d9e326e12cb5fd981bf20aa8ff7f1dc6af8380a16d60cdf4
MD5 d20dde305b2ca67bc370229f672f34d2
BLAKE2b-256 02d710729f15380d6086091577d32b2363400b4d05530235975f5ec1e98f9661

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopsone_assure-0.1.0.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.0-py3-none-any.whl.

File metadata

File hashes

Hashes for aiopsone_assure-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 461fe4fce8f7ea0153692ad59d69faeed82c6bfeaf7900422e46ec16918302ae
MD5 0bcb92b3843dd6e403e2569b6da0d40b
BLAKE2b-256 9be559f4a092da12091d5c2faef88c7c15f2414f4c0e1dd21f319ed1612710b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopsone_assure-0.1.0-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