NSAuditor AI EE produces an Article 32 (Security of Processing) infrastructure-substrate pre-audit report mapped per-sub-measure to Regulation (EU) 2016/679, Article 32. SHA-256 chain-of-custody sidecars, cover-page Scope Attestation, four-factor proportionality discipline, Art. 83(4) lower-tier fine framing — and Zero Data Exfiltration: no scan data or evidence artifact is ever transmitted to Nsasoft, and every outbound path the product can take is enumerated in its published egress register. This is Art. 32 substrate only: it is not GDPR compliance, and no GDPR certificate exists under the Regulation.
LATEST · EE 0.42.0 · 2026-08-27
eighth framework — NIST SP 800-171 Rev 2
GDPR Article 32 (Security of Processing)
The eighth framework — NIST SP 800-171 Rev 2, mapped at the level an assessor actually scores
EE 0.42.0 (2026-08-27) is the current release — partition-correct AWS auditing (GovCloud / China / ISO / European Sovereign Cloud) and fail-closed Azure sovereign-cloud selection with an estate stamp; all eight coverage matrices unchanged. Prior: EE 0.41.0 (2026-08-26) — the 29th Enterprise plugin, a dedicated Amazon DocumentDB auditor (plugin 1230), owns the docdb engine on the shared RDS control plane, where a DocumentDB cluster’s storage-encryption gap could previously read clean under the RDS auditor’s Aurora-only filter; the RDS auditor now engine-filters DocumentDB and Neptune with a standing disclosure that a Neptune estate is unaudited. Plugin count 28→29 (29 Enterprise auditors, 56 overall), and all eight coverage matrices are unchanged. Prior: EE 0.40.3 (2026-08-25) was a focused evidence-integrity patch, and the headline of the 0.40 line remained the eighth compliance framework, NIST SP 800-171 Rev 2, and it routes from the same single read-only scan as the other seven. Every mapped requirement carries the full list of its SP 800-171A determination statements alongside the 69 of 172 this engine supplies examine-method material for — so a C3PAO reads exactly which objectives your configuration already evidences. That is coverage claimed at the level an assessment is actually scored at. All 110 Rev 2 requirements are enumerated with no declared subset, and Rev 2 is pinned deliberately, because CMMC assesses Rev 2 by rule. Scoped as evidence substrate for CMMC Level 2 preparation: it feeds your System Security Plan and POA&M and leaves the determination where it belongs, with your assessor. The seven existing coverage matrices are unchanged and the plugin catalog is unchanged at 28 Enterprise auditors (55 overall). Read the NIST SP 800-171 Rev 2 coverage page →
Prior: EE 0.39.0 (2026-08-19) — every cloud provider now tells you what it did not look at. A scanner that finds nothing has said two different things at once: we looked and it was clean, and we never looked. A deferredScope declaration separates them — a static, per-plugin statement of what the release does not assess. Seven new declarations ship across the GCP and Azure plugins, 8 to 12 boundaries each, emitted at run scope on the audited path including over an empty estate, which is the case that matters most: an account with no resources produces zero findings whether or not anything was ever examined. Re-measured on this release against real cloud accounts — AWS reports 9 declarations, Azure 4, GCP 3 — and two AWS declarations became estate-independent, so the count no longer scales with the number of enabled regions. A declaration routes to zero controls by design, so the GDPR Article 32 matrix is unchanged at 4 covered / 5 partial / 2 out-of-scope: a disclosure that a surface was not examined is never filed as evidence that it passed.
Prior — EE 0.37.0 (2026-08-16) carried vulnerability data onto a network that has no way to fetch it. nsauditor-ai feed bundle merges the NVD feed files you downloaded on a connected host into one portable archive; feed import reads it into the offline CVE store on the far side and names why it skipped records — withdrawn CVEs and entries with no CPE data are expected, and are not data loss. Optional --kev / --epss carry your own CISA KEV and FIRST EPSS downloads inside the same archive, validated on the connected host where a bad file can still be replaced — no exploit data ships with this product. Each carried file records a SHA-256 that import verifies, so a file altered in transit is detected. Air-gapped delivery now ships as a dependency-complete bundle with an install script and checksums — restricted distribution; its install script is verified on native aarch64 as well as amd64, so an arm64 enclave is covered. (The published container image is amd64.) EE 0.42.0 requires CE ≥ 0.2.49 — RAISED at 0.42.0, because on an older Community Edition the ISO/EUSC partition fix is inert rather than absent; paired CE 0.2.49 + agent-skill 0.2.47. EE 0.37.0 needed CE ≥ 0.2.42, raised at that release, because the feed commands are routed from Community Edition.
Prior — EE 0.36.0 (2026-08-13) — the verification release. A compliance report now cryptographically checks the suppression signatures it renders, for approvers whose registry entry carries key material, and the verdict names the exact signature bytes it checked — which is the difference between telling a DPO that an accepted risk was approved by a named person and being able to show which bytes carry that approval. Two axes, not one. verified answers whether the suppression should stand and cryptoValid answers whether those bytes came from the named key; they diverge on a revoked key, which is what makes signing after revocation a cryptographic finding rather than an operator-editable string. A tampered record renders “signature FAILED verification”. The condition is stated because it is load-bearing: every identity registry in the field today is fingerprint-only, so a missing verdict means NOT CHECKED and never FAILED — the report says “signed — not checked by this report”, and a report advisory names how many registered approvers are still awaiting material and what to paste. An engine fault in the identity phase now fails that framework’s report loudly instead of rendering a degraded section that told the reader to restore a registry that was fine — a disclosed failure attributed to the wrong party is not a disclosure, which matters most where the reader is a DPO or a supervisory authority. EE 0.36.0 requires CE ≥ 0.2.40, unchanged from the previous release, because nothing in this cycle needs new Community Edition code. Matrix-neutral — all seven coverage matrices UNCHANGED and the plugin count UNCHANGED at 28 Enterprise plugins (27 of them cloud auditors), 55 overall. The GDPR Art. 32 substrate matrix is UNCHANGED at 4 covered / 5 partial / 2 OOS. Paired CE 0.2.41 + agent-skill 0.2.39. This remains GDPR Article 32 (Security of Processing) infrastructure substrate only, not GDPR compliance.
Earlier in the same lane: EE 0.33.1 (2026-08-07) — auditor-verifiable proof, now stated in every framework report. All seven auditor-shaped reports now say the same thing about evidence integrity: RFC 3161 trusted timestamping is opt-in via NSAUDITOR_TSA_URL, pointed at a Time-Stamp Authority you choose, and every compliance artifact then carries a .tsr sidecar your auditor verifies offline with stock openssl — against that third party, with none of our software in the path. Opt-in with no default, ever, so an air-gapped environment simply leaves it unset. Verified end to end on 2026-08-07 against a real public Time-Stamp Authority through the published binaries. The agent skill and the Community Edition README answer the same way, so every surface a reader can reach agrees. It builds directly on EE 0.33.0 (2026-08-07), the wiring release. Eleven compliance options that nothing shipped could populate now receive values from a real entry point: the option existed, the engine read it, and no entry point ever wrote to it. The new entry points live in Community Edition, so EE 0.33.0 requires CE ≥ 0.2.37 — on an older CE the options stay unfed. Zero Data Exfiltration is now a positive register of 17 enumerated outbound paths, each named with its trigger and its off switch, rather than a blanket denial — which is what a DPO assessing whether the tool introduces a new processor under Art. 28 actually needs to read. RFC 3161 trusted timestamping is now opt-in via NSAUDITOR_TSA_URL and was verified against a real timestamp authority on 2026-08-07 — opt-in, not a default, and it is itself one of those enumerated outbound paths, so enabling it is a deliberate decision with an Art. 32 consequence. Ed25519 suppression signing was reachable but unproven at that release, and its verification gate has since run against published bytes, for approvers whose registry entry carries key material — compliance suppress signs the approval it writes when NSAUDITOR_SIGNING_KEY names a local signing key, and EE 0.36.0 is the half that reads that approval back. EE 0.35.0 required CE ≥ 0.2.40, because the approval commands live in the Community Edition and forward to Enterprise. Signature records now carry algorithm and backend frozen at the moment of signing rather than re-derived later. Matrix-neutral — all seven coverage matrices UNCHANGED and the plugin count UNCHANGED at 28 Enterprise plugins (27 of them cloud auditors), 55 overall. The GDPR Art. 32 substrate matrix is UNCHANGED at 4 covered / 5 partial / 2 OOS. Paired CE 0.2.37 + agent-skill 0.2.35. This remains GDPR Article 32 (Security of Processing) infrastructure substrate only, not GDPR compliance.
Prior: EE 0.32.11 (2026-08-05) — the release gate that is supposed to tell us what a customer actually installs had been auditing the maintainer’s development tree and calling it the production closure. It now packs the tarball, installs it the way a customer does, and audits THAT — and it refuses to report clean until it has proved an advisory database actually answered. The difference is not a rounding error. The development tree carries 25 advisories, 8 of them HIGH; the closure a customer installs carries 6, none HIGH. Across 26 advisory packages the two lists share five — and zero high-severity ones. Every one of those eight highs was development-only. Art. 32(1) asks for measures appropriate to the risk taking into account the state of the art, and the state of a processor’s own tooling is part of what a DPO or supervisory authority may reasonably ask about: a gate reading the wrong tree does not produce an obviously wrong number, it produces a number that reads exactly like the right one. Also in this release — the SOC 2 matrix is now enumerated in full at 10 covered / 4 partial / 37 out of scope = 51, the complete AICPA TSC 2017 universe; that is enumeration completeness, not a coverage change, and no control changed status and no routing changed. The Type I vs Type II documentation now says, mechanism by mechanism, which parts are reachable from a shipped entry point and which are not. Verified on the published bytes, not the source tree: after a global install of the published tarballs, 28 of 28 Enterprise plugins active, and a three-cloud scan produced a 76-file evidence pack per cloud. That release was matrix-neutral — still 28 Enterprise plugins, 27 of them cloud auditors (55 overall), seven frameworks, and the other six coverage matrices unchanged. The GDPR Art. 32 substrate matrix is UNCHANGED at 4 covered / 5 partial / 2 OOS. Paired CE 0.2.35 + agent-skill 0.2.33. This remains GDPR Article 32 (Security of Processing) infrastructure substrate only, not GDPR compliance.
Prior: EE 0.32.9 (2026-07-29) — an internal-provenance strip plus a false-clean closure. An Article 32 substrate report is a document a controller or processor hands its DPO, its auditor, or a supervisory authority, and ours carried internal engineering identifiers — roadmap ids, internal release stamps, the name of an internal audit review — in finding titles, on the attestation cover page and in the chain-of-custody record. Measured on a rebuilt three-cloud evidence pack: 686 unexplained internal-marker occurrences → 0 across 105 files, with a positive control in the same run (3,572 benign matches still detected) so the zero is a measurement rather than an absence of looking. The false-clean closure — when a cloud plugin could not start (optional SDK absent, credentials unusable) it refused to report, and that refusal evaporated one layer up: the compliance report came out byte-identical to one where the scanner ran and found nothing. Ten controls read PASS — no violation, no warning. The dangerous shape is ordinary: AWS and GCP scan for real, Azure’s SDK is absent, and the combined pack reads as a clean three-cloud audit. Now every in-scope sub-measure of a cloud that could not be scanned carries a fail-closed evidence gap — which is the honest input to an Art. 32(1) appropriateness determination, since an unscannable cloud is unevidenced substrate, not evidence of an appropriate measure. Also in that release — an archived scan re-processed by the new build WARNS instead of failing clean; four report surfaces that contradicted each other on trusted timestamping — which was still on the roadmap at that release, and became opt-in via NSAUDITOR_TSA_URL as of EE 0.33.0 — now say the same verifiable thing; and a new instrument, a pack scanner that FAILS CLOSED when its own positive control is empty. The paired Community Edition fixes --out <dir>, which wrote to the PARENT directory when the directory name contained a dot; the MCP scan_cloud summary now handles both spellings of the evidence-gap prefix; and validate no longer misreports where plugins came from. Two upgrade notes still apply: (1) the evidence-gap finding TITLE changed at 0.32.9, so suppression rules matching the older text stop matching — the direction is safe (findings resurface rather than hide) but it is SILENT; (2) re-scan rather than re-process scans captured before 0.32.9, as the engine now warns. That release was matrix-neutral too — 28 Enterprise plugins, 27 of them cloud auditors, seven frameworks, and all seven coverage matrices unchanged. Paired CE 0.2.34 + agent-skill 0.2.32. This remains GDPR Article 32 (Security of Processing) infrastructure substrate only, not GDPR compliance.
Before that: EE 0.32.8 (2026-07-28) — capability-claim honesty pass, part 2 — the air-gapped-delivery class. 27 advertised claims across the three published packages were checked against the code and withdrawn: an arm64 image (the build forces linux/amd64), offline-installable tarballs, monthly NVD feed bundles, an air-gapped install script, and a feed import CLI command with no implementation. Since earned back and now shipping: the air-gapped install script and the dependency-complete offline bundle, and the feed import command (with feed bundle), all at EE 0.37.0. Only the arm64 container image remains unpublished — the bundle itself is verified on native aarch64 as well as amd64. Five of the 27 were not documentation but rendered runtime strings — the [COVERAGE GAP] rationale that prints verbatim into the assessor-facing evidence pack was telling the reader to import a feed with a command that does not exist. Nothing was withdrawn by deletion: the air-gap story was rewritten to what the code supports — a linux/amd64 delivery image or npm host install, fully offline ES256 license verification with no phone-home, and offline CVE matching under NSAUDITOR_OFFLINE_ONLY=1 — and ends with an explicit “deliberately not claimed” list, held by two mutation-proven guards. Matrix-neutral — no detection, routing or coverage change; still 28 EE plugins and all seven coverage matrices byte-identical to 0.32.7. The GDPR Art. 32 substrate matrix is UNCHANGED at 4 covered / 5 partial / 2 OOS. The paired Community Edition also fixes --out, which silently wrote to the parent directory when the output directory was version-named. Regression 10,956 pass / 0 fail. Paired CE 0.2.33 + agent-skill 0.2.31. The Vanta · Drata · Secureframe GRC connectors ship as before (opt-in, outbound, single-workspace, early-access). And before that: EE 0.32.7 (2026-07-21) — cross-framework routing, so network-scan findings reach every framework that maps their control subject; matrix-neutral. This is GDPR Article 32 infrastructure substrate only, not GDPR compliance.