Inside CitationLab
Engineering notes from building the checker. How extraction decides what counts as a citation, why we test every change against a corpus of real theses, what we deliberately refuse to optimise. These are written for readers who want the reasoning rather than the reassurance — including the decisions that turned out to be wrong.
Nothing gets lost: the conservation ledger
A citation checker you can trust must account for every line it read: kept, matched, or set aside — never silently dropped. How CitationLab's conservation ledger works.
The seven steps of a Ref[In] annotation
Annotation runs as seven stages in a fixed order, on a frozen session, by one worker — and it will not begin until the ledger balances. What each stage produces, and why every constraint was added after something went wrong without it.
We check the references you already had, not just the ones we found
A citation check that only reports what is missing leaves the risky part untouched. Every reference in your bibliography is independently resolved — including the DOI you supplied, which is followed to see what it actually describes.
We read your extracts, not your thesis
What actually reaches an AI provider during a citation check: the citation string, the parsed authors and year, and a capped window of surrounding words. Every citation goes; no chapter does.