# Proofing, Review & Collaboration (Pro)

Get client sign-off on a private link, review video frame-by-frame with drawn annotations, comment with your team right inside the studio, and roll any project back to an earlier save — one connected review system from first draft to final approval.

**On this page**

- [What proofing is](#what-proofing-is)
- [Before you start](#before-you-start)
- [Creating a proof](#creating-a-proof)
- [Sharing it](#sharing-it)
- [What your client sees](#what-your-client-sees)
- [Reviewing a video proof](#reviewing-a-video-proof)
- [Drawing on the frame](#drawing-on-the-frame)
- [Comparing versions side by side](#comparing-versions-side-by-side)
- [Tracking feedback in the dashboard](#tracking-feedback-in-the-dashboard)
- [Comments in the studio](#comments-in-the-studio)
- [Version history](#version-history)
- [Team members & invites](#team-members--invites)
- [What needs Pro](#what-needs-pro)
- [Tips](#tips)
- [Troubleshooting](#troubleshooting)
- [Related pages](#related-pages)

---

## What proofing is

**Proofing** is how you get a client to sign off. You share a deliverable — a design, a video, a written document, or a link — on a private review page; your client opens it (no account, no login), leaves comments, draws directly on the frame, and clicks **Approve** or **Request changes**. Every round is versioned and every decision is recorded, so "did the client approve this?" always has a clear, timestamped answer.

It replaces the email-attachment-and-hope dance with a single link that carries the whole conversation.

A **proof** is one thing you want signed off — "Homepage hero", "Launch video", "Brand guidelines v2". It holds:

- **Versions** — each round of the deliverable, in order. Add a new version and the proof reopens for review.
- **Share links** — one private, unguessable link per reviewer. Anyone with the link can review; nobody without it can.
- **Comments** — from your client (on the review page) and your team (in the dashboard), each resolvable. Client comments can carry a **drawn box on the frame** and a **video timecode**.
- **Decisions** — an **Approve** or **Request changes**, with an optional note, on a specific version.

A proof moves through four states: **Draft → In review → Approved / Changes requested**. Adding a new version reopens it to **In review** — and so does minting a fresh share link, so a re-shared proof never sits in a decided state while the link invites a new decision.

Proofing is one part of a larger collaboration layer. The same review muscle also works **inside the studio**: [in-editor comments](#comments-in-the-studio) for your team, [version history](#version-history) for safe rollbacks, and the [Team view](#team-members--invites) for managing who's in your workspace.

---

## Before you start

- **Client proofing needs Pro.** The proof panel, share links, and review pages require a Pro workspace (see [What needs Pro](#what-needs-pro)). In-studio comments and version history are included on every plan.
- Proofing lives in your **dashboard** at [corereflex.com](https://corereflex.com), under the **Workflows** view.
- Your **client never needs a CoreReflex account** — the review link itself is the invitation.
- Studio comments and version history live in the **editor** at [editor.corereflex.com](https://editor.corereflex.com), and both attach to a **saved** project — save at least once first.

---

## Creating a proof

In the dashboard's **Workflows** view, find the **Proofing & approvals** panel.

1. Give the proof a **title** — something your client will recognize, like "Homepage hero v1".
2. Pick what you're sharing:
   - **Link (URL)** — paste a link to the deliverable (a hosted design, a preview URL, any web link).
   - **Write document** — choose one of your saved [Write](writing-and-content.md) documents; the client reads it rendered on the page.
3. Click **Create proof**. It appears in the list with its status and version count.

> A proof can also point at an **asset** you've generated or uploaded in CoreReflex — an image or a **video**. The review page shows the preview directly, and asset proofs unlock the frame tools: hover-scrub, annotations, and side-by-side compare.

---

## Sharing it

On a proof row, **+ New share link** mints a private review link and copies it to your clipboard. Send that link to your client however you like — email, Slack, a message.

- Each link is **one reviewer**. Mint a separate link per stakeholder so you can see who's viewed and who's decided.
- Minting a link **reopens the proof to In review**, even if it was already approved — sharing means "review this now".
- Open **Details & links** on a row to see every link (and whether it's been viewed), **Copy** or **Open** any of them, and read the comments and decisions as they come in.

---

## What your client sees

The review page is clean, branded, and needs no account:

- The **deliverable** front and center — an image or video preview, the document rendered in full, or a link to open it.
- A **version switcher** (v1, v2, …) if there's more than one round. The newest version opens by default.
- For image and video proofs, two frame tools (until a decision is made): **◻ Add annotation** and **⇋ Compare versions**.
- A **comment box** to leave feedback. Comments that carry an annotation show a jump-to-timecode button or a frame marker.
- **✓ Approve** and **✎ Request changes** buttons, with a note field for describing what to change.

Once they decide, the proof's status flips in your dashboard and the decision is logged against the version they were reviewing. They can keep commenting even after deciding — the conversation stays open; only the frame tools retire.

---

## Reviewing a video proof

Video proofs get a full player plus a **hover-scrub strip** for frame-accurate scanning:

1. The video loads with normal playback controls — play, pause, volume, fullscreen.
2. Below the video sits a thin **scrub strip**. Move the pointer across it and the video **scrubs to that moment without playing** — sweep left to right to scan the whole cut in a second or two.
3. The **timecode readout** under the strip shows exactly where you are (minutes:seconds.tenths, e.g. `0:12.3`), and the strip fills to show your position.
4. Clicking or tapping the strip seeks to that point too, so it doubles as a precise seek bar.

Every comment posted with a timecode shows a **▸ 0:12.3**-style button in the comment list. Clicking it **jumps the video straight to that moment**, so "the logo flickers here" is one click away from *here*, not a paragraph of description.

---

## Drawing on the frame

Annotations let a reviewer point at the exact spot — a box drawn on the image or video frame, tied (for video) to the exact timecode where it was drawn.

1. On an image or video proof, click **◻ Add annotation**. The cursor becomes a crosshair over the frame.
2. For video, first scrub or play to the moment you want to mark.
3. **Drag a box** over the area you're commenting on. (A stray click without a drag is ignored — you won't leave accidental dots.)
4. A confirmation line appears: *Annotation attached at 0:12.3 — it posts with your next comment*, with a **clear** option if you change your mind.
5. Type your comment and click **Send comment**. The box and timecode travel with it.

After posting:

- The **box is drawn on the frame** for everyone who views that version — annotations stay with the version they were made on.
- The comment shows a **▸ timecode** button (video) that jumps playback to the annotated moment, or a **◻ frame** marker (image) showing it carries a drawn region.

Annotations are available on image and video proofs while the proof is still undecided.

---

## Comparing versions side by side

When a proof has more than one round, reviewers can put two versions next to each other instead of flipping between chips:

1. Click **⇋ Compare versions**.
2. The page splits into two panes: the **previous version** on the left and the **current version** on the right, each labeled (e.g. *v1* vs *v2 (current)*). On a phone, the panes stack vertically.
3. Both panes are full previews — a video in each pane plays and scrubs independently, and each pane shows its own annotations.
4. Click **✕ Exit compare** (or any version chip) to return to the single view.

This is the fastest way for a client to confirm a requested change actually landed: old on the left, new on the right.

---

## Tracking feedback in the dashboard

Back in the dashboard, each proof shows its **status**, **version count**, and **open-comment count** at a glance. Open **Details & links** to:

- See each share link, who it's for, and whether the reviewer has **opened it** ("viewed" / "not viewed yet"),
- **Copy** or **Open** any link,
- Read every **decision** (approved / changes requested, with the note),
- Read every **comment** and mark it **Resolved** as you action it — resolved comments dim on the review page too.

To see a drawn annotation **in place on the frame**, open one of the review links from Details & links — the dashboard list shows the comment text, while the review page shows the box on the actual frame and the jump-to-timecode buttons.

When a client requests changes, fix the work and **add a new version** — the proof reopens to **In review**, and your client sees the update on the same link, with compare mode ready to show old vs new.

---

## Comments in the studio

Client feedback is one half of the conversation; the other half happens between teammates while the work is still on the timeline. **In-editor comments** are threads attached to your project — pinned to a moment on the timeline or anchored to a specific clip — visible to everyone in your workspace who opens the project. They run on the **same commenting system as client proof feedback**, so the behaviors match (timecodes, resolve, dimmed-when-done), but studio comments stay with the project and client comments stay with the proof — the two never leak into each other.

In-editor comments are included on **every plan** — they don't require Pro.

### Opening the panel

1. Open your project in the studio. Comments attach to the **saved** project — if it's brand new, save it first (the panel will remind you).
2. Look at the **Inspector** — the panel on the right side of the editor. With nothing selected on the timeline you're already on the project view; with a clip selected, click the **Project** tab at the top of the Inspector.
3. Scroll to the **Comments** section and click **💬 Show comments**.

### Posting a comment

1. Type in the comment box.
2. Two checkboxes control where the comment attaches:
   - **Pin at playhead** (on by default) — the comment carries the current playhead time. Park the playhead on the moment you're talking about before you post.
   - **Anchor selection** — when exactly **one clip** is selected on the timeline, the comment anchors to that clip. (The checkbox is dimmed unless exactly one clip is selected.)
3. To call out a teammate, type **@** and start their name or email — a picker appears with matching workspace members; click one to insert the mention.
4. Click **Post**.

### Reading and acting on comments

- **Filters** at the top of the panel — **Open**, **Resolved**, **All** — with a live count of open threads.
- A comment pinned to a time shows its **timecode** (e.g. `0:12.3`) — click it to **jump the playhead** straight there.
- A comment anchored to a clip shows a small chip with the clip's type. If that clip has since been deleted, the chip shows **removed** instead of breaking — the comment survives its anchor.
- **✓ Resolve** closes a thread; **Reopen** brings it back. Replies in a thread appear indented under the original comment.
- **Live updates**: while the panel is open, comments posted or resolved by teammates appear automatically — no refresh needed.

---

## Version history

Every time you save a project in the studio, CoreReflex **snapshots it automatically**. No naming, no discipline required — the history simply accumulates as you work, and you can step back to any of the last **20 saves**.

- Saving with **no actual changes doesn't create a duplicate** — identical saves are skipped, so the history stays meaningful.
- Versions start with the **first save**; an unsaved new project has no history yet.

### Viewing your versions

1. In the studio, open the Inspector's **Project** view (nothing selected, or the **Project** tab).
2. Find the **Version history** section and click **↺ Show versions**.
3. Each entry shows its number (v1, v2, …), when it was saved, and a label if it has one.

### Restoring a version

Restore is deliberately **two-step**, and it's always reversible:

1. Click **Restore** next to the version you want. The button arms and changes to **Confirm — reloads**.
2. Click it again to commit. Before anything changes, CoreReflex snapshots your **current** state as a new version labeled **"Before restore"** — so the state you're leaving stays in the list, one click away. Then the editor reloads with the restored version, exactly as if you'd opened the project fresh.

> **Save before you restore.** Restore works from your last *saved* state — any edits you haven't saved yet won't be captured in the "Before restore" snapshot and are lost when the editor reloads.

Version history is included on every plan.

---

## Team members & invites

Your workspace's **Team** is the reviewer pool behind all of this: teammates open the same projects, appear in the **@mention** picker in studio comments, and (depending on role) create, review, or approve work. Manage them in the dashboard's **Team** view. (New to the dashboard? Start with [Getting Started](getting-started.md).)

### Roles

| Role | What they can do |
|------|------------------|
| **Owner** | Full workspace control — billing, member management, approvals, and exports. |
| **Producer** | Create, edit, render, export, and comment on campaign work. |
| **Reviewer** | Review, comment, and approve campaign work. |
| **Client** | Comment-only access for client review flows. |

Every workspace must keep **at least one owner** — you can't demote or remove the last one. Only owners can invite, change roles, or remove members.

### Inviting a teammate

1. In the dashboard, open **Team** from the navigation.
2. In the invite form, enter their **email** and pick a **role**.
3. Click **Invite**.

The person you're inviting needs a **CoreReflex account first**. If no account exists for that email yet, the invite tells you so — ask them to sign up at [corereflex.com](https://corereflex.com), then invite again. Once invited, they're in the workspace immediately with the role you chose.

To change someone's role later, pick a new role from the dropdown on their row; to remove them, click **Remove** and confirm.

> Team members are for people **inside** your workspace. Clients reviewing a proof don't need any of this — the [share link](#sharing-it) is their whole login.

---

## What needs Pro

- **Client proofing** — the Proofing & approvals panel, share links, and review pages — is a **Pro** feature. Upgrade your workspace from the **Plan** section of your dashboard (see [Plans & Billing](plans-and-billing.md)). On the free tier the panel shows an upgrade prompt rather than failing.
- The review **links themselves are always public** — your client never needs a CoreReflex account or a paid plan to review.
- **In-studio comments**, **version history**, and the **Team** view are included on every plan.

---

## Tips

- **One link per stakeholder.** Since each share link is one reviewer, per-person links tell you exactly who has viewed and who has decided — and whose court the ball is in.
- **Annotate, don't describe.** "The logo clips at 0:07" with a drawn box beats three sentences of prose. Encourage clients to use **Add annotation** — it's the fastest route to an unambiguous change request.
- **Scrub before you draw.** On video, the annotation captures the playhead position at the moment you draw — park the frame first, then box the problem.
- **Use compare to close the loop.** After you post a fixed version, tell the client to hit **⇋ Compare versions** — seeing old-vs-new side by side gets approvals over the line faster than "trust me, it's fixed".
- **Pin your studio comments.** A comment with a timecode is actionable in one click; a comment without one is a scavenger hunt. Leave **Pin at playhead** on.
- **Save before restoring.** Version restore always protects your last saved state with a "Before restore" snapshot — but only what's saved.
- **Resolve as you go.** Both surfaces dim resolved comments, so an all-dim list is your visual "done" signal.

---

## Troubleshooting

- **"This review link is invalid or has expired."** The link was mistyped or truncated in transit — review links are long. Copy it again from **Details & links** and resend, or mint a fresh link.
- **The client's preview says "Preview expired."** Media previews on the review page use short-lived secure URLs. Refreshing the page issues a fresh one; the expired message also offers a direct download link in the meantime.
- **The client says they can't approve.** Check the proof has at least one **version** — a proof with no versions has nothing to decide on. Also confirm they're on the review link, not the dashboard.
- **The annotation tools are missing.** Annotations and compare only appear on **image and video (asset) proofs**, and they retire once a decision has been made. URL and document proofs take plain comments.
- **Approve ignored the note.** The note field travels with **Request changes**. If you want to send praise with an approval, post it as a comment first, then approve.
- **"Save the project first" in the studio.** Comments and versions attach to the saved project. Save once, then reopen the panel.
- **A teammate isn't in the @mention list.** The picker lists your workspace's team members — check they've been invited in the dashboard's **Team** view (and that they've created their CoreReflex account).
- **A comment's clip anchor says "removed."** The clip it was anchored to was deleted from the timeline. The comment and its text survive; only the anchor is gone.
- **Version history is shorter than expected.** The studio keeps the most recent **20** snapshots per project; older ones are pruned automatically.
- **The proofing panel shows an upgrade prompt.** Client proofing is a Pro feature — see [Plans & Billing](plans-and-billing.md).

---

## Related pages

- [Getting Started](getting-started.md) — accounts, the dashboard, and your first project.
- [Writing & Content](writing-and-content.md) — the Write documents you can send for proofing.
- [Editing & Mastering](editing-and-mastering.md) — the studio editor where comments and version history live.
- [Client Operations](client-operations.md) — the CRM, booking, and client-facing suite proofing belongs to.
- [Plans & Billing](plans-and-billing.md) — upgrading to Pro.
