Current release status
The machine-readable authority isscripts/storage/certification-matrix.json:
“Implemented” means an adapter exists for object operations. “Declared
supported” means the release matrix selects a product profile for a support
gate. “Certified” additionally requires complete, signed live evidence for the
exact product and version. Never infer certification from an adapter name,
emulator run, Kubernetes render, or another customer’s result.
Configuration contract
Use a mountedSTORAGE_CONFIG_FILE (preferred) or STORAGE_CONFIG_JSON with
three profiles: quarantine, records, and ephemeral. The legacy
single-profile bridge uses only these canonical provider IDs and variables:
s3:S3_BUCKET,AWS_REGION, optional HTTPSS3_ENDPOINTgcs:GCS_BUCKET, optionalGCS_PROJECT_IDazure:AZURE_STORAGE_ACCOUNT,AZURE_CONTAINERlocal:STORAGE_PATH(Compose default/data)
azure-blob, AWS_S3_BUCKET, and AZURE_STORAGE_CONTAINER are not valid
runtime names. Installations must set an explicit storage provider. MinIO and
HTTP custom endpoints are rejected. Local volume storage is a named Docker
volume, independent of license.
Use workload identity or the provider’s default credential chain. Static S3
keys, GCS key files, Azure shared keys, and Azure connection strings are
compatibility modes only. Store any credentials in the platform secret manager;
never place them in source, ConfigMaps, images, shell history, logs, evidence,
or support bundles.
Required production boundary
- Use pre-created external buckets or containers with no public access.
- Separate quarantine, durable records, and ephemeral objects so retention, scanner, and expiry policy can differ.
- Keep TLS verification enabled; mount private CA bundles when required.
- Require encryption at rest and in transit, versioning, backups, and application SHA-256 verification.
- Enable and qualify retention/legal-hold controls when the deployment requires WORM. Exact object versions are mandatory for retention and hold operations.
- Do not enable signed URL, presigned URL, or SAS generation. Downloads pass through authenticated CaseBender authorization.
- Configure external
clamd; user uploads remain quarantined and unavailable when scanning cannot produce a terminal clean verdict. - Monitor readiness, deep-canary age, mutation dead letters, quarantine age, missing objects, confirmed orphans, checksum failures, latency, and capacity.