Journalist Source and Contact Tracking
Every source tracker stores one attribution basis per person. That column is wrong the first time somebody who was on the record moves to background.
Free download · No account needed
Attribution terms are not given by people. They are given in conversations. A source who spoke on the record in March and moved to background in June has given two different permissions, and the March quotes are still on the record. One column next to a phone number cannot hold that, and whichever way it resolves the conflict it answers wrongly. So this pack keeps terms on the conversation: one row per conversation, and a source register with no basis column at all.
It ships filled in for one reporter's beat file at The Cordell Review, an invented paper: 63 sources, 148 conversations, 412 quotes over fourteen months. Seventeen of those sources carry more than one basis across their own conversations. Grade the quotes by each source's most recent basis and 65 get marked publishable by name on terms nobody agreed to. Grade them by each source's most restrictive basis and 63 usable quotes get thrown away. Per conversation is wrong nought times.
The other half is the promises that have nothing to do with attribution. Quote review before publication, not approaching an employer, holding until a date, sending the piece when it runs. Forty-one of the 148 conversations carried one, six were past their date, and five of those six were the same promise. Open the pack in River and the agent builds both registers and runs the join, or download the blank sheets and work wherever you already do.
What's in the pack
Attribution Terms, one row per conversation
The terms agreed in the source's own words, the agreed description verbatim where they may not be named, how the terms were established, the quotes captured, and any promise with its date. This sheet is the whole mechanism.
Source Register, with no basis column
Who they are, what they can and cannot speak to, conversations logged, days since contact. Deliberately missing the field every other tracker leads with, because that field is what makes a tracker wrong.
The join, reported as counts
What each quote may actually be used for under the terms of its own conversation, next to what a person-level column would have said. The gap is the number that shows why the extra row is worth keeping.
The promises nobody logs
Quote review, not contacting an employer, holding until a date, sending the piece when it runs. Commitments with dates on them, worked to closed, because these are what a source actually remembers.
Follow-up Register
Promises owed, terms to reconfirm, contacts gone cold and questions still open, each with the reason it is on the list. Including the hold that expired and left usable material unused.
Sourcing Standards Note
The desk's rules, written so they can be shared: what each basis permits, when a single source is an escalation rather than a judgement call, and the two limits worth stating before a promise is made.
Attribution Agreement Record
The contemporaneous note, one entry per conversation, for anything that is not plainly on the record. Appended and never overwritten, because the file's authority comes from never having lost a version.
A space rule every prompt reads first
Terms go on the conversation. Later conversations never reach backwards. A source can release you from terms and cannot impose new ones. And this register is one reporter's, not the desk's.
How to use it
- 1
Open in River, or download it
Open the pack and let the agent build both registers from what you have, or download the blank sheets. The template library holds the rest.
- 2
Log conversations, not contacts
One row every time you speak to somebody, with the terms in their own words. Never edit an old row to reflect a new conversation.
- 3
Run the join before you file
Every quote graded on the terms of its own conversation, plus the sources whose terms changed and need a call before publication.
- 4
Then work the promises
Send what is owed, release the holds that expired, and ring the sources the file says have gone cold against their own subject.
Frequently asked questions
Is this template free?
Yes. Download the sheets and docs as Word and CSV files, no signup and no credit card. "Edit with AI" is an optional path for anyone who wants the agent to build the registers from an existing contacts file and a pile of interview notes.
Why not just put the attribution basis next to each contact?
Because 27 percent of sources in the worked file gave more than one basis over fourteen months. A single column has to pick one, and both sensible ways of picking fail: the most recent basis names 65 quotes nobody agreed to, and the most restrictive discards 63 usable ones.
Can a source change the terms of a conversation afterwards?
They can release you from terms, which is common and useful. They cannot impose new ones on a conversation that already happened. Where they ask, the concession that is usually keepable is narrower than the one requested: not repeating one line, or not using a job title.
What is the difference between background and not for attribution?
Background is usable as information and not quotable. Not for attribution is quotable with an agreed description instead of a name, and the description is part of the promise. Record it verbatim: "a county employee" and "a county official" describe different people to a reader.
When is one source not enough?
One named source on the record is publishable with attribution. One unnamed source on a serious allegation is an escalation: the BBC's accuracy guidelines make it a mandatory referral to editorial policy and legal advice, not a matter of taste.
Is it safe to keep this much detail about confidential sources?
Treat it as the sensitive document it is. The BBC's anonymity guidance is explicit that notebooks, emails and computer files can compromise a source as readily as a published name. The register stays with one reporter; only the standards note travels.
How does this connect to the rest of the reporting?
The terms decide what a quote can carry, so the fact check pack grades each assertion against them before publication. Interview transcript workup produces the timecoded quotes for each conversation's row, document dump triage covers the records side, and press release and pitch triage covers press officers, who are contacts rather than sources. The beat memory pack tracks the beat's recurring names.
Put the terms where they belong
Download the blank registers and standards docs as Word and CSV files, or open this exact pack in River and let the agent build them from what you already have.
Edit with AI