> ## Documentation Index
> Fetch the complete documentation index at: https://docs.strikepoint.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Review and publish to the portal

> Coordinate report review, resolve blockers, and publish approved snapshots to the customer portal.

export function ReportAccessNote({children}) {
  return <Callout type="info">
      <strong>Report access:</strong> {children}
    </Callout>;
}

export function PermissionRequired({label = "Permission required", children}) {
  return <Callout type="warning">
      <strong>{label}:</strong> {children}
    </Callout>;
}

# Review and publish to the portal

Use this workflow when a report draft is structurally complete and you are ready to coordinate review, clear blockers, and publish customer-visible snapshots.

<img src="https://mintcdn.com/blueforceinnovations/tJ6PaiVOrZwI7ArF/images/report-workspace-layout.svg?fit=max&auto=format&n=tJ6PaiVOrZwI7ArF&q=85&s=104c0784c70b4f817d3d8bd5135669b8" alt="Diagram of the report workspace with editor, review panel, and publish panel side by side" width="920" height="280" data-path="images/report-workspace-layout.svg" />

## Prerequisites

* You can open the report workspace for the engagement
* The report uses the structured workspace (not the legacy read-only view)
* Reviewers are assigned or available to approve content

<ReportAccessNote>
  Reviewing, approving, and publishing can require different permissions. You may be able to comment on a report without being able to publish it.
</ReportAccessNote>

## Steps

<Steps>
  <Step title="Save the workspace draft">
    Finish section edits, finding selection, and metadata updates in the structured workspace. Save before you rely on review or publish actions.
  </Step>

  <Step title="Use the review panel">
    Open the **Review** panel on the report workspace to add review threads, reply to comments, resolve threads, update reviewer status, and review revision history and collaborator activity.
  </Step>

  <Step title="Clear publish blockers">
    The **Publish Approved Content** panel lists blockers until the report is ready. Common blockers include unresolved review threads, missing reviewer approval, report status not set to **Resolved** or **Closed**, and unsaved workspace edits.
  </Step>

  <Step title="Publish report content">
    When readiness checks pass, publish either the full report or an individual included section. Each publish action creates a versioned portal snapshot.
  </Step>

  <Step title="Publish findings when needed">
    On a finding detail page, approvers can use **Publish Finding** to expose an approved finding snapshot independently of a full report publish.
  </Step>

  <Step title="Verify in the customer portal">
    Open `/portal` and confirm the engagement shows the expected published item count. Drill into the engagement package to validate customer-visible content.
  </Step>
</Steps>

## Publish readiness at a glance

| Requirement                             | Why it matters                                     |
| --------------------------------------- | -------------------------------------------------- |
| Structured workspace                    | Legacy reports cannot publish structured snapshots |
| Status is **Resolved** or **Closed**    | Open drafts stay internal until closed out         |
| At least one reviewer approval          | Publishing requires explicit approval              |
| No **Changes requested** reviewer state | Requested changes must be addressed first          |
| All review threads resolved             | Open discussion blocks publication                 |
| Workspace saved                         | Unsaved edits block publish actions                |

<PermissionRequired label="Permission required for publishing">
  Publishing report or finding content requires report- or finding-approval access.
</PermissionRequired>

## Related guides

* [Reports](/dashboard/reports)
* [Customer portal](/dashboard/customer-portal)
* [Draft and export a report](/workflows/draft-and-export-a-report)
