Everything qnop does.
The complete reference — what the community edition ships today, and the few things that are decided but still on the way.
Review precision
-
Line- and region-precise annotations
Mark exact lines and regions of a rendered PDF — not page-level sticky notes.
-
Markdown threads with reactions
Every annotation carries its own discussion, written in Markdown, with reactions.
-
Multi-layer anchoring
Text quote, position and layout are stored per annotation, so it keeps pointing at what it means.
-
Re-anchoring across versions
New document versions re-attach existing annotations by fuzzy matching instead of orphaning them.
-
Inter-version diff
A compare view shows exactly what changed between two versions.
-
Explicit decisions
Accept or reject is recorded on the annotation itself — not implied by silence.
-
The finalize gate
A review can only be finalized at zero open annotations. Nothing falls off the list.
Documents & versions
-
PDF review
Upload a PDF and review it in the browser through the canonical ingest and rendering pipeline.
-
DOCX & Markdown Planned
Decided and pending on the same ingest pipeline — not shipped yet.
-
Immutable version history
Content changes create new versions; old ones are never mutated and stay fully readable.
-
Durable background processing
Extraction and re-anchoring run as durable jobs on PostgreSQL — a crash never loses work.
-
Documents in object storage
Binaries live in any S3-compatible store, never in the database.
People & teams
-
Teams and roles
Global admin, member and auditor roles, plus per-team leads.
-
Anonymized reviews
Reviews can run with anonymized reviewer identities when the process demands it.
-
Notifications & dashboard
Review events reach the people they concern; the dashboard shows what is open and where.
-
Reviews as a sport
Streaks, achievements, player cards and team tiers make review throughput visible.
Trust & operations
-
Complete audit trail
Every relevant action is recorded, inspectable by a dedicated auditor role.
-
Enterprise sign-in
OIDC single sign-on or local accounts with e-mail verification; JWT sessions with rotating refresh tokens and rate-limited auth endpoints.
-
No insecure defaults
The server refuses to start while a required secret is missing or still a placeholder.
-
Runtime administration
Tenant branding, SMTP and mail templates are configured in the admin area, not at build time.
-
Simple topology
One container with API and web UI, PostgreSQL, and any S3-compatible object storage.
Platform & extensibility
-
Versioned REST API
OpenAPI-first contract under /api/v1, with an explicit deprecation policy.
-
Published plugin contract
The qnop-spi artifact defines extension points — storage and document extraction today.
-
Open source
AGPL-3.0, developed in the open on GitHub.