An offline-first criminal justice information system for low-connectivity environments
OpenJustice is an open-source system for managing criminal justice records where internet access is unreliable. The first deployment targets Sierra Leone, but the system is country-configurable -- national ID formats, legal frameworks, rank structures, and offense codes can all be changed per deployment.
It is a registered Digital Public Good aligned with UN SDG 16 (Peace, Justice and Strong Institutions).
| Feature | Description |
|---|---|
| Case management | Criminal case lifecycle from report through court, with automatic case numbering and status tracking |
| Evidence tracking | Chain-of-custody records, QR code tagging, and file storage for physical and digital evidence |
| Person records | Suspect, victim, and witness records with AES-256 encrypted PII and optional biometrics |
| GeoCrime mapping | Crime location mapping with heatmaps and hotspot detection |
| Offline-first PWA | Works without internet. Queues changes locally and syncs when connectivity returns |
| Inter-agency sharing | API and webhook integration for sharing data with courts, prisons, and immigration |
| Alerts | Amber alerts and wanted person broadcasts across stations |
| Audit trail | Every data access and mutation is logged in a tamper-evident, hash-chained audit log |
The system works on 2G/3G networks. Officers can collect data, file reports, and look up records offline. When a connection comes back, everything syncs automatically. There is also a USSD channel for basic queries on feature phones and a WhatsApp integration for field officers.
Each deployment can be configured for its country: ID systems, police ranks, legal categories, date formats, and languages.
If you find a bug or want to contribute, open an issue or submit a pull request on the relevant repository. We use GitHub Discussions for broader questions and ideas.