Fourteen business days conflicts with §4.2, which promises ten. Pick one — I would keep ten and adjust Annex B.
Qualified Notes on Papers
Every comment lands.
Every review closes.
Line-precise document review — finished only when nothing is left open.
A workflow scene around the headline: a rendered document with a highlighted passage and an anchored annotation, a reviewer's comment bubble, a version hop with its annotations re-anchored, an accepted decision, and a finalized card with zero open annotations — connected by a single flowing line, with the reviewers' avatars along the way.
You already know the workflow you are stuck with.
Document review usually happens in the gaps between tools — and every gap costs a comment, a version, or an afternoon.
-
Without qnop: The document goes out as a mail attachment.
Five reviewers, five copies, five sets of comments that have to be merged by hand.
With qnop: One document, one review, every reviewer in the same place.
-
Without qnop: Feedback arrives as “page 4, second paragraph, third line”.
Whoever fixes it spends longer finding the passage than changing it.
With qnop: Annotations are anchored to the exact lines and regions they mean.
-
Without qnop: A new version orphans every comment on the old one.
So the safe move is to not update the document until review is over.
With qnop: New versions re-anchor existing annotations instead of dropping them.
-
Without qnop: Nobody can say whether the review is actually done.
“Done” means someone stopped replying to the thread, not that the work closed.
With qnop: A review can only be finalized when zero annotations are open.
Precision where it matters, structure where it hurts.
Three things do the heavy lifting: exact anchoring, discussion that stays attached, and versions that keep the conversation alive.
Mark the line, not the page.
Select exact lines and regions of a rendered PDF and comment in Markdown threads. Multi-layer anchoring stores the text quote, the position, and the layout — so an annotation keeps pointing at what it means, not at a coordinate that happens to be there today.
- Line- and region-precise selection
- Markdown comments with reactions
- Jump between document and discussion
Discussion that stays attached.
Every annotation carries its own thread: replies, reactions, and a status that means something. Open, discussed, then accepted or rejected — the decision lives on the passage it was made about, not in someone's inbox.
- Threaded replies per annotation
- Accept or reject as an explicit decision
- Optional anonymized reviewer identities
A new version keeps the conversation.
Content changes create a new immutable version — old ones are never mutated. Existing annotations are re-anchored onto the new version by fuzzy matching, and an inter-version diff shows exactly what moved.
- Immutable, fully-retained version history
- Fuzzy re-anchoring across versions
- Inter-version diff for the compare view
A review that can tell you it is finished.
qnop models review as an explicit state machine, not as a convention people are asked to follow. The final state is unreachable while work is outstanding.
-
Open
An annotation is placed on a passage and belongs to whoever must answer it.
-
Discussed
The thread runs: replies, reactions, and the context needed to decide.
-
Accepted / Rejected
The decision is recorded on the annotation itself and enters the audit trail.
-
Finalized
Reachable only at zero open annotations. Nothing quietly falls off the list.
Reviews as a sport
Review throughput, finally visible.
Reviewing is the work nobody schedules. qnop makes the effort legible: streaks, scoreboards, achievements and player-card profiles turn finishing reviews into a habit rather than a chore.
-
Player cards
A profile that shows what someone actually contributed to reviews.
-
Streaks & missions
Momentum you can see, on the dashboard where the work already is.
-
Team tiers
Per-team progress and leadership ranks, earned from real review activity.
Your documents stay under your control.
qnop is built self-hosted first: one container running the REST API and the embedded web UI, PostgreSQL, and any S3-compatible object storage — on your own infrastructure.
- qnop API + web UI
- PostgreSQL relational data
- S3-compatible object storage documents
your infrastructure
No insecure defaults
The server fails fast when a required secret is missing or still a placeholder. There is no “works for now” configuration to forget about.
Enterprise sign-in
Local accounts with e-mail verification, or OIDC single sign-on. JWT sessions with rotating refresh tokens and rate-limited auth endpoints.
Accountable by default
Every relevant action lands in the audit trail, inspectable by a dedicated auditor role that exists for exactly this.
Roles that match reality
Global admin, member and auditor roles plus per-team leads — and reviews that can run with anonymized reviewer identities when the process demands it.
Close the review. For real this time.
Self-hosted, line-precise, and finished when it says it is finished.