v0.3.0
Opencomplai v0.3.0
⚠️ Breaking changes
- Inspect-AI eval bridge hard-cut rename —
--suite inspect-ai, pip extra
inspect-bridge, moduleopencomplai_core.bridges.inspect_eval, evaluator
IDsEVAL_INSPECT_*(evidence hashes change). Previous suite/extra
identifiers are removed with no aliases. - Ed25519 signatures are now domain-separated. Signed bytes are now
opencomplai.sig.v1\0<purpose>\0<payload>instead of the raw payload.
Previously one keypair signed scan-status artifacts, Annex IV dossier
bundles, and compliance badges with nothing in the signed bytes
distinguishing which was which — aopencomplai check --signsignature
verified unmodified as a compliance-badge signature for the same object.
sign_bundle_bytes/verify_bundle_bytesnow require adomainargument.
Signatures produced before this release do not verify — there is no
compatibility flag. Re-sign anything you need to verify again. - Badge issuance now requires a signature whenever
OSS_BADGE_PUBLIC_KEY_PATHis set (previously an unsigned request skipped
verification even with the key configured). Unsigned issuance with no key
configured is unchanged — that remains OSS unsigned mode.
Added
- Fail-closed scanner defaults: refuse symlinks, numeric file/byte caps,
report text sanitize helpers, andscan_errorsgating when--fail-onis
set. - Versioned CLI JSON
ScanOutputEnvelopeforscan/gaps/report(distinct
from the signedScanStatusArtifact). - Artifact probes for Arts. 9, 13, 14, 16, 24, 43, plus honesty/confidence
labels on gap rows; a new MCP/agent detector (DET_AGENTS_MCP_V1). - Four compile-checked Python remediation templates (transparency, logging,
oversight, disclosure helpers) viaopencomplai recommend. - Working Inspect-AI eval bridge MVP: curated
strong_reject/bbq/
bigbench_calibrationpin,--log-dir, never gatescheck. - Local
opencomplai serve(optional[serve]extra) — loopback dashboard. - Meta-package extras re-export:
reports,inspect-bridge,serve. - Docs: serve, Inspect-AI eval bridge, hostile-scan defaults, SOC2/ISO
control mapping, ADR local-serve-vs-saas.
Changed
- Interactive HTML reports embed the JSON envelope and support status/text
filters.
Removed
EvidenceObject.encryption_profileand theevidence_objects
encryption_profilecolumn (evidence-vault migration0006). It
advertised"AES-256-GCM", including in the generated OpenAPI, while no
CAS backend has ever encrypted anything — nothing wrote it and nothing
read it. Evidence objects are stored as plaintext; integrity comes from
content-hash re-verification on read, confidentiality from volume- or
bucket-level encryption at the deployment layer.
Upgrade notes
- If you pin
--suite inspect-ai/ theinspect-bridgeextra under the old
identifiers, update to the new module path — there is no aliasing period. - If you rely on Ed25519 signature verification (scan-status artifacts,
dossier bundles, or badges), re-sign after upgrading; pre-0.3.0 signatures
will not verify.
Full diff: v0.2.0...v0.3.0