Owning a character grants nothing over its official data. Holding a PNC permission grants nothing over a character’s profile.
What each side sees
Characters
- An account can hold up to 25 characters. They are never deleted;
statusmoves betweenACTIVE,INACTIVEandDECEASED. - Each has a stable
idand a human-facingreferencesuch asCIV-000123. - Identity lock. Once a character has any official history (a record, a warrant, a marker, an endorsement or a licence action), its name and date of birth are fixed for the owner. This stops a wanted character being renamed out of a search.
civilians.managecan still correct them, and that correction is audited.
Driving licences
A character aged 17 or over can be issued one licence through the civilian endpoints. From then on every change to it is official.status is worked out each time the licence is read:
- A licence past
expiresAtreadsEXPIRED. - A suspension past
suspendedUntilhas lapsed, and the licence readsVALIDagain.
points is the sum of endorsements that are neither removed nor expired. A removed endorsement stays in the official view, with who removed it and why.
Vehicles
A registration is stored in capitals with no spaces or hyphens, and is unique:lk21 abc, LK21-ABC and LK21ABC are the same vehicle.
A vehicle’s keeper is a history of keeper periods, not a single field. Transferring a vehicle ends one period and starts another, so the PNC can show who kept it before.
stolen is not a stored field. It is true while the vehicle carries an active STOLEN_VEHICLE marker.
Markers and BOLOs
One model covers every flag on a person or vehicle.
A marker is
active until it is cleared or passes expiresAt. Person and vehicle records return their active markers and warrants directly, and search results carry counts in alerts, so a client can put them in front of everything else.
Warrants
ACTIVE warrants become EXECUTED or CANCELLED, recording who closed them and a note. EXPIRED is worked out from expiresAt when read. A lapsed warrant can be amended to extend it; a closed one cannot be changed.
History and audit
Official changes leave two traces, written in one transaction with the change. If either cannot be written, nothing is saved.- Record history,
GET /api/pnc/events, is the permanent story of a person or vehicle: what changed, from what to what, why, and who did it. It is append-only; the database rejects updates and deletes. - The audit log,
GET /api/audit, records the same actions for oversight, aspnc.licence.suspended,pnc.warrant.executed,pnc.marker.createdand so on.
bySubject: true. The member’s account is not shown there unless the reader holds civilians.manage.