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
assureat 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.
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.
assuredoes 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
190fa83ab586d94a4651e0c44b7584d47f4016b875501cd7cabe8b250ccb87bb
|
|
| MD5 |
30f823522099fb9e622be331868ed25e
|
|
| BLAKE2b-256 |
70f72c963b9673409381fcc918070e668ba0df3dd4eebaf564e1eba96a5df7c9
|
Provenance
The following attestation bundles were made for aiopsone_assure-0.1.1.tar.gz:
Publisher:
release.yml on jaybilgaye/aiopsone-assure
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aiopsone_assure-0.1.1.tar.gz -
Subject digest:
190fa83ab586d94a4651e0c44b7584d47f4016b875501cd7cabe8b250ccb87bb - Sigstore transparency entry: 1766840226
- Sigstore integration time:
-
Permalink:
jaybilgaye/aiopsone-assure@b05ba83aba7e0567002ba8a00eebb5eaf39bd510 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jaybilgaye
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b05ba83aba7e0567002ba8a00eebb5eaf39bd510 -
Trigger Event:
release
-
Statement type:
File details
Details for the file aiopsone_assure-0.1.1-py3-none-any.whl.
File metadata
- Download URL: aiopsone_assure-0.1.1-py3-none-any.whl
- Upload date:
- Size: 33.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e42651b675f8f0a0ee2df1b339d54ea802c27eff31b75572d51c523d1b21966
|
|
| MD5 |
ecece0f851f1050af27663aee757e7ff
|
|
| BLAKE2b-256 |
8acbf0ec36501ca474cc2f47ee1ae2509f310e5f31bb06cc3bd4bc56b2f32fc0
|
Provenance
The following attestation bundles were made for aiopsone_assure-0.1.1-py3-none-any.whl:
Publisher:
release.yml on jaybilgaye/aiopsone-assure
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aiopsone_assure-0.1.1-py3-none-any.whl -
Subject digest:
8e42651b675f8f0a0ee2df1b339d54ea802c27eff31b75572d51c523d1b21966 - Sigstore transparency entry: 1766840363
- Sigstore integration time:
-
Permalink:
jaybilgaye/aiopsone-assure@b05ba83aba7e0567002ba8a00eebb5eaf39bd510 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jaybilgaye
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b05ba83aba7e0567002ba8a00eebb5eaf39bd510 -
Trigger Event:
release
-
Statement type: