Repository navigation
Releases: marcelrapold/mra-auditor
Releases · marcelrapold/mra-auditor
Release list
v1.0.0 — Continuous compliance
Added
- Continuous compliance (compliance-as-code). Findings may carry an executable re-audit
criterion (check: a shell command that passes once the finding is fixed;
schemas/finding.schema.json);scripts/verify-checks.mjsruns them against a checkout and
writeschecks-report.json/CHECKS-REPORT.md(exit 3 while a finding is open,--strict
counts checkless findings as open). - Run-to-run diff.
scripts/diff-runs.mjs baseline currentwritesaudit-diff.json/
AUDIT-DIFF.md— added, fixed, persisting with severity changes (renumbered ids matched by
audit + title), deal-blocker, readiness, scorecard and control deltas — and gates with
--fail-on new-p0p1,deal-blocker,regression,score-drop(exit 2). - GitHub Action
.github/actions/verify(composite, no third-party actions): validates the
run, exports every deliverable, writes the executive report and the diff into the job summary,
runs the checks, uploadsfindings.sarifto Code Scanning viagh api; outputs
readiness-score,deal-blockers,diff-conditions. - Trust center.
--format trust-centerwrites an aggregate-onlytrust-center.html
(readiness score, control status counts, frameworks mapped, deal-blocker count, the
readiness-not-certification sentence — no finding detail). - MCP tools
get_readiness_checklist(target)andlist_control_themes(audit?), parsed live
fromCONTROL-CROSSWALK.md(34 themes, prefixed control IDs, organisational controls, audits to
run).
Changed
- Version 1.0.0: the prompt structure, the finding schema (eleven required fields), the canonical
run file, the crosswalk ID conventions and the exporter's file names are now a stable contract;
breaking changes to any of them bump the major version.
v0.12.0 — Sales accelerators
Added
- Vendor questionnaire pre-fill.
scripts/export-findings.mjs --format questionnairewrites
caiq-answers.csv: one pre-filled answer per CSA CCM v4 domain (the grouping CAIQ v4 and SIG
use), derived from the run's control statuses, with "Not assessed by this run" where the audits
were silent — never aYesthe run cannot back. - Accessibility Conformance Report.
--format acrwritesacr-wcag22.csv: every WCAG 2.2
Level A/AA criterion with a VPAT 2.5 conformance level, read fromWCAG:<SC>controls and the
wcagfield; "Supports" only when the accessibility audit ran. Covers eCH-0059 v3 too. - Sector overlays.
SECTOR: finance | health | swissin the orchestrator adds overlay control
IDs from a new crosswalk table — PCI DSS 4.0.1 requirements, EU-DORA articles, FINMA-RS 2023/1
chapters, HIPAA Security Rule sections, the Swiss ISG reporting duty, the BWL ICT minimum
standard and eCH-0059 — mapped to all 34 themes; fine-exposure vocabulary extended accordingly.
Thesecurity,infrastructure,compliance-privacy,accessibilityandfrontendprompts
name the overlays in their principles or schema examples.
v0.11.0 — Business output
Added
- Business output.
REPORT-OUTPUT-STANDARD.md— the contract for
everything that leaves the audit besides issues: one canonicalauditor-out/audit-run.json
(schemas/audit-run.schema.json,
schemas/finding.schema.json) from which
scripts/export-findings.mjsderives, dependency-free and deterministically, the executive
report (Markdown → DOCX/PDF via pandoc), SARIF 2.1.0 for GitHub Code Scanning, OSCAL 1.1.2
assessment results for GRC tools,gap-matrix.csv/findings.csvfor Vanta, Drata,
Secureframe and Jira, and an evidence manifest with sha256 per cited artifact (hashes only, no
content). The script validates the run file (--validate), ships withnode:testcoverage, and
runs in thepromptsCI workflow. - Issue targets beyond GitHub.
ISSUE_TARGETacceptsgithub:owner/repo,jira:KEY,
linear:TEAMandservicenow:<url>, with a field mapping (severity → priority, finding ID in the
title,auditorlabel, tracker as Epic / Project / Problem) in the report-output standard. - Orchestrator Step 5b — Business exports (write, validate, export, hand over
auditor-out/);
MCPget_standard("report-output"); a fourth yardstick card on the landing page.
Changed
- Output language is chosen per run.
OUTPUT_LANGno longer defaults to German (or English —
the 13 prompts disagreed); every prompt now asks when unset and treats English and de-CH German as
equally first-class.ISSUE-OUTPUT-STANDARD.md1.3.0 records the rule, the issue targets and the
canonical-source requirement. CONTROL-CROSSWALK.mdandREPORT-OUTPUT-STANDARD.mdare part of the checksummed trust anchor.
v0.10.0 — Certification readiness
Added
- Certification readiness. The orchestrator gains
READINESS_TARGETwith four targets —
soc2,iso27001,iso42001-ai-act,nis2-cra— and a Step 4b that inverts the findings into
a control-by-control gap matrix (statusimplemented/partial/missing/not-assessable
/n/a), classifies nonconformities as Major / Minor / OFI, computes a technical control
readiness score with a time-to-audit-ready estimate, and produces the target's deliverables
(Statement of Applicability draft, risk-register seed, AI-system inventory with risk tier,
reporting-capability check, evidence register). CONTROL-CROSSWALK.md— one theme-based mapping (34 themes) from findings to the control
IDs of SOC 2 TSC, ISO/IEC 27001:2022 Annex A, ISO/IEC 42001:2023 Annex A + EU AI Act, NIS2
Art. 21/23, CRA Annex I / Art. 14, and the Swiss revDSG (GDPR alongside), with the organisational
controls listed as not assessable from code, a fine-exposure vocabulary, and the scoring rules.
It is part of the checksummed trust anchor and exposed by the MCP server as
get_standard("control-crosswalk").FRAMEWORK-VERSIONS.md— a dated register of every framework edition the prompts cite, with
a quarterly review procedure.- Three business fields in every finding schema —
controls,deal_blocker,fine_exposure—
enforced across all 13 audits by thepromptsCI gate;ISSUE-OUTPUT-STANDARD.md1.2.0 adds
the matchingcontrol:<Framework>-<ID>anddeal-blockerlabels, the business view and the
readiness section of the tracking issue. - Swiss revDSG in the
compliance-privacyaudit (jurisdictionCH, Art. 6–9, 12, 16–17,
19–25, 28, 32, personal fines under Art. 60–63, FDPIC breach notification) alongside GDPR;
ISO 42001 / EU AI Act control view in theai-llmaudit; ISO 27001 / SOC 2 control view
in thesecurityandinfrastructureaudits. - Landing page: a "Certification readiness" section with the four targets and a third yardstick
card for the crosswalk;llms.txtdocuments the readiness protocol. - Legal pages (
/privacy,/imprintand the German mirrors) and the analytics consent gate
(audit findings #168–#170); the "Audit Orchestrator" hero artwork with the emerald particle field.
Changed
- Dependabot no longer groups major version bumps into the weekly groups.
.gitattributesnormalises every text file to LF so the byte-for-byte checksums verify on
Windows checkouts too.
Fixed
- Stale references:
TTDSG→TDDDG(renamed May 2024), OWASPA01:2021→A01:2025, OWASP LLM
LLM02→LLM05:2025, and "DORA" disambiguated as DevOps Research and Assessment metrics, not
the EU Digital Operational Resilience Act. CONTRIBUTING.mdnamed a hand-runsha256sumcommand whose output format differs from what CI
verifies (#174); it now points atnode scripts/checksums.mjs.
v0.9.1
[0.9.1] - 2026-06-26
Changed
contentaudit — formalized the localisation control inputs.LOCALISATION_MODEgains a
third valuetranslate-and-rewrite(produce target copy from the source when no usable target
draft exists, held to the same native-first bar), and bothLOCALISATION_MODEand
TERMINOLOGY_POLICYnow have an explicit "control effect" spec defining what each value does — so
a run's localisation behaviour is unambiguous rather than inferred. No structural change; the gate
stays green (13/13).
v0.9.0
[0.9.0] - 2026-06-26
Added
- MCP server (
mcp/) — a dependency-light stdio Model Context Protocol server that exposes the
verified, version-pinned audit prompts as native agent tools (list_audits,get_audit_prompt,
get_orchestrator,get_standard) for Claude Desktop, Claude Code, Cursor, and any MCP-capable
agent. Mirrors the canonicalAUDITScatalogue and reads prompts live fromaudit-prompts/. - Per-audit detail pages —
/audits/<key>(German mirror/de/audits/<key>) with long-form
copy, an audit-specific activation prompt, and per-audit Open Graph images, for deep-linking and
SEO. Short vanity slugs (e.g./security-audit,/a11y-audit) 308-redirect to the canonical path. - Sample-report gallery —
/reportsand/reports/<slug>rendering the real #97 self-audit run
(scorecard, not-applicable reasons, headline findings, and the cross-audit dedup exhibit), every
field mapped to a verifiable GitHub artifact and localized EN/DE. - Per-audit photographic hero images ("Verified Systems Lab") shown on the audit detail pages and
the homepage audit cards, auto-detected via thepublic/<key>.webpconvention. - Native-language & locale integrity (
C15) in thecontentaudit — a localization lens with a
locale input contract (LOCALE/SOURCE_LANGUAGE/LOCALISATION_MODE/TERMINOLOGY_POLICY), a
Phase-0 language brief + terminology matrix, a "Native Reader" blind-back-translation skeptic
(Phase 3), a mode-dependent scorecard dimension, and de-CH definition-of-done checks, so an audit
yields original-sounding copy in the target locale rather than translated source. de-CH (Swiss)
defaults toss, neverß. TERMINOLOGY.md— a bilingual EN/de-CH glossary (Binding + Advisory tiers) that serves as the
content audit'sSTYLE_REFERENCE; linked fromCONTRIBUTING.md.
Changed
- The landing page is now a multi-route site (home, per-audit details, reports) sharing a common
header/footer/nav chrome, rather than a single page. - Vercel deploys are git-connected and automatic (production on push to
main, previews per branch),
with the monorepo build unblocked (Root Directory =web). - Cross-cutting de-CH locale rule in
ISSUE-OUTPUT-STANDARD.md(Swiss orthography, German
quotation marks, terminology consistency) inherited by all 13 audits, and the issue-label axis
canonicalized todimension:/effort:(withlocale:de-CH);DOCUMENTATION-STANDARD.md
orthography aligned to Swissss. - Native Swiss-German site copy — the entire German site (
web/lib/i18n.tsand all 13 audit
detail pages) re-modeled into original de-CH by dogfooding the newC15lens on this repo:
English sentence architecture and Denglish removed, terminology unified, every protected technical
term preserved. Locked in by aweb/lib/locale-de-ch.test.tsregression guard (noß, a
morphology-aware Denglish denylist) and a corrected principle-translation assertion.
Fixed
- CI/release hardening — automated
CHECKSUMS.txtregeneration and verification, a version-pin
verification gate so release pins can't silently drift, an ESLint / jsx-a11y gate forweb/, and a
CI workflow for themcp/package. - Dropped dead exports in
reports.tsflagged by the lean audit.
v0.8.0
Added
leanaudit — the 13th template: a repo-leanness / anti-AI-slop / dependency-transparency audit that challenges dead code, redundancy, unused/phantom dependencies, and bloat, makes the full dependency surface transparent (SBOM), and proposes a safe strip-down gated against over-deletion — a Phase-0 Protected/Load-Bearing Manifest, Chesterton's Fence, a four-class removal register, and a "Resurrector"/"Fence-Keeper" adversarial pass. Maps to Software Engineering at Google (deprecation/dependency management), OWASP Component Analysis, SLSA, and YAGNI. Dogfooded against this repo — see #125.
Changed
- Landing-page overhaul (from a dogfooded
contentaudit and follow-up non-design reviews): a Proof section with the real #97 self-audit backlog exhibit, scorecard, and a filed finding; copy-to-clipboard activation CTAs; grounded claims and a Trust/FAQ block; a visual "input → six-phase pipeline → GitHub issues" process diagram in "How it works"; inline jargon tooltips; plus accessibility (ENog:image, hreflang), performance, SEO and German-copy fixes. All 23 content-audit findings (#100–#122) closed.
v0.7.0
Adds the content & messaging audit — the 12th template.
Added
contentaudit: goes beyond prose polish. It challenges the thesis (steelmans the strongest counter-argument), measures information gain against best-in-class references, audits audience/awareness-stage fit, evidence & originality, structure, voice, persuasion, and ethics — and ships concrete before/after rewrites, filed as GitHub issues perISSUE-OUTPUT-STANDARD.- Built on the canonical house skeleton (Phase 0–5, P0–P3, shared finding schema, definition of done) with a 0–100 content scorecard; passes the prompt-structure gate 12/12.
- Wired into the orchestrator menu + machine index,
llms.txt, the landing page (audit count auto-updates to 12), the README library table,ARCHITECTURE.md, and the new-audit issue template.
Full changelog: https://github.com/marcelrapold/auditor/blob/main/CHANGELOG.md
v0.6.0
First published release. Resolves the full-repo orchestrator self-audit backlog (#97) and hardens the release/supply-chain surface.
Added
- Per-locale root layouts (route groups
(en)/(de)) so/deserves<html lang="de">; a German Open Graph image and per-route Twitter/OG metadata. scripts/bump-version.mjs+RELEASING.md: single-source the release tag pinned in the orchestrator andllms.txt; aCHECKSUMS.txtverification gate (sha256sum -c) in CI.- Escape-to-close + focus-return on the mobile menu; reduced-motion handling for smooth scrolling.
Changed
- English copy/metadata now say "GitHub issues in German or English"; audit count derived from
AUDIT_COUNT. - CI hardening: GitHub Actions pinned to commit SHAs,
concurrency+timeout-minuteson every workflow,promptsNode sourced from.nvmrc; Dependabot grouping/labels;engines.nodealigned to>=22; vitest 4 (0 vulnerabilities); HSTS response header. - Fixed the
check-prompts.mjslegacy-severity guard and added a self-test.
Full changelog: https://github.com/marcelrapold/auditor/blob/main/CHANGELOG.md