Records request and secure intake

Bring CourtScope to your city

Request the complete records, package them correctly, and upload the finished de-identified dataset for private CourtScope review.

Public submission

Upload a complete city-data package

This is the missing receiving lane. Your ZIP goes into private R2 quarantine, appears in the protected admin review queue, and does not enter GitHub or become public until an owner approves it.

Do not upload names or direct identifiers. The automated repository lane accepts only a complete, de-identified, machine-readable package. Email info@courtscope.org before sending raw records or files larger than 50 MB.

Your ZIP must contain

  1. manifest.jsonUse the CourtScope manifest and mark every completeness and privacy check true only when verified.
  2. One CSV or JSON datasetThe filename must match the manifest.
  3. A data dictionaryTXT, Markdown, CSV, JSON, or PDF; the filename must match the manifest.
1

City and coverage

These values must match manifest.json.

2

Source and contact

Private admin-use information.

3

Complete ZIP package

Maximum 50 MB.

Who to contact

Start with the office that keeps the official records

Office names differ across the country. Use official court and government directories to identify the records custodian.

Court clerk or records office

Usually holds case, disposition, and sentence records.

Ask for the criminal case-management export, coverage notes, data dictionary, and correction history.

Court administration or court IT

Often understands databases, judge identifiers, retired systems, and export limits.

Contact this office when the clerk can provide documents but not a complete machine-readable dataset.

State court administrative office

May hold statewide or multi-county extracts.

Ask whether it maintains a central criminal case warehouse and whether local courts must approve release.

County or city public-records officer

Routes requests under the local public-records process.

Use this contact when the court directs records requests through a central portal or legal office.

Prosecutor, corrections, or jail data office

May hold fields missing from court exports.

These offices can sometimes fill documented gaps, but their data must be reconciled with the court source.

Local elections office

Usually holds election and office-term facts, not sentencing data.

Use it later to verify election context. Election facts never change the Disparity Score.

Before you send

Ask for a complete export

Request the full declared court scope and require omitted years, divisions, judges, or sentence fields to be identified.

Hard rule: Incomplete data is rejected. It is not published as “almost ready.”

  • Official or authorized source with clear reuse terms
  • Every declared court and division is covered
  • Stable case identifiers and verified judge identities
  • Race, offense, prior record, plea/trial, age, gender, and disposition fields
  • Sentence date, incarceration outcome, and sentence length
  • Documented date coverage with no unexplained gaps
  • A data dictionary and correction history
  • Privacy review and a safe public projection

Copy and adapt

Sample email requests

Initial request for complete sentencing data
Follow-up when coverage is unclear
What to say when an office offers PDFs only

Thank the office, then ask whether the same records can be exported from the case-management system in CSV, JSON, spreadsheet, fixed-width, or database format. Explain that a machine-readable export is necessary to check completeness across all cases.

What to say when different offices hold different fields

Ask each custodian for a stable join key, field definitions, date coverage, and known exclusions. Do not assume two files can be combined merely because case numbers look similar.

After upload

From private package to live city

Private receipt

The ZIP is stored in a non-public R2 intake folder and recorded in D1.

Admin review

An owner checks source authority, privacy, and whether the package is ready for repository processing.

Automated validation

The approved package enters the repo intake workflow and faces every completeness, identity, privacy, and statistical gate.

Publish or reject

Passing batches create the city dashboard and public downloads. Failing batches are rejected with reasons.

Retention cleanup

Processed or rejected private uploads move into controlled retention lanes for later admin cleanup.

New here

1 / 4

What is CourtScope?

CourtScope examines many cases to find racial gaps in sentencing outcomes.