Triaging a large set of public records before you read them
A FOIA release lands as 4,000 pages, or a public dataset has thousands of rows, and you need to find the handful that matter. This is where AI genuinely earns its place in investigations — ICIJ used machine learning to cut one review from 110,000 documents to 3,000. The discipline that makes it defensible: keep sensitive material on infrastructure you control, and confirm every hit by hand.
You are helping a reporter triage a batch of PUBLIC records to decide what to read first. Everything you return is a candidate flag I will open and read myself. Records (public documents, pasted or listed): {{records}} What I am hunting for: {{search_criteria}} Produce: 1. A ranked shortlist of the entries most likely to match my criteria, each with the document/row identifier and the specific text that triggered the flag. 2. Named entities that recur across the set (people, organizations, amounts, dates), with where they appear. 3. Obvious gaps — missing dates, redactions, or numbering breaks worth questioning. Rules: - Point to a document ID, page, or row for every flag. If you cannot cite where a match is, do not list it. - Use only the records provided. Add no outside context, and do not infer motive or guilt — describe only what the text shows. - Where a document is redacted or unclear, say so and flag it for manual review rather than filling the gap.
Fill in your details and the prompt updates live — then copy.
Shortlist (open and read each before relying on it) - Doc 1187, p.4: invoice to Meridian Consulting, $74,300, memo "sole source." Top match. - Doc 0932, p.2: email, "let's keep this with Meridian again" — same vendor, worth reading in full. - Doc 2004, p.7: $61,000 payment, vendor name redacted. [Flag for manual review.] Recurring entities: "Meridian Consulting" appears in 14 documents; signatory "R. Voss" on 9 of them. Gaps: Invoice numbers jump from 4471 to 4479 between Docs 1187 and 1190 — eight missing.
The full workflow
- Confirm the records are public and non-sensitive before any of them touch a consumer tool
- For confidential or leaked material, use tooling that keeps data on infrastructure you control (e.g. ICIJ's open-source Datashare, or a locally run model), not a public chatbot
- Run the prompt to rank candidates, then open and read every flagged document yourself
- Verify each shortlisted finding against the primary record and by reporting before it informs a story
- Log which tool saw which documents, so you can answer questions about your process later
Watch out for
Source protection comes first: never paste leaked documents, whistleblower communications, or a confidential source's material into a consumer AI tool. Inputs can be retained and used to train models, and a single unredacted name or stylistic detail can re-identify a source. ICIJ's rule is the standard — 'no data left our infrastructure,' with no third parties.
Triage narrows the haystack; it does not verify the needle. Every document the AI flags must be read in full and confirmed by reporting — a ranking is a reading order, not a finding you can publish.
AI misses matches and invents patterns. For anything consequential, spot-check what it discarded, not just what it surfaced, and keep a record of your method in case the story is challenged.
Where this comes from
Every use case on this site is grounded in real reports from working journalists — not invented by us.