Skip to content

Introduction

qnop (Qualified Notes on Papers) is a self-hosted, enterprise-grade document review system. Upload a document, invite reviewers — individual users or whole teams — and run a coordinated review: passages are marked up right in the browser, discussed in threads, accepted or rejected; changes produce new document versions, and the review is finalized once no open annotation remains.

The goal: replace the e-mail-attachment-and-comment-spreadsheet workflow with one place where reviews are precise, accountable — and genuinely satisfying to complete.

qnop reviews PDF documents today; DOCX and Markdown follow the same ingest pipeline later.

  • Line-precise annotations. Mark exact lines and regions of a rendered PDF, comment in Markdown threads, react, and jump between document and discussion — annotations stay anchored to what they mean.
  • A real review workflow. Open → discussed → accepted/rejected; new document versions re-anchor existing annotations instead of orphaning them, and a review can only be finalized when nothing is left open.
  • Teams, roles & privacy. Global ADMIN / MEMBER / AUDITOR roles plus per-team leads; reviews can run with anonymized reviewer identities when the process demands it.
  • Reviews as a sport. Streaks, scoreboards, achievements and player-card profiles turn review throughput into something visible — and finishing reviews into a habit, not a chore.
  • Fully accountable. Every relevant action lands in the audit trail, inspectable by the dedicated auditor role.
  • Enterprise sign-in. Local accounts with self-registration and e-mail verification, or OIDC single sign-on; JWT sessions with rotating refresh tokens and rate-limited auth endpoints.
  • Yours to run. One container (REST API + embedded web UI), PostgreSQL, and any S3-compatible object storage. Your documents never leave your infrastructure.

qnop is open-core: the main repository is the AGPL-3.0 Community edition; commercial add-ons live in a separate private repository built against the published qnop-spi contract.

Head over to the Quickstart to get a qnop instance running with Docker Compose in a few minutes.