Review campaign
packs:security-governance
A review campaign turns a point-in-time dataset into a governed sign-off:
it opens against a control (by hand, by a cadence firing, or by the
access-review opener that sources the current grants itself), each item
records a retain/revoke/flag decision, and closing appends an attestation to
the evidence ledger. Served by the v2 GovernanceService:
OpenReviewCampaign, OpenAccessReviewCampaign, ListReviewCampaigns,
GetReviewCampaign, RecordCampaignDecision and CloseReviewCampaign.
ReviewCampaign
ReviewCampaign turns a point-in-time dataset into a governed sign-off.
| Field | Type | Meaning |
|---|---|---|
cadence_id | string | The cadence that opened this campaign; empty for a hand-opened one. |
closed_at | timestamp | When the campaign closed; unset while open. |
closed_by | string | Username of the closing identity; empty while open. |
closing_attestation_id | string | The ledger id of the closing attestation. |
control_id | string | The control under review. |
created_by | string | Username of the creating identity. |
due_at | timestamp | When the review falls due — supplied at open, or derived by the opening cadence. |
id | string | The record's identity. |
items | array of CampaignItem | The campaign's reviewable items. |
kind | string | The campaign kind, e.g. "access_review". |
opened_at | timestamp | When the campaign opened. |
status | string | "open" | "closed". |
CampaignItem
CampaignItem is one reviewable subject inside a campaign.
| Field | Type | Meaning |
|---|---|---|
campaign_id | string | The owning campaign. |
comment | string | The reviewer's decision comment. |
decided_at | timestamp | When the current decision was recorded; unset while undecided. |
decided_by | string | Username of the identity that recorded the current decision. |
decision | string | "retain" | "revoke" | "flag"; empty while undecided. |
id | string | The record's identity. |
reviewer | string | The reviewer the item is assigned to. |
subject_id | string | The reviewed subject's id in its own table. |
subject_kind | string | The subject reference, typed like an instrument ref, e.g. {"policy_assignment", " |
subject_summary | string | The point-in-time human-readable statement of what is under review, captured when the item was sourced (e.g. the policy, path, per-identity principal with its provider, and granted actions for a "grant" item). |
CampaignItemSeed
CampaignItemSeed is one subject supplied at open.
| Field | Type | Meaning |
|---|---|---|
reviewer | string | The reviewer to assign the item to; may be empty. |
subject_id | string | The subject's id in its own table. |
subject_kind | string | The subject's kind, typed like an instrument ref (e.g. "policy_assignment"). |
Related pages
opschain docs governance— the review lifecycle: cadences, campaigns, decisions, attestation.opschain docs resources/cadence— the schedule that opens campaigns.opschain docs resources/work_item— the remediation work a revoke decision opens.opschain docs resources/evidence— the ledger the closing attestation lands on.