Risks & controls
Status: Available (Shipped) · Owner: Proof / Trust & Review · maturity: Feature status Open/proof/risks-and-controls in the product. The workspace answers: what
could go wrong, what addresses it, which safeguards are mapped, and what
remains unestablished.
This is a collaborative RACM over risks, controls, safeguard bindings,
walkthrough notes, assignments, evidence requests/submissions, conclusions,
findings, risk acceptance, and reviewed-scope export. It is separate from the
control-assurance implementation surface at /proof/controls, which owns
receipt-backed prevention claims for tool/schema controls.
Turn a finding into a regression check
Open a finding in its control’s review workspace. Under What happens next:- Choose Create regression example, select the recorded interaction, and enter the exact expected result to propose. The captured input is preserved; the finding description and observed failure are not substituted for the input or desired result.
- Open Review proposed example. An independent human must review the proposed expectation before the existing promotion action can add the case to a check. The proposal retains its source interaction and finding revision.
- After promotion, use Open check and run retest to inspect the check’s execution setup and run against the version being assessed. Under Record a check run as evidence, select the exact run and record its reconciled receipt. The server checks the stored run, attempts and manifest; retries return the same artifact. Failed outcomes remain failed observations. Promotion alone is not an execution result.
- Choose Request retest evidence to specify the version, environment, required artifacts, evidence owner and reviewer. Submit the recorded artifact through that request and have it reviewed for the actual requirement and scope.
- The designated control reviewer can use Review closure, select accepted retest evidence and record a closure rationale. A stale finding revision, disallowed reviewer or retest linked to another finding is refused.
What the matrix shows
Discover controls from a project
Discover controls from project extends the existing workspace. It prepares reviewable mappings from open Repository Intelligence findings on a published scan. It uses recorded findings rather than inventing domain-specific risks from filenames. Select a scanned project, prepare proposals, and open a proposal’s inspector. The inspector shows the exact source revision and recorded file/line references, distinguishes suggested graph associations from bound relationships, and lists candidate artifacts with their canonical evaluation/run identities where present. An artifact’s run result does not establish that it applies to the inspected source revision. Baseline references do not establish baseline acceptance or release authorization. The designated reviewer can accept a mapping into an existing control or use the existing control creation form, prefilled from the proposal. Acceptance creates the risk, control link, and audit record together; it does not accept artifacts for evidence requests or conclude control effectiveness. Rejection is also retained with its rationale and requires an admin or owner for an unassigned proposal. A new control requires reviewer-defined acceptance criteria; generated guidance cannot be saved as the criterion. A stale or pruned scan blocks acceptance. The control workbench links back to its project evidence mappings. Discovery prepares 20 findings at a time. The inspector bounds graph connections and candidate artifacts to 100 and discloses truncation. Finding-free scans do not establish that a project is safe. The shared contract is/api/proof/risks-and-controls/discovery:
GETinspects proposals byrepositoryId,proposalId, orcontrolId, withoffsetpagination.POSTaccepts an explicitdiscoverorreviewcommand. Review requires the proposal’sexpectedDigestand rationale. Identical retries return the recorded result; changed retries conflict.- Generated source TypeScript/Python clients and their
apiCLI exposeget_proof_risks_and_controls_discoveryandpost_proof_risks_and_controls_discovery.
Reviewed applicability profiles
The additive profile workflow extends the existing control workbench. In the matrix, All controls searches canonical controls, including those without a linked risk, repository or evaluation. Counts are matching controls, not risks, standards mappings or evidence coverage. The original risk-led view is retained. Prepare applicability records why a control applies, is excluded or remains unresolved for an organization or an existing AI system. A designated reviewer accepts or rejects that immutable version. Domain and risk tier are separate; unknown context remains unknown. A low risk tier does not remove obligations or change CI policy. Recorded source references, implementation locations and assessment approaches remain independently inspectable. Organization-authored policies are internally asserted references. External standards references remain unverified in this writer; it cannot claim verified clauses, an approved standards crosswalk, complete SC 42 coverage or certification. Draft references remain drafts. Accepted applicability does not accept an artifact or establish control effectiveness. An external link or authored revision pin does not prove an artifact body or current target-version applicability. Assessment approaches reuse adversarial probes, deterministic assertions, configuration review, trace/telemetry requirements, provenance artifact review, resilience exercises and human evidence review. Use the existing evidence request, submission and reviewer workflow. Human review and organizational impact assessment cannot be completed by an LLM self-certification. Missing evidence and unverified fitness remain gaps; this profile writer grants no current evidence credit or release authorization. The shared source API is/api/proof/risks-and-controls/profiles:
GETlists the control-counted inventory withq,limitandoffset, or a bounded profile history withcontrolId. The maximum page size is 50.POSTprepares a version using an idempotency key, expected control revision and latest profile digest, or reviews an exact profile digest. Changed retries conflict. Identity and reviewer authority come from authentication and the existing control record.- Generated source TypeScript/Python clients and their generic
apiCLI exposeget_proof_risks_and_controls_profilesandpost_proof_risks_and_controls_profiles. Source generation is not package publication; discover the operations supported by the installed client before use.
Assess evidence for the current scope (candidate)
The current follow-up source adds an optional assessment to the existing Review submission form. Select a reviewed applicability profile, a submitted artifact, a compatible assessment approach and what that evidence supports. EvalGate prepares the canonical identities and hashes; reviewers do not copy them from free-text notes. The default outcome is Not established. The shared submission-review API accepts an optionalassessmentBinding.
Its read context provides bounded candidate connections, not an assessment
outcome. The designated reviewer’s signed-in session is required for human,
hybrid and runtime observation assessments. Automated clients cannot assert
that principal in a request body.
Evidence fitness is independent from applicability, the historical decision,
control effectiveness and release authorization. It can be missing, unverified,
current for the recorded scope, stale, mismatched or failed. All required
approaches and dependent pins must be established before scoped fitness is
current. A policy, configuration, dataset or requirement change reassesses its
dependent bindings while preserving the recorded history. An explicitly
accepted replacement can restore current fitness without deleting its history.
Supported canonical subjects are a document body, an evaluation harness/run
with its captured configuration and dataset, or a correlated runtime policy
observation. A harness commit does not identify a deployed application version;
unresolved system-version joins remain unverified. A runtime observation does
not prove universal enforcement. External links remain references, and
unverified standards references remain unverified.
This candidate requires additive migration 0259 and application deployment.
Source-client generation is separate from registry publication; published SDK
3.14.1 is unchanged. Production acceptance is not established by local fixtures.
Authority boundaries
- Review, conclude, and close paths require the control’s designated reviewer (or an explicit combined-role setting). Submitters cannot self-approve by default.
- Risk acceptance requires the recorded risk owner.
- Staging≠production mismatches come from artifact provenance, not free-text claim scope.
- Superseded submissions stay readable but are not current acceptance material.
Evidence and export
- Request evidence for a control criterion.
- Submit artifacts against that request (request-scoped replace).
- Review with loaded artifacts and provenance.
- Record design/implementation/operation conclusions bound to configuration revisions.
- Export a reviewed-scope snapshot (JSON and XLSX) that freezes limitations and evidence IDs.