---
title: "Choose the right comments and review workflow setup"
canonical_url: "https://www.nutrient.io/guides/dws-viewer/developer-guides/choose-the-right-comments-and-review-workflow-setup/"
md_url: "https://www.nutrient.io/guides/dws-viewer/developer-guides/choose-the-right-comments-and-review-workflow-setup.md"
last_updated: "2026-07-08T00:00:00.000Z"
description: "Compare Web SDK with a license key, Web SDK with Document Engine, and DWS Viewer API comments and review workflows so you can choose the right setup."
---

# Choose the right comments and review workflow setup

Comments and review workflows can look similar in Nutrient Web SDK, Document Engine, and DWS Viewer API, but the persistence model, shared state, and reviewer isolation options change depending on the setup.

## The same goal in each setup

| Setup                                      | How comments and review state work                                                                                       | When to use it                                                                                                 |
| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------- |
| Web SDK with a license key                 | Users can add comments in the viewer, but shared review state is local or app-managed. Collaboration is asynchronous.    | Use this when you need comments in a standalone browser workflow or when your app already owns persistence.    |
| Web SDK + Document Engine                  | Document Engine persists comment threads, supports shared state, and can synchronize comments across users and sessions. | Use this when you need self-hosted multiuser review workflows, permissions, layers, or cross-platform sync.    |
| DWS Viewer API with DWS-managed documents  | DWS Viewer API persists comments for Web SDK clients and manages the backend review state for you.                       | Use this when you want managed server-backed review workflows without operating your own Document Engine.      |
| DWS Viewer API with app-provided documents | DWS Viewer API authorizes the viewer session, but your app still owns the document source and any persistence strategy.  | Use this when your app provides the file directly and doesn’t need DWS to store or manage shared review state. |

## How to choose the right review workflow

Use **Web SDK with a license key** when comments are part of a mostly single-user or app-owned review flow and you don’t need built-in server-backed shared state.

Use **Web SDK + Document Engine** when multiple users need to comment on the same document with shared state, reviewer permissions, or synchronization across sessions and devices.

Use **DWS Viewer API with DWS-managed documents** when you want Nutrient to manage the backend collaboration stack for Web SDK review workflows.

Use **DWS Viewer API with app-provided documents** when your app provides the file directly and you only want DWS Viewer API session authorization, not DWS-managed persistence.

## Common points of confusion

- **Comments don’t always imply shared review state** — Users can comment in Web SDK without using a server-backed collaboration setup.

- **Document Engine is the self-hosted review backend** — It gives you shared state, synchronization, permissions, and layers under your own operational control.

- **DWS-managed review workflows are Web SDK workflows with a managed backend** — DWS Viewer API handles persistence and collaboration for DWS-managed documents, so you don’t need to run your own Document Engine.

- **Reviewer isolation depends on the backend model** — In Document Engine and DWS Viewer API, you can isolate review state with layers. In standalone Web SDK, your app owns any separation strategy.

- **App-provided DWS documents are different from DWS-managed documents** — DWS Viewer API can authorize the viewer session, but if the document isn’t managed by DWS, your app still owns persistence and review storage decisions.

## Typical decision questions

Ask these questions before choosing a comments/review implementation:

1. Do reviewers need to see each other’s comments in shared state?

2. Do reviewers need isolated review layers or role-based visibility?

3. Does your app need Nutrient to persist comments automatically, or will your own backend do it?

4. Do you need a self-hosted collaboration backend, or do you want a managed one?

5. Do review comments need to continue across browser sessions, devices, or platforms?

## Equivalent guides by product

- **Web SDK**
  - [Adding comments and replies in Web SDK](https://www.nutrient.io/guides/web/annotations/comments-and-replies/comments.md)
  - [Review persistence architecture](https://www.nutrient.io/guides/web/annotations/synchronization/review-persistence-architecture.md)
  - [Programmatic comment annotations](https://www.nutrient.io/guides/web/knowledge-base/programmatic-comment-annotations.md)
  - [Instant sync and collaboration overview](https://www.nutrient.io/guides/web/instant-synchronization.md)

- **Document Engine**
  - [Adding comments to PDFs on web and mobile](https://www.nutrient.io/guides/document-engine/instant-synchronization/comments.md)
  - [Managing multiple users](https://www.nutrient.io/guides/document-engine/viewer/multiple-users.md)
  - [Instant sync and real-time collaboration overview](https://www.nutrient.io/guides/document-engine/instant-synchronization.md)
  - [Permissions overview](https://www.nutrient.io/guides/document-engine/instant-synchronization/permissions/overview.md)

- **DWS Viewer API**
  - [Reviewer-isolated layers](https://www.nutrient.io/guides/dws-viewer/developer-guides/reviewer-isolated-layers.md)
  - [Implement collaboration and synchronization with DWS Viewer API](https://www.nutrient.io/guides/dws-viewer/developer-guides/implement-collaboration-and-synchronization-with-dws-viewer-api.md)
  - [Choose the right collaboration and synchronization setup](https://www.nutrient.io/guides/dws-viewer/developer-guides/choose-the-right-collaboration-and-synchronization-setup.md)
  - [Open app-provided documents in Web SDK](https://www.nutrient.io/guides/dws-viewer/developer-guides/open-client-provided-documents.md)
---

## Related pages

- [Architecture of DWS Viewer API integration](/guides/dws-viewer/developer-guides/architecture.md)
- [Choose the right annotation workflow setup](/guides/dws-viewer/developer-guides/choose-the-right-annotation-workflow-setup.md)
- [DWS Viewer API backend authentication](/guides/dws-viewer/developer-guides/backend-authentication.md)
- [Choose the right collaboration and synchronization setup](/guides/dws-viewer/developer-guides/choose-the-right-collaboration-and-synchronization-setup.md)
- [Choose the right search, bookmarks, and document navigation setup](/guides/dws-viewer/developer-guides/choose-the-right-search-bookmarks-and-document-navigation-setup.md)
- [Choose the right document opening and loading setup](/guides/dws-viewer/developer-guides/choose-the-right-document-opening-and-loading-setup.md)
- [DWS Viewer API client authentication flow](/guides/dws-viewer/developer-guides/client-authentication-flow.md)
- [Choose the right forms workflow setup](/guides/dws-viewer/developer-guides/choose-the-right-forms-workflow-setup.md)
- [Choose the right layers and versioned document state setup](/guides/dws-viewer/developer-guides/choose-the-right-layers-and-versioned-document-state-setup.md)
- [Implement collaboration and synchronization with DWS Viewer API](/guides/dws-viewer/developer-guides/implement-collaboration-and-synchronization-with-dws-viewer-api.md)
- [Dashboard](/guides/dws-viewer/developer-guides/dashboard.md)
- [Generate a session token](/guides/dws-viewer/developer-guides/generate-a-session-token.md)
- [Deployment options](/guides/dws-viewer/developer-guides/deployment-options.md)
- [Open DWS-managed documents in Web SDK](/guides/dws-viewer/developer-guides/open-a-document-in-web.md)
- [DWS Viewer API developer guides](/guides/dws-viewer/developer-guides.md)
- [Reviewer-isolated layers](/guides/dws-viewer/developer-guides/reviewer-isolated-layers.md)
- [Upload documents](/guides/dws-viewer/developer-guides/upload-documents.md)
- [Open app-provided documents in Web SDK](/guides/dws-viewer/developer-guides/open-client-provided-documents.md)
- [Integrate DWS Viewer API with your own backend](/guides/dws-viewer/developer-guides/use-with-your-backend.md)

