2026-05 · Platform
A small Texas city needed its collections batch reviewed by one external person who is not an engineer. The console is a court-branded magic-link login, a large-type guided wizard, and a hard rule that the database and the browser never see a Social Security number, a date of birth, or a street address.
14
merges on the surface
n/a
records reviewed: no metric captured
n/a
support requests after handoff: no metric captured
A municipal court's collections submission arrived as PII-bearing exports and memos. Someone outside the city's IT had to review each record and record a disposition, and the existing process was hand work over sensitive files.
The reviewer is a clerk with a browser, not an engineer. Real client data can never sit in git, and the application tier can never hold the identifiers that make a court export sensitive.
Redact at the boundary and build the console for the reviewer: a pass that blanks SSN, date of birth, license number, address, ZIP, phone, and email while keeping names; an auth-gated review console behind a court-branded magic-link login; a plain-language guided wizard with a finish flow; document serving with an in-app reader and PDF download; an onboarding email that carries the end-to-end instructions; and an admin runbook.
Rejected
Load the raw exports into the app database
Then the database is the PII. The database and the browser only ever see minimal, low-sensitivity display fields, and the raw exports stay git-ignored in private storage.
Narrative documentation for the reviewer
Reads well, fails in practice. The wizard verifies each step where it happens, and the instructions email walks the whole flow end to end.
An accuracy pass on the submission batch, the review console, the guided wizard and court login, document serving and an in-app reader, the reviewer onboarding email, and the admin runbook, in use by the city.
The reviewer's access grant was committed to the repository's permissions file. #1918 moved it to an environment override so no client detail sits in git, which is the rule the redaction pass already enforced for records and should have covered the access list from day one.
Accuracy pass: Josephine TX collections submission (Batch JOSEPHINE-20260527)
#570 · 2026-05-28 · feature
Auth-gated Josephine collections review console
#571 · 2026-05-28 · feature
Josephine console: guided wizard, court login, doc serving, finish flow
#573 · 2026-05-28 · docs
Redaction --src default + Josephine admin runbook
#574 · 2026-05-28 · feature
Add reviewer onboarding email for Josephine collections
#579 · 2026-05-28 · feature
Josephine TX docs: PDF download, download-all, and an in-app reader
#581 · 2026-05-29 · docs
Remove Josephine client PII from committed permissions.json (#1806)
#1918 · 2026-07-08 · feature
Checked at build against the published corpus.
www.jakelawrence.xyz/research/case-study-library/josephine-collections-console
Cite: Lawrence, J. (2026). A court-collections review console a non-technical reviewer can finish alone. jakelawrence.xyz case study library.
I design and ship AI tools, full-stack apps, and data pipelines — end to end, to production. Tell me the problem in a sentence; I'll give you an honest read on fit within a day.
Work with me →