Repository navigation
epic: enterprise hardening — trustworthy v0.4 release #305
Description
Goal
Make the next OpenShield release trustworthy, secure and operable for an enterprise deployment without adding product features for their own sake.
The current rule inventory is 95 unique rules with 95 matching playbooks. Rule count is not the release KPI: verified evidence coverage, explicit uncertainty, false-positive control and safe operation are.
Product boundary for this release
Recommended default: ship and document a securely enforced single-tenant enterprise deployment first. Do not claim multi-tenant SaaS until identity, ownership, tenant-scoped persistence and cross-tenant isolation tests exist.
Do not claim certification or "full compliance." Reports should describe versioned technical evidence coverage.
Phase 0 — containment and trust blockers
These block restoring or calling the current deployment enterprise-ready:
- security: remove the public demo bearer and establish real authorization boundaries #294 — remove the public demo bearer; establish real authorization/subscription boundaries
- security(website): remove the browser PAT flow and restore safe dynamic rendering #297 — remove the browser PAT flow and restore safe website rendering
- ci: enforce required checks and two-person promotion on dev and main #298 — enforce required checks and two-person branch promotion
- bug: stop the public readiness endpoint from exhausting the database pool #296 — fix the public readiness database-pool leak
- fix(platform): make the distributed image bootable and deployment verification non-skippable #299 — make the image bootable and deployment verification non-skippable
- feat: persist PASS/FAIL/ERROR/NOT_APPLICABLE per rule per resource, fix compliance score #263 — persist explicit PASS/FAIL/ERROR/NOT_APPLICABLE evaluations
- bug: handle CRITICAL consistently across scoring, APIs, reports, and frontend #295 — make CRITICAL consistent across the full stack
- bug(scanner): replace broken AZ-NET-012 NSG flow-log logic with VNet flow-log evidence #300 — replace broken AZ-NET-012 with VNet flow-log evidence
- bug(scanner): validate AZ-SC-001 through AZ-SC-004 against real ACR SDK models #301 — repair ACR rules against real Azure SDK models
- bug(compliance): make framework reports current, evidence-based, and non-certifying #302 — make framework reports current, evidence-based and non-certifying
- feat: publish per-collector permission and evidence manifest #265 — publish the collector permission/evidence manifest
Phase 1 — durable enterprise core
- core: harden scan transactions, leases, idempotency, and durable background work #303 — transactions, leases, fencing, idempotency and durable background work
- infra: establish one reproducible enterprise deployment and operations baseline #304 — one reproducible deployment and operations baseline
- feat: real drift history + detect repeated AZ-STOR-002 regressions as one campaign #264 — tenant/subscription-safe inventory and real drift history
- feat: define approval/idempotency/audit/rescan gate for agent-driven remediation #266 — approval, idempotency, audit and rescan gate for remediation
- feat: add recoverable error states to data-driven dashboard pages #281 — recoverable dashboard error/empty/auth states
- feat: add request timeout and cancellation support to the frontend API client #282 — frontend timeout and cancellation
- docs: complete OpenSSF Best Practices Silver criteria #199 — OpenSSF Silver work, aligned with the actual release design
- Establish cursor pagination, retention/purge and immutable scan/ruleset provenance
- Add PostgreSQL-backed transaction/concurrency tests and browser contract/e2e/a11y/XSS tests
- Align MAINTAINERS, CODEOWNERS, security contacts and access-continuity evidence with the real three-lead team
Phase 2 — validate, then expand scanner coverage
Existing rule-pack work should remain reviewable, but it must consume the Phase 0 evaluation and collector contracts before merge:
- Implement remaining enterprise network and perimeter security rules #253 — network/perimeter
- Implement enterprise application identity and OAuth security rules #254 — application identity/OAuth
- Implement enterprise AKS and container workload security rules #255 — AKS/workload
- Implement enterprise governance and tenant control rules #257 — governance/tenant controls
- Implement enterprise privileged access and identity security rules #258 — privileged identity
- Implement enterprise DevSecOps, supply chain, and AI service rules #259 — DevSecOps/supply chain/AI
- Implement enterprise data protection and database security rules #261 — data protection/database
- feat(scanner): compute rule quality pass — subnet NSGs, Defender health, real patch state #268 — compute quality pass
Every repaired or new rule must include:
- explicit applicability and PASS/FAIL/UNKNOWN/NOT_APPLICABLE behavior;
- required permissions and 403/429/5xx/partial-collection tests;
- real Azure SDK model contract tests and pagination coverage;
- authoritative evidence source, version, timestamp and fingerprint;
- false-positive analysis, exceptions and suppression expiry;
- versioned framework mapping rationale;
- preview-first, target-verified remediation with rollback and validation.
Enterprise release gates
The release stays blocked until all of the following are demonstrated:
- No reusable credential is present in public frontend or website assets.
- Authentication, RBAC and authorized subscription boundaries are integration-tested.
- Failed or incomplete evidence cannot produce PASS, a clean scan, or score 100.
- CRITICAL is consistent in scanner, database, APIs, reports and frontend.
- The published image starts, reaches database-aware readiness, and completes a worker-backed real scan.
- Required GitHub checks and two-person promotion are effective, not just documented.
- Framework editions/mappings are versioned, reviewed and presented as technical evidence coverage.
- SLOs, alerts, on-call ownership, backup restore and rollback drills have recorded evidence.
- Existing 95 rules have an evidence/permission/SDK validation matrix.
- No unresolved P0; every accepted P1 has named owner, rationale and expiry.
review model
- Programme/risk/claim gate: named lead plus cross-stream reviewer.
- Platform/release gate: named lead plus independent backup.
- Scanner/evidence gate: named lead plus cross-stream reviewer.
- Auth, scoring, compliance, infrastructure and release changes require review from two leads; authors do not self-approve.
Delivery order
- Contain credentials and unsafe public surfaces.
- Restore enforced merge controls.
- Repair scanner truth and severity semantics.
- Prove the runtime/deployment path end-to-end.
- Harden persistence, operations and evidence provenance.
- Validate all 95 rules.
- Resume rule expansion in small quality-gated batches.
Activity
m-khan-97 commentedon Aug 21, 2026
First enterprise-hardening implementation batch is ready for lead review. Nothing has been merged yet.
/readyconnection-pool leak. Draft, DCO-signed, mergeable, and all 20 checks are green./readypassed, runtime UID was 999, and Trivy found no blocking CRITICAL/HIGH result on the tested tag.Integration order:
dev, rerun the container gate so it exercises the combined migration chain, then review and merge it.Do not merge #309 before #306: its recurring Compose readiness probe depends on #306 returning probe connections to the pool.
This is progress on Phase 0, not an enterprise-ready declaration. Public auth/token containment (#294), website/PAT containment (#297), effective branch enforcement (#298), evidence semantics (#263), and the remaining #299 deployment/worker gates are still release blockers.
m-khan-97 commentedon Aug 28, 2026
Enterprise-hardening status update — 28 August 2026
Completed and merged into
dev:Active release-hardening queue:
devrequested before lead approval.unsafe-inlinefromscript-src.Unowned release blockers still requiring lead assignment:
The current priority remains stabilization of existing behavior and evidence correctness. Agent-automation issues #311–#315 should not displace these release blockers.
m-khan-97 commentedon Aug 31, 2026
Enterprise-hardening lead update — 31 August 2026
Merged into
devsince the previous update:Lead reviews completed today:
Retry-After, and green regression coverage.write-alljob overrides to pass. Requested effective-permission evaluation and three regression cases.Architecture coordination:
Still blocked before review:
Next lead focus after developer updates: rereview #319/#318 merge readiness if
devmoves, review the reconciled #321/#325 stack, then return to #310 and #280 when their focused fixes land.github-actions commentedon Oct 1, 2026
This issue has been inactive for 30 days and will be closed in 7 days unless there is activity.
github-actions commentedon Oct 9, 2026
Closing due to inactivity. Feel free to reopen if still relevant.