Policy Central: Detecting Conflicts, Redundancy, and Similarity in Deployed Police Policy
Organizations: PolicingLab, Miami, Florida, United States
Abstract
Policy Central is a deployed system that helps police departments find relationships between sections of their written policy: whether two sections conflict, are redundant, are merely similar, or are different. We describe the system and compare two architectures. Retrieve-Judge, a retrieve-then-classify pipeline, runs as a cheap library-wide health signal; Screen-Confirm, a screen-then-confirm cascade, is a selective audit of the documents a reviewer chooses, checking them exhaustively against one another. On a 302-pair benchmark drawn from one department's ~84 real policy documents, given each pair Screen-Confirm reaches 0.795 aggregate recall and 0.885 on Conflict, so current models judge well. Finding the pair is the hard part: Retrieve-Judge's composed recall falls to 0.457, and Screen-Confirm recovers 0.472 (0.615 on Conflict). Today these pairs are found by reading the whole library, nearly 20,000 sections, checked against one another and re-checked after every revision. A scan that returns half of them in minutes, at low cost, and can be re-run on demand changes the economics of policy review even before recall improves.
Figures & tables
| Label | Definition | Example (from the corpus) |
|---|---|---|
| Conflict | Requirements that cannot both be satisfied. | “Must attend a two hour refresher training annually.” vs. “Must attend a four (4) hour refresher training annually.” |
| Redundancy | Same requirement; one section is deletable with no loss. | “In sensitive criminal matters, the Unit Commander shall be notified prior to the reopening of an investigation” , in two units’ SOPs. |
| Similarity | Related; a reader needs both, but neither subsumes the other. | “…kept secret unless …duty requires otherwise” vs. “At no time …release any information considered to be confidential.” |
| Different | No operationally relevant relation. | “Being armed in any manner.” vs. “Must be a minimum of 14 years of age.” |
| Screen-Confirm | Retrieve-Judge | |
|---|---|---|
| Given the pair | Screen: the gold provision and 15 others from its document, against the gold section. Confirm: each hit. | Judge: the two gold sections. |
| Must find the pair | Screen: every anchor provision (mean 614, max 13,352) against every section of the compared document. Confirm: each hit. | Retrieve: nearest of 19,737 chunks by cosine ( in deployment; recall scored at 10). Judge: each retrieved pair. |
| System | Confl. | Redun. | Simil. | Agg. † |
|---|---|---|---|---|
| (26) | (57) | (44) | (127) | |
| Must find the pair | ||||
| Retrieve-Judge, retrieval only | 0.571 | 0.846 | 0.480 | 0.663 |
| Retrieve-Judge, Sonnet 4.5 judge | 0.418 | 0.668 | 0.207 | 0.457 |
| Retrieve-Judge, Llama judge | 0.462 | 0.757 | 0.262 | 0.525 |
| Screen-Confirm, end-to-end ∗ | 0.615 | 0.561 | 0.273 | 0.472 |
| Scan | Calls | Cost | Time |
|---|---|---|---|
| Screen-Confirm, measured targeted scans | |||
| SOP (54 prov.) vs. 2 SOPs, 885 sec. | 885+216 | $1.60 | 150 s |
| SOP (56 prov.) vs. 1 SOP, 100 sec. | 100+66 | $0.41 | 42 s |
| Screen-Confirm, projected | |||
| One SOP vs. library, 19.6k sec. | 25–33k | $40–80 | 1 h |
| Retrieve-Judge, measured audit | |||
Appendix figures & tables6 assets
Supplementary material from the paper’s appendix.
Appendix
| Judge model | Aggregate recall |
|---|---|
| Sonnet 4.5 | 0.457 |
| Sonnet 4.6 | 0.539 ∗ |
| Sonnet 5 | 0.497 |
| Llama 3.3 70B | 0.525 |
| GPT-5.6 Sol | 0.574 ∗ |
| GPT-5.6 Terra | 0.548 ∗ |
| Confirm model | Confl. | Redun. | Simil. | Diff. | Acc. |
|---|---|---|---|---|---|
| Sonnet 4.5 (production) | 0.885 | 0.842 | 0.682 | 0.789 | 0.791 |
| Sonnet 5 | 0.692 | 0.930 | 0.773 | 0.709 | 0.758 |
| Opus 4.8 | 0.423 | 0.895 | 0.568 | 0.823 | 0.765 |
| GPT-5.6 Terra | 0.808 | 0.895 | 0.705 | 0.709 | 0.752 |
| GPT-5.6 Luna | 0.808 | 0.877 | 0.705 | 0.623 | 0.699 |
| GPT-OSS 120B | 0.731 | 0.912 | 0.727 | 0.543 | 0.656 |
| Class ( ) | Absent | No prov. | Screen | Confirm | Found | Recall |
|---|---|---|---|---|---|---|
| Confl. (26) | 0 | 0 | 6 | 4 | 16 | 16/26 |
| Redun. (57) | 3 | 3 | 8 | 11 | 32 | 32/51 |
| Simil. (44) | 1 | 0 | 17 | 14 | 12 | 12/43 |
| All (127) | 4 | 3 | 31 | 29 | 60 | 60/120 |
| System | Cost | $/1k | Latency |
|---|---|---|---|
| Screen-Confirm | $1.95 | $6.47 | 19 min § |
| Retrieve-Judge | $2.13 ‡ | $7.04 | 28 min § |
| Llama (zero-shot) | $0.01 | $0.03 | 2 min |
| DeBERTa NLI | $0.00 | $0.00 | 2 min |
| Class ( ) | Prec. | Recall | 95% CI |
|---|---|---|---|
| Conflict (26) | 0.404 | 0.885 | [0.710, 0.960] |
| Redundancy (57) | 1.000 | 0.842 | [0.726, 0.915] |
| Similarity (44) | 0.612 | 0.682 | [0.534, 0.800] |
| Different (175) | 0.932 | 0.789 | [0.722, 0.843] |
Policy Evaluation
Policy evaluation estimates the outcomes, value, risks, and fairness of decision rules before or after deployment.
See all 55 papers