Pandemic Darlings The pandemic economy, in original documents
Home Data downloads Pandemic-fraud sentencing outcomes

Derived table · Cross-program enforcement

Pandemic-fraud sentencing outcomes

1,133 pandemic-fraud sentencing records, late 2020 through mid-2026, coded from DOJ releases, inspector-general reports, state attorney-general announcements, and court records: program, charges, conviction path, sentence length, probation, restitution, forfeiture, and loss amount, each with a source excerpt and a quality tier.

Rows1,133
Columns97
Files1 · 3.1 MB
FormatCSV
Source vintageProject database promoted 2026-07-10
Published byPandemic Darlings
Acquired / built2026-07-10
Releasepandemic-darlings-data-v1-2026-07-10
Built fromDOJ press-release corpus, 2020–2026
SHA-25642ec5e160bf767afa8b2c3d22ac33c5f50402a386224010d0aad522529d19e55
RightsCompiled from public records; attribution to Pandemic Darlings requested for the classification work.
Schema · dictionarypandemic-fraud-sentences.json · dictionary.csv

Download CSV 3.1 MBData dictionary CSVAt a glancePreviewColumnsHow to useBefore you quote a row

At a glance

Measured on the served file on 2026-09-12; the checksum above is the file these numbers describe.

Rows1,133
Columns97
Keyrecord_id · unique
Cells left blank34,367 of 109,901 · 31.3%
Source dates (ISO rows)2020-11-09 → 2026-06-17
Median custodial sentence36 months
Restitution ordered$3.8 billion on 890 rows
Rows with a court filing here15
Sentencing records per year of source date — counts rows of pandemic-fraud-sentences.csv by the year of source_date where the date is in ISO form; the 212 rows with a blank, month-only, range, or pending date are left out.
Sentencing records per year of source dateColumns, one per year 2020 to 2026, height equal to the number of rows whose source date falls in that year.0501001502020202120222022: 1952023202420252026
The numbers behind this chart
YearRows
20205
202198
2022195
2023191
2024185
2025175
202680
Rows by comparison bucket — counts rows of pandemic-fraud-sentences.csv by comparison_bucket; 280 rows have no bucket and are not shown.
Rows by comparison bucketHorizontal bars, one per analytical bucket, length proportional to the number of rows.PPP borrower fraud357identity/UI fraud192tax preparer or tax-credit fraud185EIDL borrower fraud63other pandemic relief fraud30platform or lender-side fraud24program sponsor / gatekeeper2
The numbers behind this chart
BucketRows
PPP borrower fraud357
identity/UI fraud192
tax preparer or tax-credit fraud185
EIDL borrower fraud63
other pandemic relief fraud30
platform or lender-side fraud24
program sponsor / gatekeeper2

What it is

One row per sentenced defendant, plus a handful of pending cases carried for tracking. 830 rows come from DOJ press releases, 132 from SBA Office of Inspector General and Pandemic Response Accountability Committee reports, 123 from state attorney-general announcements, and 48 from curated source packs and local case summaries. By program: 355 PPP, 127 PPP and EIDL together, 101 EIDL, and about 400 unemployment-insurance cases, federal and state, many of them coded from state workforce-agency entries.

Each row records the program defrauded, the fraud type and charges, whether the conviction came by plea or trial, the sentence in months and years, probation and supervised release, restitution and forfeiture, and the loss or intended-loss amount with a note on what that amount is. A source excerpt and extraction notes sit on every row, and data_quality_tier says how far the row was checked: 1,009 rows carry a fact-checked tier, 15 are verified against the PACER docket, 59 are marked medium confidence.

Beyond the core fields, the table carries three blocks of enrichment: flags describing the shape of PPP schemes (conspiracy, attempted versus obtained, cross-lender patterns), links to the court filings in this archive, and a Bureau of Prisons inmate-locator lookup with register number and projected release date.

How it was built

Rows were extracted from the DOJ press-release corpus with pattern matching for sentence lengths (including spelled-out numbers), restitution, forfeiture, and loss, then merged with hand-curated records from OIG and PRAC reports, state announcements, and court documents. Duplicates across sources were collapsed on a defendant-plus-case key. Rows were then fact-checked: a second public source was found for each, or the row was marked medium confidence or queued for a PACER follow-up. Sentences that were non-custodial, or stated only as a range, have has_numeric_sentence false.

Preview

record_idsource_familysource_urlsource_datedefendantcase_or_groupdistrictprogram_categoryfraud_typechargeconviction_pathsentence_textsentence_monthsprobation_yearssupervised_release_yearsrestitution_usdforfeiture_usdamount_usdamount_basissource_confidencecomparison_bucketsource_excerptextraction_notessentence_years
doj:87310a40-6f5b-48b8-892f-f2fb0748de05doj_press_releasehttps://www.justice.gov/usao-ndny/pr/queens-couple-sentence…2024-09-20William TaylorQueens Couple Sentenced for $380,000 COVID Unemployment Fra…NDNYUIaggravated identity theft, wire fraud, conspiracy, false cl…aggravated identity theft, wire fraud, conspiracy, false cl…sentencedWilliam Taylor, age 33, of Jamaica, New York, was sentenced…36.00.02.0381815.0315723.0381815.0obtaineddr-fact-checkedidentity/UI fraudQueens Couple Sentenced for $380,000 COVID Unemployment Fra…parsed from source sentence phrase; DOJ public source statu…3.0
doj:31fe536e-2f1a-4724-93a3-f557b67cbd14doj_press_releasehttps://www.justice.gov/usao-ndoh/pr/toledo-area-man-senten…2024-03-20Terrence L. PoundsToledo Area Man Sentenced to 94 Months in Prison for Covid …NDOHPPP/EIDLconspiracy, wire fraud, money laundering, false statementsconspiracy to commit wire fraud, wire fraud and money laund…sentencedTerrence L. Pounds, 47, of Holland, Ohio was sentenced to 9…94.00.03.04239940.09500000.04239940.43DOJ press release dollar_amount fielddr-fact-checkedPPP borrower fraudToledo Area Man Sentenced to 94 Months in Prison for Covid …parsed from source sentence phrase; DOJ public source statu…7.83
doj:40e8abfb-8e1b-4c1a-a00d-f2a6c2df69f7doj_press_releasehttps://www.justice.gov/usao-nj/pr/bergen-county-man-senten…2025-05-30George LeguenBergen County Man Sentenced to Twenty Months in Prison for …D.N.J.EIDLwire fraud, money launderingwire fraud, money launderingguilty pleaIn addition to the prison term, Judge Arleo sentenced Legue…20.03.0174426.37149900.0149900.0EIDL loan proceeds receiveddr-fact-checkedEIDL borrower fraudBergen County Man Sentenced to Twenty Months in Prison for …parsed from source sentence phrase; DOJ public source statu…1.67
doj:beffef1d-0832-4a66-bf61-cc6d1cab0185doj_press_releasehttps://www.justice.gov/usao-nj/pr/camden-county-woman-sent…2023-05-02Rhonda ThomasCamden County Woman Sentenced to Five Years in Prison for F…DNJPPP, EIDLbank fraud, conspiracy, money launderingConspiracy to commit bank fraud (18 U.S.C. 1349); Money la…pleasentenced to five years in prison for fraudulently obtainin…60.00.05.03180000.01030000.03180000.0obtaineddr-fact-checkedPPP borrower fraudCamden County Woman Sentenced to Five Years in Prison for F…parsed from source sentence phrase; DOJ public source statu…5.0
doj:0b404fc1-e392-43fa-98c0-febb8bfaeb82doj_press_releasehttps://www.justice.gov/usao-hi/pr/former-hawaii-ceo-senten…2025-02-13Martin KaoFormer Hawaii CEO Sentenced to 87 Months Imprisonment on Co…HIPPPwire fraud, money laundering, bank fraudCOVID-relief wire fraud, money laundering, and bank fraudsentencedMartin Kao, 51, of Honolulu, was sentenced today in federal…87.00.05.012841490.012841490.015841490.0DOJ press release dollar_amount fielddr-fact-checkedtax preparer or tax-credit fraudFormer Hawaii CEO Sentenced to 87 Months Imprisonment on Co…parsed from source sentence phrase; DOJ public source statu…7.25
doj:fcc3f20c-9588-4e96-ac97-f5b49372c137doj_press_releasehttps://www.justice.gov/usao-ndny/pr/albany-man-sentenced-p…2024-07-25Scott SolomonAlbany Man Sentenced to Prison for Pandemic Relief FraudNDNYPPPbank fraudtwo counts of bank fraudguilty_pleaScott Solomon, age 38, of Albany, was sentenced today to 13…13.03.0163993.0163993.0163993.0obtaineddr-fact-checkedPPP borrower fraudAlbany Man Sentenced to Prison for Pandemic Relief Fraud AL…parsed from source sentence phrase; DOJ public source statu…1.08
doj:c89aaef4-6597-4685-bd45-d022aee58047doj_press_releasehttps://www.justice.gov/usao-cdil/pr/rossi-sentenced-additi…2025-07-17Aaron RossiRossi Sentenced to an Additional Three Years in Prison for …CDILHealthcare/COVID-testingwire fraud, mail fraud, false claimswire fraud, mail fraud, false claimsguilty pleaAaron Rossi, 42, of Morton, Illinois, was sentenced on July…37.03000000.01000000.0525520.61total combined loss from false billing for COVID testsdr-fact-checkedother pandemic relief fraudRossi Sentenced to an Additional Three Years in Prison for …parsed from source sentence phrase; DOJ public source statu…3.08
doj:8ed16a81-de75-4f69-8658-be79f115eb95doj_press_releasehttps://www.justice.gov/usao-cdca/pr/sunland-man-sentenced-…2021-09-24Andranik AmiryanSunland Man Sentenced to Nearly 3½ Years in Federal Prison …CDCAPPPconspiracy, bank fraud, identity theftconspiracy, bank fraud, identity theftguilty pleaA Sunland resident has been sentenced to 41 months in feder…41.0650600.0275000.0650600.0Paycheck Protection Program loan obtaineddr-fact-checkedidentity/UI fraudSunland Man Sentenced to Nearly 3½ Years in Federal Prison …parsed from source sentence phrase; DOJ public source statu…3.42
doj:2343f81b-2595-4504-97f0-f881738fa009doj_press_releasehttps://www.justice.gov/usao-sdga/pr/emanuel-county-woman-s…2021-07-15Tracy KirklandEmanuel County woman sentenced after admitting to defraudin…SDGAEIDLwire fraudwire fraudpleaTracy Kirkland, 41, of Swainsboro, was sentenced to 33 mont…33.00.03.066400.016250.066400.0obtaineddr-fact-checkedEIDL borrower fraudEmanuel County woman sentenced after admitting to defraudin…parsed from source sentence phrase; DOJ public source statu…2.75
doj:66626551-8577-4e88-9b0c-bdb839256d68doj_press_releasehttps://www.justice.gov/usao-sdga/pr/georgia-man-sentenced-…2023-09-27Dennis Rodriguez KinchenGeorgia man sentenced for key role in drug trafficking ring…Southern District of GeorgiaUnclassified pandemic reliefconspiracy, money laundering, bank fraudConspiracy to Possess with Intent to Distribute, and to Dis…pleaDennis Rodriguez Kinchen of Dublin, Ga., was sentenced to 1…150.04.0350236.0297336.0570236.54forfeituredr-fact-checkedother pandemic relief fraudGeorgia man sentenced for key role in drug trafficking ring…parsed from source sentence phrase; DOJ public source statu…12.5

First 10 of 1,133 rows · first 24 of 97 columns (the download has all of them) · cells longer than 60 characters are cut with an ellipsis · shown as text, unformatted.

Files

FileRowsSizeSHA-256
pandemic-fraud-sentences.csv
CSV, UTF-8, header row
1,1333,252,282 B42ec5e160bf767afa8b2c3d22ac33c5f50402a386224010d0aad522529d19e55Download ↓
dictionary.csv
data dictionary, 97 rows
97—built with this pageDownload ↓

Columns

ColumnType, measuredBlankDistinctRange / valuesMeaning
record_idtext01,133Stable identifier; prefixed with the source family (for example doj: plus the DOJ UUID).
source_familytext05doj_press_release (830), oig_prac_report (132), state_ag (123), curated_source_pack (37), local_case_summary (11)Where the row came from: doj_press_release, oig_prac_report, state_ag, curated_source_pack, local_case_summary.
source_urltext48883The announcement or document the row was coded from.
source_datetext48719Date of that source.
defendanttext01,045Defendant name as the source states it.
case_or_grouptext255853Case caption, headline, or the group the source describes.
districttext15230Federal district or state authority.
program_categorytext0111Program defrauded: PPP, EIDL, PPP/EIDL, UI, state UI variants, or unclassified pandemic relief.
fraud_typetext345223Fraud pattern in the source's own terms.
chargetext60606Statutes or charge names.
conviction_pathtext1343Plea, trial, or a pending status.
sentence_texttext431,054The sentence as written in the source.
sentence_monthsnumber1031220 – 10K · median 36Custodial sentence in months; blank if non-custodial or unstated.
probation_yearsnumber728160 – 36 · median 0Probation term, years.
supervised_release_yearsnumber66080 – 5 · median 3Supervised release term, years.
restitution_usdnumber2437370 – 903M · sum $3.8B · median $525KRestitution ordered, dollars.
forfeiture_usdnumber9041840 – 46.4M · sum $469.6M · median $600KForfeiture ordered, dollars.
amount_usdnumber38721500 – 649B · sum $4772.3B · median $709KLoss, intended loss, or amount obtained, dollars.
amount_basistext0343What amount_usd represents (obtained, sought, loss found at sentencing, …).
source_confidencetext012dr-fact-checked (965), dr-medium-confidence (59), fact-checked (44), docket/article source pack (17), pacer-verified (15), court-file/source-summary (9)
comparison_buckettext2807PPP borrower fraud (357), identity/UI fraud (192), tax preparer or tax-credit fraud (185), EIDL borrower fraud (63), other pandemic relief fraud (30), platform or lender-side fraud (24)Analytical grouping: PPP borrower fraud, EIDL borrower fraud, identity/UI fraud, tax preparer or tax-credit fraud, platform or lender-side fraud, other.
source_excerpttext01,067The passage the numbers were taken from.
extraction_notestext0408How the row changed across builds and what the extractor could not resolve.
sentence_yearsnumber1031210 – 833.25 · median 3The same in years.
has_numeric_sentenceboolean (True/False)02True (1,030), False (103)
source_fetch_issueboolean (True/False)01False (1,133)How the row changed across builds and what the extractor could not resolve.
requires_pacer_followupboolean (True/False)01False (1,133)True when the sentence or amount could only be confirmed from the docket.
high_confidence_for_analysisboolean (True/False)02True (1,076), False (57)True when the row is fit to aggregate; 1,076 rows.
_change_notestext43982How the row changed across builds and what the extractor could not resolve.
_dedupe_keytext01,133How the row changed across builds and what the extractor could not resolve.
data_quality_tiertext08dr-fact-checked (965), dr-medium-confidence (59), fact-checked (44), curated (33), pacer-verified (15), local-summary (10)dr-fact-checked, fact-checked, pacer-verified, curated, dr-medium-confidence, local-summary, or the bare source type.
_change_typetext05name_fix (464), unchanged (344), new_row (280), factcheck (44), refilled_extract (1)How the row changed across builds and what the extractor could not resolve.
ppp_attempt_conspiracy_tracker_includedboolean (True/False)02True (618), False (515)Whether the case was charged as a conspiracy, whether loans were attempted or sought rather than obtained, blocked or unfunded language, cross-lender and cross-platform patterns, shared bank accounts, IP addresses, EIN or SSN, addresses, PPP and EIDL overlap, and whether detecting the scheme would have needed a view across lenders. Blank for non-PPP rows.
ppp_is_conspiracyboolean (True/False)02False (895), True (238)Whether the case was charged as a conspiracy, whether loans were attempted or sought rather than obtained, blocked or unfunded language, cross-lender and cross-platform patterns, shared bank accounts, IP addresses, EIN or SSN, addresses, PPP and EIDL overlap, and whether detecting the scheme would have needed a view across lenders. Blank for non-PPP rows.
ppp_conspiracy_charge_typetext89514Whether the case was charged as a conspiracy, whether loans were attempted or sought rather than obtained, blocked or unfunded language, cross-lender and cross-platform patterns, shared bank accounts, IP addresses, EIN or SSN, addresses, PPP and EIDL overlap, and whether detecting the scheme would have needed a view across lenders. Blank for non-PPP rows.
ppp_is_attempted_or_soughtboolean (True/False)02False (987), True (146)Whether the case was charged as a conspiracy, whether loans were attempted or sought rather than obtained, blocked or unfunded language, cross-lender and cross-platform patterns, shared bank accounts, IP addresses, EIN or SSN, addresses, PPP and EIDL overlap, and whether detecting the scheme would have needed a view across lenders. Blank for non-PPP rows.
ppp_attempt_termstext1,00537Whether the case was charged as a conspiracy, whether loans were attempted or sought rather than obtained, blocked or unfunded language, cross-lender and cross-platform patterns, shared bank accounts, IP addresses, EIN or SSN, addresses, PPP and EIDL overlap, and whether detecting the scheme would have needed a view across lenders. Blank for non-PPP rows.
ppp_has_exact_attempt_chargeboolean (True/False)01False (1,133)Whether the case was charged as a conspiracy, whether loans were attempted or sought rather than obtained, blocked or unfunded language, cross-lender and cross-platform patterns, shared bank accounts, IP addresses, EIN or SSN, addresses, PPP and EIDL overlap, and whether detecting the scheme would have needed a view across lenders. Blank for non-PPP rows.
ppp_attempt_charge_typeempty1,1330Whether the case was charged as a conspiracy, whether loans were attempted or sought rather than obtained, blocked or unfunded language, cross-lender and cross-platform patterns, shared bank accounts, IP addresses, EIN or SSN, addresses, PPP and EIDL overlap, and whether detecting the scheme would have needed a view across lenders. Blank for non-PPP rows.
ppp_has_blocked_rejected_unfunded_languageboolean (True/False)02False (1,123), True (10)Whether the case was charged as a conspiracy, whether loans were attempted or sought rather than obtained, blocked or unfunded language, cross-lender and cross-platform patterns, shared bank accounts, IP addresses, EIN or SSN, addresses, PPP and EIDL overlap, and whether detecting the scheme would have needed a view across lenders. Blank for non-PPP rows.
ppp_blocked_rejected_unfunded_termstext1,1236denied (5), rejected (1), declined (1), stopped (1), rejected;did not receive (1), did not receive (1)Whether the case was charged as a conspiracy, whether loans were attempted or sought rather than obtained, blocked or unfunded language, cross-lender and cross-platform patterns, shared bank accounts, IP addresses, EIN or SSN, addresses, PPP and EIDL overlap, and whether detecting the scheme would have needed a view across lenders. Blank for non-PPP rows.
ppp_charged_attempt_vs_conducttext1,0051alleged_attempted_or_sought_conduct (128)Whether the case was charged as a conspiracy, whether loans were attempted or sought rather than obtained, blocked or unfunded language, cross-lender and cross-platform patterns, shared bank accounts, IP addresses, EIN or SSN, addresses, PPP and EIDL overlap, and whether detecting the scheme would have needed a view across lenders. Blank for non-PPP rows.
ppp_amount_contexttext515327Whether the case was charged as a conspiracy, whether loans were attempted or sought rather than obtained, blocked or unfunded language, cross-lender and cross-platform patterns, shared bank accounts, IP addresses, EIN or SSN, addresses, PPP and EIDL overlap, and whether detecting the scheme would have needed a view across lenders. Blank for non-PPP rows.
ppp_cross_lender_patternboolean (True/False)01False (1,133)Whether the case was charged as a conspiracy, whether loans were attempted or sought rather than obtained, blocked or unfunded language, cross-lender and cross-platform patterns, shared bank accounts, IP addresses, EIN or SSN, addresses, PPP and EIDL overlap, and whether detecting the scheme would have needed a view across lenders. Blank for non-PPP rows.
ppp_cross_platform_patternboolean (True/False)01False (1,133)Whether the case was charged as a conspiracy, whether loans were attempted or sought rather than obtained, blocked or unfunded language, cross-lender and cross-platform patterns, shared bank accounts, IP addresses, EIN or SSN, addresses, PPP and EIDL overlap, and whether detecting the scheme would have needed a view across lenders. Blank for non-PPP rows.
ppp_same_bank_accountboolean (True/False)01False (1,133)Whether the case was charged as a conspiracy, whether loans were attempted or sought rather than obtained, blocked or unfunded language, cross-lender and cross-platform patterns, shared bank accounts, IP addresses, EIN or SSN, addresses, PPP and EIDL overlap, and whether detecting the scheme would have needed a view across lenders. Blank for non-PPP rows.
ppp_same_ipboolean (True/False)01False (1,133)Whether the case was charged as a conspiracy, whether loans were attempted or sought rather than obtained, blocked or unfunded language, cross-lender and cross-platform patterns, shared bank accounts, IP addresses, EIN or SSN, addresses, PPP and EIDL overlap, and whether detecting the scheme would have needed a view across lenders. Blank for non-PPP rows.
ppp_same_ein_ssnboolean (True/False)01False (1,133)Whether the case was charged as a conspiracy, whether loans were attempted or sought rather than obtained, blocked or unfunded language, cross-lender and cross-platform patterns, shared bank accounts, IP addresses, EIN or SSN, addresses, PPP and EIDL overlap, and whether detecting the scheme would have needed a view across lenders. Blank for non-PPP rows.
ppp_same_address_phone_emailboolean (True/False)01False (1,133)Whether the case was charged as a conspiracy, whether loans were attempted or sought rather than obtained, blocked or unfunded language, cross-lender and cross-platform patterns, shared bank accounts, IP addresses, EIN or SSN, addresses, PPP and EIDL overlap, and whether detecting the scheme would have needed a view across lenders. Blank for non-PPP rows.
ppp_eidl_overlapboolean (True/False)02False (896), True (237)Whether the case was charged as a conspiracy, whether loans were attempted or sought rather than obtained, blocked or unfunded language, cross-lender and cross-platform patterns, shared bank accounts, IP addresses, EIN or SSN, addresses, PPP and EIDL overlap, and whether detecting the scheme would have needed a view across lenders. Blank for non-PPP rows.
ppp_multiple_lenders_or_platformsboolean (True/False)01False (1,133)Whether the case was charged as a conspiracy, whether loans were attempted or sought rather than obtained, blocked or unfunded language, cross-lender and cross-platform patterns, shared bank accounts, IP addresses, EIN or SSN, addresses, PPP and EIDL overlap, and whether detecting the scheme would have needed a view across lenders. Blank for non-PPP rows.
ppp_central_detection_neededboolean (True/False)01False (1,133)Whether the case was charged as a conspiracy, whether loans were attempted or sought rather than obtained, blocked or unfunded language, cross-lender and cross-platform patterns, shared bank accounts, IP addresses, EIN or SSN, addresses, PPP and EIDL overlap, and whether detecting the scheme would have needed a view across lenders. Blank for non-PPP rows.
ppp_source_doc_for_patterntext51545Whether the case was charged as a conspiracy, whether loans were attempted or sought rather than obtained, blocked or unfunded language, cross-lender and cross-platform patterns, shared bank accounts, IP addresses, EIN or SSN, addresses, PPP and EIDL overlap, and whether detecting the scheme would have needed a view across lenders. Blank for non-PPP rows.
legal_filing_case_slugstext1,1188staveley-butziger-rid (4), martinez-sdny-1-22-cr-00251 (3), kao-hawaii-1-21-cr-00061 (2), sanders-wdmo-4-24-cr-00029 (2), golden-larimore-seizure-wdmo-4-23-sw-00602 (1), glenn-mdd-1-23-cr-00027;glenn-warrant-mdd-1-23-mj-01059 (1)Case slugs and names of filings held in this archive's court-filings section, with their archive status and whether the PDF came from RECAP, the DOJ, or an existing project copy.
legal_filing_case_namestext1,1188United States v. Staveley / United States v. Butziger (4), United States v. Martinez (3), United States v. Kao (2), United States v. Sanders (2), United States seizure warrant re Golden-Larimore PPP scheme (1), United States v. Glenn;United States v. Glenn (1)Case slugs and names of filings held in this archive's court-filings section, with their archive status and whether the PDF came from RECAP, the DOJ, or an existing project copy.
legal_filing_archive_statustext5152no_legal_filing_archive_match (603), pdf_available (15)Case slugs and names of filings held in this archive's court-filings section, with their archive status and whether the PDF came from RECAP, the DOJ, or an existing project copy.
legal_filing_archive_pathstext1,1188cases/ppp-attempt-conspiracy-legal-filings/staveley-butziger-rid (4), cases/ppp-attempt-conspiracy-legal-filings/martinez-sdny-1-22-cr-00251 (3), cases/ppp-attempt-conspiracy-legal-filings/kao-hawaii-1-21-cr-00061 (2), cases/ppp-attempt-conspiracy-legal-filings/sanders-wdmo-4-24-cr-00029 (2), cases/ppp-attempt-conspiracy-legal-filings/golden-larimore-seizure-wdmo-4-23-sw-00602 (1), cases/ppp-attempt-conspiracy-legal-filings/glenn-mdd-1-23-cr-00027;cases/ppp-attempt-conspiracy-legal-filings/glenn-warrant-mdd-1-23-mj-01059 (1)Case slugs and names of filings held in this archive's court-filings section, with their archive status and whether the PDF came from RECAP, the DOJ, or an existing project copy.
legal_filing_manifest_rowsnumber51590 – 710 · median 0Case slugs and names of filings held in this archive's court-filings section, with their archive status and whether the PDF came from RECAP, the DOJ, or an existing project copy.
legal_filing_pdf_rowsnumber51590 – 335 · median 0Case slugs and names of filings held in this archive's court-filings section, with their archive status and whether the PDF came from RECAP, the DOJ, or an existing project copy.
legal_filing_public_recap_pdf_rowsnumber51570 – 55 · median 0Case slugs and names of filings held in this archive's court-filings section, with their archive status and whether the PDF came from RECAP, the DOJ, or an existing project copy.
legal_filing_existing_project_pdf_rowsnumber51560 – 53 · median 0Case slugs and names of filings held in this archive's court-filings section, with their archive status and whether the PDF came from RECAP, the DOJ, or an existing project copy.
legal_filing_official_doj_pdf_rowsnumber51520 – 1 · median 0Case slugs and names of filings held in this archive's court-filings section, with their archive status and whether the PDF came from RECAP, the DOJ, or an existing project copy.
legal_filing_gap_rowsnumber51590 – 172 · median 0Case slugs and names of filings held in this archive's court-filings section, with their archive status and whether the PDF came from RECAP, the DOJ, or an existing project copy.
bop_lookup_statustext04matched (686), skipped_not_candidate (287), ambiguous (91), no_bop_result (69)Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.
bop_match_confidencetext3563high (465), medium (221), ambiguous (91)Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.
bop_release_datetext447488Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.
bop_release_date_typetext4472actual (371), projected (315)Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.
bop_register_numbertext447620Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.
bop_nametext447620Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.
bop_ageinteger4475024 – 77 · median 45Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.
bop_sextext4472Male (512), Female (174)Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.
bop_racetext4474Black (363), White (265), Asian (57), American Indian (1)Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.
bop_locationtext44798Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.
bop_facility_codetext493111Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.
bop_facility_typetext49311RRM (317), FCI (218), FMC (39), FPC (22), USP (16), FDC (14)Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.
bop_release_codetext7621R (371)Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.
bop_result_countnumber287430 – 138 · median 1Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.
bop_candidate_count_after_filtersnumber287370 – 125 · median 1Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.
bop_lookup_querytext287784Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.
bop_lookup_datedate (ISO)012026-06-24 – 2026-06-24Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.
bop_lookup_source_urltext01https://www.bop.gov/inmateloc/ (1,133)Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.
bop_screenshot_pathtext447686Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.
bop_screenshot_statustext4471captured_existing (686)Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.
bop_screenshot_captured_atempty1,1330Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.
bop_screenshot_source_urltext4471https://www.bop.gov/inmateloc/ (686)Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.
bop_match_notestext0315Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.
source_age_at_sentencenumber6065219 – 75 · median 42
source_age_basistext6066name_comma_age_of (255), name_comma_age (183), name_age (69), full_text_name_comma_age_of (15), full_text_name_comma_age (4), full_text_name_age (1)
bop_query_variant_countnumber28761 – 6 · median 2Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.
bop_match_strategytext3566age_confirmed_unique (460), single_exact_name_no_source_age (219), multiple_or_age_unconfirmed_candidates (81), no_temporally_plausible_candidate (10), court_register_unique (5), single_middle_confirmed_temporal (2)Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.
bop_age_confirmedboolean (True/False)3662True (472), False (295)Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.
bop_temporal_plausibleboolean (True/False)3661True (767)Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.
court_text_age_at_sentenceempty1,1330Age and register number found in the sentencing documents themselves, with the evidence path and snippet.
court_text_register_numbertext1,128391425-054 (2), 59202-509 (2), 56626-511 (1)Age and register number found in the sentencing documents themselves, with the evidence path and snippet.
court_text_evidence_pathtext1,1283cases/ppp-fraud-criminal/extracted_text/018_ECF_82_gov.uscourts.nysd.579149.82.0_text.md (2), cases/article-pandemic-fraudsters-court-files/extracted_text/curry-flsd-1-21-cr-20415/gov.uscourts.flsd.597611.28.0.txt (2), cases/article-pandemic-fraudsters-court-files/extracted_text/williams-nyed-2-25-cr-00020/gov.uscourts.nyed.526277.124.0.txt (1)Age and register number found in the sentencing documents themselves, with the evidence path and snippet.
court_text_evidence_basistext1,1281court_text_register_near_name;head_first_last (5)Age and register number found in the sentencing documents themselves, with the evidence path and snippet.
court_text_evidence_snippettext1,1283) ) ) ) ) ) ) UNITED STATES OF AMERICA v. RAFAEL MARTINEZ THE DEFENDANT: ✔ pleaded guilty to count(s) G JUDGMENT IN A CRIMINAL CASE Case Number: 1:22-cr-00251-LJL-1 USM Number: 91425-054 Michael Schachter / Randall Jackson / Telemachus Defendant’s Attorney.DVXOLV(ONDQ$EUDPRZLW] 1 of the (S2) Superseding Information. G pleaded nolo contendere to count(s) which was accepted by the court. G was found guilty on count(s) after a p (2), § Case Number: 1:21-CR-20415-JLK(1) WILLIE CURRY § USM Number: 59202-509 § § Counsel for Defendant: Reinaldo J. Dorta (2), 007 ) ) USM Number: 56626-511 ) ) Gilbert S. Bayonne, Esq (1)Age and register number found in the sentencing documents themselves, with the evidence path and snippet.

PPP scheme flags (ppp_*, 21 columns)

Whether the case was charged as a conspiracy, whether loans were attempted or sought rather than obtained, blocked or unfunded language, cross-lender and cross-platform patterns, shared bank accounts, IP addresses, EIN or SSN, addresses, PPP and EIDL overlap, and whether detecting the scheme would have needed a view across lenders. Blank for non-PPP rows.

Court-filing linkage (legal_filing_*, 10 columns)

Case slugs and names of filings held in this archive's court-filings section, with their archive status and whether the PDF came from RECAP, the DOJ, or an existing project copy.

Bureau of Prisons lookup (bop_* and source_age_*, 29 columns)

Inmate-locator match: register number, name, age, facility, projected release date, how many candidates the query returned, the match strategy, and whether age and timing were confirmed. A match is a likely match, not a confirmed identity, unless bop_age_confirmed is true.

Court-text confirmation (court_text_*, 5 columns)

Age and register number found in the sentencing documents themselves, with the evidence path and snippet.

Bookkeeping (_change_notes, _dedupe_key, _change_type, source_fetch_issue, extraction_notes)

How the row changed across builds and what the extractor could not resolve.

Type, blanks, distinct count, and range are measured on the file. The same table as CSV: dictionary.csv.

How to use it

Specific to this file, measured on it: keys, joins, encodings, units, and the values that will trip a naive count.

  • record_id is the key (0 duplicates), prefixed by source family: doj: 830, oig: 132, stateag: 123, curated: 37, local: 11. The doj: rows carry the DOJ uuid after the prefix and join to the press-release index. 41 rows repeat a defendant-and-district pair: co-defendants or the same person sentenced in two matters, not duplicates.
  • sentence_months = 9999 is a sentinel for life imprisonment on 2 rows (Lawrence Turner, two matters). Exclude it before any average; the next-largest value in the column is 500 months.
  • source_date is not always a date. 921 rows are ISO dates; 164 carry a month (Oct 2024), a range (2024-2025), or pending; 48 are blank. Parse defensively.
  • Booleans are the strings True and False (has_numeric_sentence, high_confidence_for_analysis, the ppp_* flags); requires_pacer_followup is False on every row in this release.
  • Money columns are dollars. amount_usd exceeds $1 billion on 13 rows (nationwide or scheme-wide figures, see amount_basis); restitution_usd is blank on 243 rows and zero on a few, which are different facts.
  • conviction_path is free text in the source's own words: plea (366), sentenced (302), guilty plea (194), guilty_plea (92). Normalize before grouping.
  • 97 columns, CRLF line endings, UTF-8 with non-ASCII characters, no byte-order mark, no cell contains a line break; the longest cell is 1,200 characters (source_excerpt).

Before you quote a row

  • Verify a named defendant against the court record before quoting a row. Press releases and reports paraphrase judgments; the docket is the record.
  • Blank sentence months are not zero. A blank means non-custodial, unstated, or pending; filter on has_numeric_sentence before averaging.
  • State unemployment cases are coded from state entries that often omit probation and restitution; treat those fields as unknown rather than absent.
  • The BOP lookup is probabilistic. Common names produce several candidates; the match columns say how the choice was made.
  • Verify a named defendant against the underlying court record before quoting a row.
Cite this table. Name the source vintage; the numbers depend on it.Pandemic-fraud sentencing outcomes, compiled from DOJ, OIG, PRAC, state, and court sources (database promoted 2026-07-10). Pandemic Darlings, release pandemic-darlings-data-v1-2026-07-10, https://pandemicdarlings.com/data/pandemic-fraud-sentences/, SHA-256 42ec5e160bf767afa8b2c3d22ac33c5f50402a386224010d0aad522529d19e55
Back to top