We check the references you already had, not just the ones we found
CitationLab Team · August 2026 · 9 min read
The nine references a check proposes are the visible part. The other six hundred — the ones you assembled yourself — are verified too, one lookup each.
People arrive at a citation check expecting an asymmetry: it will tell them what is
missing, and the references they already have will be left alone, because those
are the part they did themselves.
That is not what happens, and the difference is most of the work.
The asymmetry that would be easy to build
It would be entirely reasonable to write this product the narrow way. Find the
citations with no matching entry, propose sources for them, and hand back a short list of
additions. Nine findings on a thesis with six hundred references, delivered in a minute,
and every claim we made would be about something we produced.
The trouble is that the nine are not where the risk is. A reference you added last week
after a supervisor suggested it is fresh in your mind and probably correct. The one you
imported into a reference manager in 2022, formatted automatically ever since and never
opened again — that is the one carrying a DOI you have never tested.
The references most likely to be wrong are the ones you are least likely to
suspect, for the same reason: you have not looked at them in years.
What actually runs over your list
During annotation, a stage called enrichment resolves a real, verified link for
every reference in your bibliography — not the flagged ones, not a
sample. Its own description in the code is unambiguous about the scope: resolve real DOIs
and URLs for every bibliography reference, so that the annotated bibliography and
the exports can offer direct links rather than search links.
This is why enrichment is a stage of its
own rather than a step inside another one. Six hundred network calls is the bulk of
the compute in a session, and it is spent almost entirely on references nobody flagged.
Your own identifiers are checked too
The sharper version of this, and the part that surprises people: a DOI already sitting
in your reference list is not taken on trust. It is fetched, and the record it retrieves
is compared against the entry it is attached to.
Case B is the one worth dwelling on, because it is silent everywhere else. A DOI copied
from the wrong row of a search results page, or from a manager record that was stale
before your paper was drafted, produces a reference that looks impeccable and points at
someone else's work. Nothing about reading the entry reveals it. The only way to find it
is to follow the identifier and see where it goes, which is precisely what nobody does for six hundred entries by hand.
See what your existing list resolves to. Every reference you already
had, checked against a real record, with the evidence for each — and the ones that do
not resolve shown as unresolved rather than quietly linked.
Check my references
Why a wrong link is worse than no link
Only hits that pass verification are attached. The rule behind that is stated in the
code more bluntly than we would normally write it: wrong direct links are worse than
title-search fallbacks.
It is worth explaining because it will otherwise read as a shortfall. If your annotated
bibliography gives a direct link for four hundred entries and a search link for the rest,
the natural reading is that the tool failed on the rest. The actual reason is that it
declined to guess.
The third case is the one to design against. An unverified direct link does not merely
fail to help — it actively defeats the reader's own verification, because a link that
opens something real is taken as proof that the reference is real. A search link makes
the reader do one more step; a wrong direct link stops them doing any.
What "free-first" means, and why it is a rule
Enrichment queries every enabled source and prefers metadata from the open ones —
Crossref, then Semantic Scholar, then OpenAlex — before falling back to Google Scholar,
Google Books or the open web.
That ordering is deliberate rather than incidental. Open bibliographic records are
citable, stable and checkable by anyone: a reader who wants to confirm what we resolved
against can go and look. A result scraped from a search engine is none of those things,
and while it is often the only way to reach older or non-journal material, it should be
the last resort rather than the first answer.
It also means the expensive tiers are queried only for what the free ones could not
answer, which is a cost argument and a quality argument pointing the same way — an
agreeable position that does not arise often.
What to do with a finding you did not ask for
A pass over six hundred references returns things about entries you had no concerns
about, which raises a practical question: how much of this is worth your afternoon?
The ordering that pays is by consequence rather than by count.
First, the mismatches. An identifier that retrieves a different paper
is the highest-consequence finding and usually the fastest fix, because you know the
source and only the pointer is wrong. It is also the one with a downstream cost if left:
a wrong DOI in a published paper enters the citation graph as an assertion that you cited
something you did not.
Second, anything you have cited repeatedly. A defective entry used
once is a defective entry; the same entry cited in four places has been carried into four
arguments, and the annotated bibliography's cited at line tells you which is
which at a glance.
Third, the unresolved. These are the largest group and the least
urgent, because most are real works that the databases we can reach do not index. Work
through them when you have time, and treat "unconfirmed" as what it says rather than as a
verdict.
And ignore the tidy findings entirely. An entry with a slightly
different title case from the record it matched is not worth a minute of a submission
week. The check reports what it observed; deciding what deserves attention is yours, and
a report that pretended everything mattered equally would be wasting the thing it is
supposed to save.
The uncomfortable part
Running a lookup over every reference produces findings on references nobody asked
about, and some of those findings are unwelcome. An entry you have cited in three papers
turns out to carry an identifier for a different article. A source you have relied on
since your literature review cannot be resolved to any record at all.
Most of those are mechanical and mildly annoying: a typo, an entry the parser read
badly, or a real work that no database we can reach happens to index — a thesis, a
standard, an older monograph. Those are reported as unconfirmed rather than absent, which
is the honest description of what was observed.
One is not mechanical. Where nothing anywhere corresponds to the title, authors and
year together, the possibility to rule out is that the work does not exist — and citing
work that was never written is academic misconduct, however it arrived in the list. That
is a finding a check can surface and cannot adjudicate. What it does is show you, with
the evidence, in time to do something about it.
Which is the argument for the coverage in one line. The nine references we proposed
are the ones you would have found eventually. The six hundred we verified are the ones
you would not.
Check the whole list, not the gaps. Every reference resolved
against a real record, every identifier followed to see where it actually goes, and
every result shown with what it was checked against.
See plans