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.
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.
record_id · uniquepandemic-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.The numbers behind this chart
| Year | Rows |
|---|---|
| 2020 | 5 |
| 2021 | 98 |
| 2022 | 195 |
| 2023 | 191 |
| 2024 | 185 |
| 2025 | 175 |
| 2026 | 80 |
pandemic-fraud-sentences.csv by comparison_bucket; 280 rows have no bucket and are not shown.The numbers behind this chart
| Bucket | Rows |
|---|---|
| PPP 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 |
| program sponsor / gatekeeper | 2 |
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_id | source_family | source_url | source_date | defendant | case_or_group | district | program_category | fraud_type | charge | conviction_path | sentence_text | sentence_months | probation_years | supervised_release_years | restitution_usd | forfeiture_usd | amount_usd | amount_basis | source_confidence | comparison_bucket | source_excerpt | extraction_notes | sentence_years |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| doj:87310a40-6f5b-48b8-892f-f2fb0748de05 | doj_press_release | https://www.justice.gov/usao-ndny/pr/queens-couple-sentence… | 2024-09-20 | William Taylor | Queens Couple Sentenced for $380,000 COVID Unemployment Fra… | NDNY | UI | aggravated identity theft, wire fraud, conspiracy, false cl… | aggravated identity theft, wire fraud, conspiracy, false cl… | sentenced | William Taylor, age 33, of Jamaica, New York, was sentenced… | 36.0 | 0.0 | 2.0 | 381815.0 | 315723.0 | 381815.0 | obtained | dr-fact-checked | identity/UI fraud | Queens Couple Sentenced for $380,000 COVID Unemployment Fra… | parsed from source sentence phrase; DOJ public source statu… | 3.0 |
| doj:31fe536e-2f1a-4724-93a3-f557b67cbd14 | doj_press_release | https://www.justice.gov/usao-ndoh/pr/toledo-area-man-senten… | 2024-03-20 | Terrence L. Pounds | Toledo Area Man Sentenced to 94 Months in Prison for Covid … | NDOH | PPP/EIDL | conspiracy, wire fraud, money laundering, false statements | conspiracy to commit wire fraud, wire fraud and money laund… | sentenced | Terrence L. Pounds, 47, of Holland, Ohio was sentenced to 9… | 94.0 | 0.0 | 3.0 | 4239940.0 | 9500000.0 | 4239940.43 | DOJ press release dollar_amount field | dr-fact-checked | PPP borrower fraud | Toledo 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-f2a6c2df69f7 | doj_press_release | https://www.justice.gov/usao-nj/pr/bergen-county-man-senten… | 2025-05-30 | George Leguen | Bergen County Man Sentenced to Twenty Months in Prison for … | D.N.J. | EIDL | wire fraud, money laundering | wire fraud, money laundering | guilty plea | In addition to the prison term, Judge Arleo sentenced Legue… | 20.0 | 3.0 | 174426.37 | 149900.0 | 149900.0 | EIDL loan proceeds received | dr-fact-checked | EIDL borrower fraud | Bergen 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-cc6d1cab0185 | doj_press_release | https://www.justice.gov/usao-nj/pr/camden-county-woman-sent… | 2023-05-02 | Rhonda Thomas | Camden County Woman Sentenced to Five Years in Prison for F… | DNJ | PPP, EIDL | bank fraud, conspiracy, money laundering | Conspiracy to commit bank fraud (18 U.S.C. 1349); Money la… | plea | sentenced to five years in prison for fraudulently obtainin… | 60.0 | 0.0 | 5.0 | 3180000.0 | 1030000.0 | 3180000.0 | obtained | dr-fact-checked | PPP borrower fraud | Camden 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-febb8bfaeb82 | doj_press_release | https://www.justice.gov/usao-hi/pr/former-hawaii-ceo-senten… | 2025-02-13 | Martin Kao | Former Hawaii CEO Sentenced to 87 Months Imprisonment on Co… | HI | PPP | wire fraud, money laundering, bank fraud | COVID-relief wire fraud, money laundering, and bank fraud | sentenced | Martin Kao, 51, of Honolulu, was sentenced today in federal… | 87.0 | 0.0 | 5.0 | 12841490.0 | 12841490.0 | 15841490.0 | DOJ press release dollar_amount field | dr-fact-checked | tax preparer or tax-credit fraud | Former 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-f5b49372c137 | doj_press_release | https://www.justice.gov/usao-ndny/pr/albany-man-sentenced-p… | 2024-07-25 | Scott Solomon | Albany Man Sentenced to Prison for Pandemic Relief Fraud | NDNY | PPP | bank fraud | two counts of bank fraud | guilty_plea | Scott Solomon, age 38, of Albany, was sentenced today to 13… | 13.0 | 3.0 | 163993.0 | 163993.0 | 163993.0 | obtained | dr-fact-checked | PPP borrower fraud | Albany 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-d022aee58047 | doj_press_release | https://www.justice.gov/usao-cdil/pr/rossi-sentenced-additi… | 2025-07-17 | Aaron Rossi | Rossi Sentenced to an Additional Three Years in Prison for … | CDIL | Healthcare/COVID-testing | wire fraud, mail fraud, false claims | wire fraud, mail fraud, false claims | guilty plea | Aaron Rossi, 42, of Morton, Illinois, was sentenced on July… | 37.0 | 3000000.0 | 1000000.0 | 525520.61 | total combined loss from false billing for COVID tests | dr-fact-checked | other pandemic relief fraud | Rossi 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-be79f115eb95 | doj_press_release | https://www.justice.gov/usao-cdca/pr/sunland-man-sentenced-… | 2021-09-24 | Andranik Amiryan | Sunland Man Sentenced to Nearly 3½ Years in Federal Prison … | CDCA | PPP | conspiracy, bank fraud, identity theft | conspiracy, bank fraud, identity theft | guilty plea | A Sunland resident has been sentenced to 41 months in feder… | 41.0 | 650600.0 | 275000.0 | 650600.0 | Paycheck Protection Program loan obtained | dr-fact-checked | identity/UI fraud | Sunland 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-f881738fa009 | doj_press_release | https://www.justice.gov/usao-sdga/pr/emanuel-county-woman-s… | 2021-07-15 | Tracy Kirkland | Emanuel County woman sentenced after admitting to defraudin… | SDGA | EIDL | wire fraud | wire fraud | plea | Tracy Kirkland, 41, of Swainsboro, was sentenced to 33 mont… | 33.0 | 0.0 | 3.0 | 66400.0 | 16250.0 | 66400.0 | obtained | dr-fact-checked | EIDL borrower fraud | Emanuel County woman sentenced after admitting to defraudin… | parsed from source sentence phrase; DOJ public source statu… | 2.75 |
| doj:66626551-8577-4e88-9b0c-bdb839256d68 | doj_press_release | https://www.justice.gov/usao-sdga/pr/georgia-man-sentenced-… | 2023-09-27 | Dennis Rodriguez Kinchen | Georgia man sentenced for key role in drug trafficking ring… | Southern District of Georgia | Unclassified pandemic relief | conspiracy, money laundering, bank fraud | Conspiracy to Possess with Intent to Distribute, and to Dis… | plea | Dennis Rodriguez Kinchen of Dublin, Ga., was sentenced to 1… | 150.0 | 4.0 | 350236.0 | 297336.0 | 570236.54 | forfeiture | dr-fact-checked | other pandemic relief fraud | Georgia 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
| File | Rows | Size | SHA-256 | |
|---|---|---|---|---|
pandemic-fraud-sentences.csvCSV, UTF-8, header row | 1,133 | 3,252,282 B | 42ec5e160bf767afa8b2c3d22ac33c5f50402a386224010d0aad522529d19e55 | Download ↓ |
dictionary.csvdata dictionary, 97 rows | 97 | — | built with this page | Download ↓ |
Columns
| Column | Type, measured | Blank | Distinct | Range / values | Meaning |
|---|---|---|---|---|---|
record_id | text | 0 | 1,133 | Stable identifier; prefixed with the source family (for example doj: plus the DOJ UUID). | |
source_family | text | 0 | 5 | doj_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_url | text | 48 | 883 | The announcement or document the row was coded from. | |
source_date | text | 48 | 719 | Date of that source. | |
defendant | text | 0 | 1,045 | Defendant name as the source states it. | |
case_or_group | text | 255 | 853 | Case caption, headline, or the group the source describes. | |
district | text | 15 | 230 | Federal district or state authority. | |
program_category | text | 0 | 111 | Program defrauded: PPP, EIDL, PPP/EIDL, UI, state UI variants, or unclassified pandemic relief. | |
fraud_type | text | 345 | 223 | Fraud pattern in the source's own terms. | |
charge | text | 60 | 606 | Statutes or charge names. | |
conviction_path | text | 13 | 43 | Plea, trial, or a pending status. | |
sentence_text | text | 43 | 1,054 | The sentence as written in the source. | |
sentence_months | number | 103 | 122 | 0 – 10K · median 36 | Custodial sentence in months; blank if non-custodial or unstated. |
probation_years | number | 728 | 16 | 0 – 36 · median 0 | Probation term, years. |
supervised_release_years | number | 660 | 8 | 0 – 5 · median 3 | Supervised release term, years. |
restitution_usd | number | 243 | 737 | 0 – 903M · sum $3.8B · median $525K | Restitution ordered, dollars. |
forfeiture_usd | number | 904 | 184 | 0 – 46.4M · sum $469.6M · median $600K | Forfeiture ordered, dollars. |
amount_usd | number | 38 | 721 | 500 – 649B · sum $4772.3B · median $709K | Loss, intended loss, or amount obtained, dollars. |
amount_basis | text | 0 | 343 | What amount_usd represents (obtained, sought, loss found at sentencing, …). | |
source_confidence | text | 0 | 12 | dr-fact-checked (965), dr-medium-confidence (59), fact-checked (44), docket/article source pack (17), pacer-verified (15), court-file/source-summary (9) | |
comparison_bucket | text | 280 | 7 | PPP 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_excerpt | text | 0 | 1,067 | The passage the numbers were taken from. | |
extraction_notes | text | 0 | 408 | How the row changed across builds and what the extractor could not resolve. | |
sentence_years | number | 103 | 121 | 0 – 833.25 · median 3 | The same in years. |
has_numeric_sentence | boolean (True/False) | 0 | 2 | True (1,030), False (103) | |
source_fetch_issue | boolean (True/False) | 0 | 1 | False (1,133) | How the row changed across builds and what the extractor could not resolve. |
requires_pacer_followup | boolean (True/False) | 0 | 1 | False (1,133) | True when the sentence or amount could only be confirmed from the docket. |
high_confidence_for_analysis | boolean (True/False) | 0 | 2 | True (1,076), False (57) | True when the row is fit to aggregate; 1,076 rows. |
_change_notes | text | 43 | 982 | How the row changed across builds and what the extractor could not resolve. | |
_dedupe_key | text | 0 | 1,133 | How the row changed across builds and what the extractor could not resolve. | |
data_quality_tier | text | 0 | 8 | dr-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_type | text | 0 | 5 | name_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_included | boolean (True/False) | 0 | 2 | True (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_conspiracy | boolean (True/False) | 0 | 2 | False (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_type | text | 895 | 14 | 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_attempted_or_sought | boolean (True/False) | 0 | 2 | False (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_terms | text | 1,005 | 37 | 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_has_exact_attempt_charge | boolean (True/False) | 0 | 1 | False (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_type | empty | 1,133 | 0 | 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_has_blocked_rejected_unfunded_language | boolean (True/False) | 0 | 2 | False (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_terms | text | 1,123 | 6 | denied (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_conduct | text | 1,005 | 1 | alleged_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_context | text | 515 | 327 | 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_lender_pattern | boolean (True/False) | 0 | 1 | False (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_pattern | boolean (True/False) | 0 | 1 | False (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_account | boolean (True/False) | 0 | 1 | False (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_ip | boolean (True/False) | 0 | 1 | False (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_ssn | boolean (True/False) | 0 | 1 | False (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_email | boolean (True/False) | 0 | 1 | False (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_overlap | boolean (True/False) | 0 | 2 | False (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_platforms | boolean (True/False) | 0 | 1 | False (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_needed | boolean (True/False) | 0 | 1 | False (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_pattern | text | 515 | 45 | 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. | |
legal_filing_case_slugs | text | 1,118 | 8 | staveley-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_names | text | 1,118 | 8 | United 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_status | text | 515 | 2 | no_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_paths | text | 1,118 | 8 | cases/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_rows | number | 515 | 9 | 0 – 710 · median 0 | 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_pdf_rows | number | 515 | 9 | 0 – 335 · median 0 | 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_public_recap_pdf_rows | number | 515 | 7 | 0 – 55 · median 0 | 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_existing_project_pdf_rows | number | 515 | 6 | 0 – 53 · median 0 | 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_official_doj_pdf_rows | number | 515 | 2 | 0 – 1 · median 0 | 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_gap_rows | number | 515 | 9 | 0 – 172 · median 0 | 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. |
bop_lookup_status | text | 0 | 4 | matched (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_confidence | text | 356 | 3 | high (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_date | text | 447 | 488 | 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_date_type | text | 447 | 2 | actual (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_number | text | 447 | 620 | 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_name | text | 447 | 620 | 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 | integer | 447 | 50 | 24 – 77 · median 45 | 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_sex | text | 447 | 2 | Male (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_race | text | 447 | 4 | Black (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_location | text | 447 | 98 | 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_facility_code | text | 493 | 111 | 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_facility_type | text | 493 | 11 | RRM (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_code | text | 762 | 1 | R (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_count | number | 287 | 43 | 0 – 138 · median 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_candidate_count_after_filters | number | 287 | 37 | 0 – 125 · median 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_lookup_query | text | 287 | 784 | 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_lookup_date | date (ISO) | 0 | 1 | 2026-06-24 – 2026-06-24 | 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_lookup_source_url | text | 0 | 1 | https://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_path | text | 447 | 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_status | text | 447 | 1 | captured_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_at | empty | 1,133 | 0 | 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_source_url | text | 447 | 1 | https://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_notes | text | 0 | 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. | |
source_age_at_sentence | number | 606 | 52 | 19 – 75 · median 42 | |
source_age_basis | text | 606 | 6 | name_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_count | number | 287 | 6 | 1 – 6 · median 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_match_strategy | text | 356 | 6 | age_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_confirmed | boolean (True/False) | 366 | 2 | True (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_plausible | boolean (True/False) | 366 | 1 | True (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_sentence | empty | 1,133 | 0 | Age and register number found in the sentencing documents themselves, with the evidence path and snippet. | |
court_text_register_number | text | 1,128 | 3 | 91425-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_path | text | 1,128 | 3 | cases/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_basis | text | 1,128 | 1 | court_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_snippet | text | 1,128 | 3 | ) ) ) ) ) ) ) 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_idis the key (0 duplicates), prefixed by source family:doj:830,oig:132,stateag:123,curated:37,local:11. Thedoj: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_dateis 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
TrueandFalse(has_numeric_sentence,high_confidence_for_analysis, theppp_*flags);requires_pacer_followupisFalseon every row in this release. - Money columns are dollars.
amount_usdexceeds $1 billion on 13 rows (nationwide or scheme-wide figures, seeamount_basis);restitution_usdis blank on 243 rows and zero on a few, which are different facts. conviction_pathis 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_sentencebefore 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.
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