About this index
Every card is built from the OCR text of the DOJ Epstein Library release — 1,424,673
documents, about 3.2 billion characters, covering Data Sets 1–12 plus the House Oversight
and FBI Vault productions.
Who gets a card
A dossier exists only for an entity that appears in the From, To or Cc field
of an actual email. 590,019 messages in the release carry a parseable header block; the names
in those headers were matched against the roster of people and companies, and everything else
was removed. A name that is merely mentioned in a body, quoted in a court filing, or printed
under a signature no longer has a card, however often it occurs. Six companies qualify
because they appear in headers themselves.
What is on a card
- Sent / received — messages this entity wrote (its name in From) and
messages addressed to it (in To). Cc is counted separately and shown in the dossier. A
message that names both people counts for both, which is why the totals need not match.
- Files — documents containing the name anywhere, a much wider net than the
correspondence; mentions — raw occurrences, used only for ranking. A merged
card shows the count of its largest single spelling, not a sum, because the spellings
describe overlapping documents.
- Quoted — verbatim sentences from the files, scored for substance. Every
quote carries the file ID and a link that opens that exact document on justice.gov.
- Associates — other indexed names appearing in the same documents. Shared
paperwork is not a relationship.
- Companies and roles — the company, the role the files give the person
(president, managing director, trustee…), how often that pairing appears, and the sentence
it came from. Only counted where the text actually links name → role → company;
83 cards clear that bar.
- Printed beside the name — the company sitting directly under the name in a
signature line (“Richard Kahn / HBRK Associates Inc.”). Affiliation, not ownership.
- Firms sharing paperwork — companies that appear in the same documents.
Co-occurrence only: a bank statement puts a bank next to a name.
- Files that name the card — up to 40 documents containing the name, sampled
evenly across every data set, each row opening the PDF on justice.gov. It is a sample of the
total printed beside it, not the whole set.
- Folded spellings — nickname, initial, OCR and corporate variants are
merged into one card (“Rich Kahn” into “Richard Kahn”, “JPMorgan Chase Bank, N.A.” into
“JPMorgan Chase”), and the merged card lists every spelling it absorbed with that
spelling's own file count. Only an exact nickname, an initial, a truncation or a
single-letter OCR slip is merged; two people who merely share a first letter are not.
How it was built
Header blocks were parsed line by line, because the corpus is inconsistent: “From: Jes
Staley” on one line, “From:” with the name on the next. A header name resolves to a card only
by exact name, a recorded alias, a rejected-initial or reversed spelling, or a one-character
OCR slip on a first name whose surname is unique on the shelf. Nothing is guessed from a
surname alone, and no new card was invented from a header. Quotes are extracted verbatim,
never paraphrased. Where the DOJ index did not list a file URL, the canonical
DataSet N/EFTA…pdf address is constructed from the document's own ID.
Where this comes from
Every card is built from the public release: the DOJ's Epstein files on
justice.gov, plus the USAvJE and House Oversight productions held in the same
corpus. Each quotation carries the document's own id and a deep link to the PDF it was taken
from, and the number beside a card counts only documents in that release. Nothing here comes
from a private source, a leak, or anyone's account.
Personal identifiers are masked in the text shown here — phone numbers, dates of birth,
account numbers and street addresses appear as [phone masked] or
[street address masked] — because a signature block is not the story. The
quotations are not otherwise softened, and the PDF beside each one still has the full text,
so the record stays checkable without this page republishing somebody's home address. What a
run masked is written down in data/privacy.json; when a run finds nothing, it
masks nothing.
What is deliberately excluded
- Victim identities. DOJ redacted them; no de-redaction layer was used, and placeholder
names (Jane Doe) are not indexed. Minors are not profiled.
- Names that never touch a mail header — people who only appear in the body of a message,
in a filing, or under a signature line. They are absent by design, not because the name is
absent from the release.
- Corporations that never send or receive mail in the corpus. Their relationships survive on
the people's cards under “Companies and roles”.
How the corporate links are read
Role statements need all three parts in order — a name, a role word, then the company it
attaches to, separated only by words like “of”, “at”, “the” or a comma. “Richard Kahn, the
chief financial officer of HBRK Associates” counts; a bank form with a name in one cell and
“Signatory” in another does not. Each company therefore carries the quoted sentence and the
file it came from, and the role labels are the words the documents used rather than my
summary. A card with no such sentence shows no role — most of the shelf is paperwork that
never states one.
Photographs
Portraits come from Wikimedia and appear only on exact article-name matches with a free
licence (CC0, CC BY, CC BY-SA or public domain); the licence and photographer are printed
under each image. No photo is attached to a name that could not be matched exactly, and no
photo is generated.
Advertising
Ad units are drawn from ads-config.js and every one is labelled where it sits.
The units shown now are house notices pointing at pages of this index: none is paid for, none
sets a cookie and none reads anything about the visitor. If a paid network is added later the
label will read Sponsored, the link will carry rel="sponsored", and the
seller will be listed in ads.txt. No ad is served inside a dossier, and none sits
over the donation panel.
Limits
OCR mangles names, threads repeat the same sentence across many files, and two people can
share a name. Treat every card as a pointer into the primary documents, not as a finding.