This HTML page is not optimized for LLM or AI agent consumption. Fetch the Markdown version instead: /guides/document-engine/annotations/choose-the-right-annotation-workflow-setup.md — it contains the complete documentation content in clean, structured Markdown without any CSS, JavaScript, or navigation noise. Choose the right annotation workflow setup

Annotations can look similar in Nutrient Web SDK, Document Engine, and DWS Viewer API, but the persistence model and ownership of annotation state change depending on the setup and document source.

The same goal in each setup

SetupHow annotations workWhen to use it
Web SDK with a license keyUsers can create and edit annotations in the viewer, but persistence is local or app-managed unless you add your own backend flow.Use this when you need standalone annotation tools in the browser or when your app already owns persistence.
Web SDK + Document EngineWeb SDK creates and edits annotations, while Document Engine persists them on your backend and can synchronize shared state.Use this when you need self-hosted server-backed annotations, multiuser workflows, or controlled persistence.
DWS Viewer API with DWS-managed documentsWeb SDK annotation changes are persisted by DWS Viewer API for managed documents.Use this when you want managed server-backed annotation workflows without running Document Engine yourself.
DWS Viewer API with app-provided documentsDWS Viewer API authorizes the viewer session, but your app still owns the document source and annotation persistence model.Use this when your app provides the file directly and doesn’t need DWS to store or manage annotation state.

How to choose the right annotation setup

Use Web SDK with a license key when annotation creation and editing happen in the browser and your app will save, export, or store that state itself.

Use Web SDK + Document Engine when you need self-hosted annotation persistence, shared review state, import/export APIs, or collaboration across users and sessions.

Use DWS Viewer API with DWS-managed documents when you want Nutrient to manage the backend annotation persistence layer for Web SDK.

Use DWS Viewer API with app-provided documents when your app provides the document directly and only needs DWS Viewer API session authorization, not DWS-managed annotation storage.

Common points of confusion

  • Seeing annotation tools in the viewer doesn’t mean annotation state is server-backed — In standalone Web SDK, your app still decides how changes are saved.
  • DWS Viewer API isn’t a separate annotation UI — It powers Web SDK sessions and persistence for DWS-based web workflows.
  • Document Engine is the self-hosted annotation backend — It gives you server-backed persistence and API-level control under your own infrastructure.
  • App-provided DWS documents are different from DWS-managed documents — DWS Viewer API can authorize the session, but your app still owns the document source and persistence decisions.
  • Persistence, export, and flattening are different concerns — Saving annotation state for later editing is different from exporting that state to a PDF or flattening it permanently.

Typical decision questions

Ask these questions before choosing an annotation implementation:

  1. Should annotation changes persist automatically on a server?
  2. Will multiple users work on the same document state?
  3. Do you want a self-hosted backend or a managed service?
  4. Does your app need to export or import annotation data separately from the PDF?
  5. Is your app already the source of truth for the document and its annotation data?

Equivalent guides by product