Skip to main content

This is a new service. Help us improve it by giving feedback.

Welsh translation in progress

This service is being translated. Content that has not been translated yet is shown in English.

Building justice sector software

Understand the principles of designing justice sector software for different court and tribunal settings.

Software built for the justice system is used in a wide range of settings — from a judge on the bench, to a caseworker processing an application, to a member of the public representing themselves in a tribunal. Good design has to work for all of them.

Design for a range of users and settings

Consider who will actually use the service: legal professionals under time pressure in a hearing, administrative staff processing high volumes of cases, and members of the public who may be using a justice service for the first time and under significant personal stress.

Design for low connectivity and older hardware

Many courts and tribunals operate with variable connectivity and a mix of older devices. Software should degrade gracefully rather than fail outright when connectivity is poor.

Support offline and asynchronous processes

Not every justice process happens in real time. Design for hearings, decisions and case updates that may be recorded and synchronised later, rather than assuming constant live connectivity.

Handle sensitive data appropriately

Case data often includes personal, and sometimes highly sensitive, information about members of the public. Follow the data governance standards and apply the minimum data classification necessary for your use case.

Build for accessibility

Justice services must be usable by people with a wide range of needs, including people with disabilities, low digital literacy, or limited English proficiency. Meet WCAG accessibility standards as a baseline, not an afterthought.

Reuse HMCTS APIs rather than duplicating data

Before building a new data store, check the API catalogue for an existing HMCTS API that already holds the data you need.