There are values computed by the system that teams managing specific custom objects shouldn't be able to modify.
Example:
1- policy Number (generated following specific convention)
2- Dates that exist to track specific actions (ie: Policy got active, or cancelled, etc.)
3- There are multiple use cases where the system needs to generate a value, and people
should not be able tto change those read-only values but others in the object.
A simple approach would be to have a custom field that act as a label (just text), so when the system fill-out that custom field (that is just readable text), no one can change it out , except a system .
See attached image where I show a custom field which is a Policy Number, and also some values managed by the system (people should not be able to modify them (green square)) the support managing the policy should not be able to change it at all, so instead a input field , it can be just a label text (as it looks on the red line value)

Photo Viewer

View photos in a modal