← Review Hub / Website Roles

The DOJ website has two faces

Every visitor sees the same public, read-only site — Home, Public Records, the Penal Code, the DOJ Library, and Careers. Anyone can browse those without an account. The logged-in dashboard is different for every role: after you sign in, the #dashboardSection shell swaps in a role-specific stack of panels (renderDashboardByRole() in js/dashboard.js). Login is passcode-based and only offered from an in-city DOJ terminal or the CrestWood phone app — a plain browser visit never even shows a passcode field. The header title reads Name (role), with a mail, settings, and notification bell to its right.


status green = active / approved / paid status amber = pending / due status red = denied / overdue / warrant gold badge = a capability the role holds flag = a gap / dead code in the real system

Everything below is a faithful mock of the real panels each role renders, filled with invented records (case numbers, names, dates). Real labels, button text, section titles, and access rules are preserved from the source.

👥 Pick a role to preview its dashboard
Judicial & Court Staff
Legal (Advocates & Firms)
Law Enforcement
Citizen

Hon. Marcus Vale (judge)

✉️
⚙️
🔔3
sealcourt_actions order_expungementsentencing submit_recusal Bar Exam required
✅ Daily Tasks
  • Review pending sentencing for CW-1042Today
  • Confirm docket assignments before 9PMToday
🔔 DOJ Notifications
New assignment — you were assigned to preside over CW-1071
07/18/2026 4:12 PM
new
Clerk accepted your official letter to the DA's office
07/17/2026
read
📣 Post to the City Bulletin
Court closed 07/24 for maintenance
Post Bulletin
⚖️ Bail Administration Refresh
BL-2207 — $25,000 (hearing_required · set)
CID: CW77413 · Case CW-1055 · Paid by —
GrantDenyForfeit
BL-2198 — $8,000 (bailable · posted)
CID: CW51220 · Paid by Ava Whitmore
ForfeitRefund
⚖️ Court Sessions
Case No (e.g. CW-XXXXXX)
📅 date / time
Courtroom 1
Schedule hearing
CW-1042 — Courtroom 1 · 07/20/2026 6:00 PM
Presiding: Hon. Marcus Vale
in_session
CW-1071 — Courtroom 2 · 07/22/2026 7:30 PM
Presiding: Hon. Marcus Vale
scheduled
Show past sessions
🔐 Property Warrant — Judge Sign-off

Judge-signed access to hidden properties. Works only with property IDs — hidden listing metadata is never sent to this panel.

Warrant request on Property #418 — requested by Det. R. Kowalski
Reason: narcotics investigation · 07/18/2026
SignDeny
🏛️ Court Level: Superior Court
Assigned to you
CW-1042 Criminal · The State v. Ricky Lafleur
In Trial
CW-1055 Civil · Cortez v. Delgado
Pre-Trial
📆 My Docket — Pending Assignments
CW-1071 — Courtroom 2 · 07/22/2026 7:30 PM
Yes — I accept this assignmentRequest RecusalMake Private
⚙️ Actions
Recusal RequestSubmit SentencingOfficial Letter
📅 Scheduling

Two-week availability grid + pay period. Buttons: Request Leave, Update Availability.

📖 Training Guide
Open Training Materials

Hon. Eleanor Pike (chief justice)

✉️
⚙️
🔔1
Passes EVERY capability full manage_usersmanage_firms Bar Exam required
✅ Daily Tasks
  • Review recusal queueWeekly
🔔 DOJ Notifications
Recusal filed by Hon. Marcus Vale on CW-1088
07/18/2026
new
📣 Post to the City Bulletin
Post Bulletin
⚖️ Court Sessions
CW-1088 — Courtroom 1 · 07/23/2026 6:00 PM
scheduled
🔐 Property Warrant — Judge Sign-off
No pending property-warrant requests.
👥 Manage Users
Edit User Roles

Chief Justice + Admin get the full user-management cap: create, delete, role change, suspend, reset passcode.

🔨 Recusal Queue Refresh
Case CW-1088 — Hon. Marcus Vale
Conflict of interest — prior representation · 07/18/2026
ApproveDeny
🗄️ Expunged Records Refresh
CW-0991
Ordered by Governor · Shredded by clerk1 · 07/10/2026
Restore
🗃️ Demo / Mock Data

Demo data is LOADED — 214 rows.

Remove demo data — city go-live
💼 Law Firms Register Law Firm Refresh
Cole Law Office active
3 members · Owner: Diane Cortez
📅 Scheduling

Availability grid + Request Leave / Update Availability.

📖 Training Guide
Open Training Materials

Priya Nandakumar (master clerk)

✉️
⚙️
🔔5
manage_users_limitedmanage_firms sealreview_filings issue_licensesmanage_templates exam_adminprint_desk Bar Exam required
✅ Daily Tasks
  • Clear pending filings queueToday
🔔 DOJ Notifications
3 new filings awaiting review
07/19/2026
new
📄 New Filing
📄 Case Filing💍 Marriage🚗 Property🏢 Professional
👥 User Management
Manage Users

Master Clerk holds manage_users_limited: approve/deny, role change (below judge), reset, suspend — but not create/delete users (that needs full manage_users).

📥 Pending Filings Refresh
Case Filing Submitted by Ava Whitmore · city window
07/19/2026 2:41 PM
Marriage Registration Submitted by clerk1 · terminal
07/19/2026 11:05 AM
✔️ Issuance Queue 2 issuable File Today's Issuances
Driver's License — Ricky Lafleur
CID: CW77413 · Applied 07/18/2026
Issue License
🧾 DOJ Invoices Refresh
INV-3312 — $1,200 unpaid
Ava Whitmore · Bar Examination fee · 07/17/2026
Void
📑 Permit Queue Refresh
Unit #12 (Vinewood Apt 4B) — Building permit ($2,500)
Requested by Diane Cortez on 07/18/2026
ApproveDeny
🎓 Examinations Open Examination Terminal
Register Examination Candidate
Candidate Name
Citizen ID (optional)
Bar Examination ▾
Register & Issue Invoice
Examination Statistics exam_admin only
ExaminationSittingsPassedPass Rate
Bar Examination341235%
DMV Knowledge Test1219881%
Master Unlock
Examination Code
Unlock for Immediate Retake
🏦 Examination Scores Refresh
Ava Whitmore · BarFailed 61%
Ricky Lafleur · DMVPassed 88%
🔨 Recusal Queue Refresh
No pending recusal requests.
🖨️ Property Closings — Print to Sign

DOJ document engine (D1): print a deed to sign at the in-city printer.

Closing: 217 Grove St — buyer Diane Cortez
Awaiting signatures
Print to Sign
💼 Law Firms Register Law Firm Refresh
Cole Law Office active
3 members · Owner: Diane Cortez
📅 Scheduling

Availability grid + Request Leave / Update Availability.

📖 Training Guide
Open Training Materials

Tobias Reyes (clerk)

✉️
⚙️
🔔4
review_filingsissue_licenses print_deskexam_register
✅ Daily Tasks Refresh
  • Check Discord ticketsToday
  • Process new filingsWithin 24h
  • Update daily docket by 9PMToday
🔔 DOJ Notifications
Marriage filing returned for correction
07/19/2026
read
📄 New Filing
📄 Case Filing💍 Marriage🚗 Property🏢 Professional
📥 Pending Filings Refresh
Case Filing Submitted by Ava Whitmore · city window
07/19/2026 2:41 PM
Property Deed Submitted by Ricky Lafleur · terminal
07/19/2026 9:20 AM
✔️ Issuance Queue 1 issuable File Today's Issuances Refresh
Weapons License — Diane Cortez
CID: CW51220 · Applied 07/18/2026
Issue License
🧾 DOJ Invoices Refresh
INV-3319 — $500 paid
Ricky Lafleur · Driver's License fee · 07/18/2026
📑 Permit Queue Refresh
No permits awaiting approval.
🎓 Examinations Open Examination Terminal
Register Examination Candidate
Candidate Name
Citizen ID (optional)
Bar Examination ▾
Register & Issue Invoice

Clerks can register candidates (exam_register) but not the exam-admin stats/master-unlock (Master Clerk only).

🖨️ Property Closings — Print to Sign
Closing: 217 Grove St — buyer Diane Cortez
Awaiting signatures
Print to Sign
📅 Scheduling

Availability grid + Request Leave / Update Availability.

📖 Training Guide
Open Training Materials

Dwayne Foster (bailiff)

✉️
⚙️
🔔2
No special capabilities — read-only docket + notify the bench
✅ Daily Tasks
  • Secure Courtroom 1 before 6PM sessionToday
🔔 DOJ Notifications
Session CW-1042 moved to Courtroom 1
07/19/2026
new
🛡️ Court Docket Refresh
CW-1042 — Courtroom 1 in_session
07/20/2026 6:00 PM · Presiding: Hon. Marcus Vale
CW-1071 — Courtroom 2 scheduled
07/22/2026 7:30 PM · Presiding: Hon. Marcus Vale
💬 Notify the Bench
Message JudgeMessage Clerk
📅 Scheduling

Availability grid + Request Leave / Update Availability.

📖 Training Guide
Open Training Materials

Lena Ortiz (reporter)

✉️
⚙️
🔔1
No special capabilities — posts transcript links to the Clerk's office
✅ Daily Tasks
  • Post CW-1042 hearing transcriptToday
🔔 DOJ Notifications
Clerk requested transcript for CW-1055
07/18/2026
new
⬆️ Transcripts
Upload Transcript URL

Prompts for a case number + URL, then sends the link to the Clerk/Admin office as a structured DOJ message.

📅 Scheduling

Availability grid + Request Leave / Update Availability.

📖 Training Guide
Open Training Materials

Grant Halloran (marshal)

✉️
⚙️
🔔0
No special capabilities Bar Exam required — federal court security via structured messages
✅ Daily Tasks
  • Coordinate prisoner transport for CW-1042Today
🔔 DOJ Notifications
No new notifications.
🎖️ U.S. Marshal Dashboard

Federal court security and prisoner transport.

🚚 Actions
Request Prisoner TransportReport Security Incident

Both open a pre-filled mail compose to Police (a security incident also copies the Judge).

📅 Scheduling

Availability grid + Request Leave / Update Availability.

📖 Training Guide
Open Training Materials

Vivian Marsh (district attorney)

✉️
⚙️
🔔6
pd_queuefile_charges court_actionssubmit_recusal print_deskBar Exam required

The DA/prosecutor use the Cole-Law-styled in-dashboard office layout (js/lawoffice.js) — their DOJ Notifications card lives inside that layout, so the generic one is suppressed.

Office of the District Attorney SASBA LICENSED · SAN ANDREAS
District Attorney · Vivian Marsh
Manage Practice & Team →
🔔 DOJ Notifications
New defense request from Ava Whitmore (indigent)
07/19/2026
new
📅
Court Calendar
Hearings & schedule
📖
Study & Reference
DOJ Library & cheat sheet
🎓
Skill Building
Training & bar exam
📝
Forms & Filings
File without the clerk
📊 My Records
18
Cases on File
7
Open Matters
📅 Court Calendar + Add
Court Hearing — CW-1042
Courtroom 1 · Hon. Marcus Vale
2026-07-20 18:00
📁 Client Files + New Client Refresh
CW-1042 · The State v. Ricky Lafleur In Trial
Criminal · Filed 07/12/2026 · Next court: 07/20/2026
Open full file & briefcase →

code note A "Case Files — Prosecution" variant exists in lawoffice.js but isProsecution is hard-coded false, so even the DA currently sees "Client Files".

⚙️ Actions
Recusal Request
⚙️ Actions (DA)
File ChargesRequest Evidence
👥 Public Defenders Refresh
Ava Whitmore indigent
Requests counsel for CW-1090 · 07/19/2026
Select PD ▾
AppointNotify PD Office

The PD assignment queue is DA-only (cap pd_queue). A prosecutor gets the same File Charges / Request Evidence actions but not this queue.

📋 Examination Scores Refresh
Public defenders' Bar sittings (read-only)
Jordan Blake · BarPassed 74%
📣 Post to the City Bulletin
Post Bulletin
⚖️ Bail Administration
BL-2207 — $25,000 (hearing_required · set)
GrantDeny
⚖️ Court Sessions
CW-1042 — Courtroom 1 · 07/20/2026 6:00 PM
in_session
📅 Scheduling

Availability grid + Request Leave / Update Availability.

📖 Training Guide
Open Training Materials

Nathan Cole (prosecutor)

✉️
⚙️
🔔2
file_chargescourt_actions submit_recusalBar Exam required

Same Cole-Law office layout as the DA, but thinner: no PD queue, no Bail Administration, no Court Sessions, no City Bulletin, no Exam Scores.

Prosecutors' Office UNLICENSED
Prosecutor · Nathan Cole
🔔 DOJ Notifications
Evidence attached to report #204
07/18/2026
new
📅
Court Calendar
Hearings & schedule
📖
Study & Reference
DOJ Library
🎓
Skill Building
Training & bar exam
📝
Forms & Filings
File without the clerk
📊 My Records
6
Cases on File
3
Open Matters
📁 Client Files + New Client Refresh
CW-1090 · The State v. Ava Whitmore Filed
Criminal · Filed 07/19/2026
Open full file & briefcase →
⚙️ Actions
Recusal Request
⚙️ Actions (DA)
File ChargesRequest Evidence
📅 Scheduling

Availability grid + Request Leave / Update Availability.

📖 Training Guide
Open Training Materials

Diane Cortez (private attorney)

✉️
⚙️
🔔1
submit_recusalBar Exam required note the register dropdown value is attorney; the live role is private_attorney

Private-practice roles get a light DOJ dashboard here — their real workspace is the full-page DOJ LAW OFFICE takeover (the Cole-Law-styled SPA served by lawsites/index.php), opened by the button below.

🔔 DOJ Notifications
Judge scheduled a hearing on your client's case CW-1055
07/18/2026
new
⚖️ Open the DOJ LAW OFFICE →
Your practice, clients & filings
⚙️ Actions
Recusal Request

Below: the reused Citizen panel (attorneys are not "citizens" for filing, but keep the citizen self-service cards)

🧾 My Invoices Refresh
Invoice #DescriptionAmountStatusIssued
INV-3288Bar renewal$2,000paid07/10/2026

Pay unpaid invoices in person at the city service window at City Hall (the Invoices desk).

🏠 My Property Bills Refresh

Due: $0 · Overdue: $0 · Paid (history): $1,400

Read-only — pay property bills in-game with /bills.

🎓 Examinations & Study
Take an ExaminationStudy — Bar ExamStudy — DMV Written Test
Driver's Handbook & Bar Study Guide →
✔️ Licensing
Apply for a License
✍️ File with the DOJ (Self-Representation)
File a CaseFile a MarriageFile a Property DeedFile a Professional Registration
📁 My Cases Refresh
CW-1055 — Civil
Pre-Trial · Counsel: Diane Cortez
Represent Myself

Jordan Blake (public defender)

✉️
⚙️
🔔2
submit_recusalBar Exam required

Same law-office branch as a private attorney, plus one extra action button.

🔔 DOJ Notifications
DA flagged open defense request DR-14 for appointment
07/19/2026
new
⚖️ Open the DOJ LAW OFFICE →
Your practice, clients & filings
⚙️ Actions
Recusal RequestSubmit Criminal Report to DA

Reused Citizen panel (invoices, bills, exams, licensing, self-file, my cases)

🧾 My Invoices Refresh
You have no invoices.
📁 My Cases Refresh
CW-1090 — Criminal
Appointed · Client: Ava Whitmore
Represent Myself

Mina Sato (paralegal)

✉️
⚙️
🔔0
review_filings
Heads-up — two discrepancies found in the real code:
  • dead code A dedicated "Paralegal — Filing Tools" panel (Case/Marriage/Property/Professional buttons) is written in dashboard.js, but paralegal is caught earlier by the LAW_OFFICE_ROLES branch, so that panel never renders.
  • unwired The Recusal Request button renders for a plain paralegal but its click handler is only attached for attorney/PD roles — so it does nothing here (and paralegals lack the submit_recusal cap anyway).

What actually renders: the law-office branch — DOJ LAW OFFICE button + Actions + the reused Citizen panel.

🔔 DOJ Notifications
No new notifications.
⚖️ Open the DOJ LAW OFFICE →
Your practice, clients & filings
⚙️ Actions
Recusal Request (unwired)
🧾 My Invoices
You have no invoices.
✍️ File with the DOJ (Self-Representation)
File a CaseFile a MarriageFile a Property DeedFile a Professional Registration

Officer J. Boyd (police)

✉️
⚙️
🔔3
mdtbackground_checks — no Daily Tasks, no Scheduling card
🔔 DOJ Notifications
DA requested evidence for CW-1042
07/19/2026
new
🖥️ Mobile Data Terminal Officer: J. Boyd
Dispatch Person Lookup Plate Lookup Warrants BOLOs Reports Bail Roster Background Checks License Lookup
Dispatch FeedRefresh
P1 10-90 Bank Alarm — Fleeca, Legion Sq
📍 Legion Square · Caller: Anonymous · POLICE
6:04 PM
P2 10-50 Traffic collision
📍 Vinewood Blvd · Caller: Diane Cortez
5:47 PM
Search by name or citizen ID…
Search
Ricky Lafleur CID: CW77413 · Phone: 555-0192
⚠ 1 ACTIVE WARRANT
Rap Sheet
Warrants (1)
Arrest — Grand Theft Auto · Issued by Officer J. Boyd
Citations (2)
Speeding, No insurance · $850 · paid
Bookings (1)
Licenses (2)
Criminal Records (3)
Enter plate…
Run Plate
🚨 ACTIVE BOLO — FLAGGED PLATE
46XYZ221
Model: Sultan RS · Owner: Ricky Lafleur (CW77413)
Garage: Legion · Status: Out / In use
Issue Warrant
Subject name *
Citizen ID
Arrest ▾
Reason *
Issue Warrant
Active WarrantsRefresh
Ricky Lafleur arrest (CW77413)
Grand Theft Auto · Issued by Officer J. Boyd · 07/18/2026
Resolve
Create BOLO
Person ▾
Subject
Plate
Create BOLO
Active BOLOsRefresh
vehicle 46XYZ221
Blue Sultan RS, fled traffic stop · By Officer J. Boyd
Resolve
File Criminal Report
Defendant name *
Citizen ID
Bodycam URL
Charge — e.g. (PC 31.03) Theft
+ Add ChargeFile Report
ReportsRefresh
#204 — Ricky Lafleur Case CW-1042
Grand Theft Auto, Evading · Officer J. Boyd · 07/18/2026
pending
Bail RosterRefresh
BookingDefendantChargesBailBail StatusStatus
BK-5521Ricky LafleurGTA$25,000setin_custody
BK-5510Marco VidalAssaultNOT BAILABLEserving
Background Check QueueRefresh
Weapons License — Diane Cortez
CID: CW51220 · 3 record(s) · 1 active warrant(s) · Applied 07/18/2026
ClearDeny
Citizen ID…
Look Up
TypeLicense No.StatusPointsExpires
Driver'sDL-77413valid407/2027
WeaponsWL-77413suspended
📖 Training Guide
Open Training Materials

Harriet Okonkwo (inspector)

✉️
⚙️
🔔1
review_filingsfile_inspection Bar Exam required
🔔 DOJ Notifications
Complaint filed against Cutie's Coffee — health
07/19/2026
new
📋 Inspections

Health, business, and building inspections — one office, any specialty.

📋 File Inspection Report🚩 Flag Violation to DA
📥 Pending Filings Refresh

Inspectors reuse the clerk's pending-filings queue as their "past reports" view.

Inspection Report Submitted by Harriet Okonkwo
Cutie's Coffee — passed w/ 1 note · 07/17/2026
📅 Scheduling

Availability grid + Request Leave / Update Availability.

📖 Training Guide
Open Training Materials

Ava Whitmore (citizen)

⚙️
🔔0
No special capabilities — login-only self-service; can only mail the Clerk; no Scheduling / Training / mail-bell-by-default
🔔 DOJ Notifications
Your Bar Examination code was issued
07/17/2026
read
🧾 My Invoices Refresh
Invoice #DescriptionAmountStatusIssued
INV-3312Bar Examination fee$1,200unpaid07/17/2026
INV-3290State ID replacement$250paid07/11/2026

Pay unpaid invoices in person at the city service window at City Hall (the Invoices desk).

🏠 My Property Bills Refresh

Due: $850 · Overdue: $0 · Paid (history): $3,200

PropertyKindAmountDueStatusEscalation
Vinewood Apt 4Brent$85007/25/2026due

Read-only — pay property bills in-game with /bills.

🎓 Examinations & Study
Take an Examination

Enter the code issued to you (Bar or DMV) after your fee is paid.

Study — Bar ExamStudy — DMV Written Test
Driver's Handbook & Bar Study Guide →
✔️ Licensing
Apply for a License

Submits your application to the Licensing Division. A fee invoice is issued if one applies.

✍️ File with the DOJ (Self-Representation)

You have the right to file any DOJ form yourself, without an attorney, and to represent yourself. Filings still go to the Clerk's queue for review.

File a CaseFile a MarriageFile a Property DeedFile a Professional Registration
📁 My Cases Refresh
CW-1090 — Criminal
Filed · Counsel: Jordan Blake (PD)
Represent Myself

CrestWood DOJ review site · mock data only · faithful to js/dashboard.js, mdt.js, reports.js, lawoffice.js, court.js and api/capabilities.php.