IT Odjel
Inžinjerski uvidi

Kako izraditi pouzdan policijski softver?

Pouzdan policijski softver

Razvoj softvera za provedbu zakona fundamentalno se razlikuje od izgradnje poslovnih aplikacija za poduzeća ili komercijalne tvrtke. Cilj nije samo automatizirati administrativni rad ili poboljšati produktivnost. Policijski softver postaje dio operativnog okruženja u kojem svaka odluka, svaka informacija i svaki odgovor sustava mogu utjecati na tekuću istragu, sigurnost policajca ili pravnu valjanost dokaza.

Povjerenje stoga postaje svojstvo sustava, a ne marketinški atribut. Ne može se dodati nakon implementacije putem certifikacija ili sigurnosnih revizija. Mora proizaći iz arhitektonskih odluka donesenih mnogo prije nego što se implementira prva linija produkcijskog koda.

Jedan od prvih inženjerskih izazova je prihvaćanje da nijedna policijska organizacija ne djeluje unutar jedinstvenog informacijskog sustava. Registri vozila, baze podataka o identitetima, kriminalistička obavještajna služba, sustavi upravljanja dokumentima, granična kontrola, platforme za hitne dispečerske usluge i vanjske nacionalne usluge obično se razvijaju neovisno, često tijekom desetljeća. Svaki sustav ima svoj vlastiti model vlasništva, sigurnosne politike i životni ciklus.

Pokušaj zamjene ovog ekosustava novom monolitnom aplikacijom rijetko je realan.

Inženjerski problem stoga nije zamjena postojećih sustava, već dizajniranje integracijskog sloja koji im omogućuje da funkcioniraju kao koherentna operativna platforma, uz poštivanje institucionalnog vlasništva i upravljanja podacima.

Ova je razlika važna jer pouzdan softver ne centralizuje autoritet. Centralizira pristup uz očuvanje odgovornosti.


Pouzdanost je ključan zahtjev za pouzdan policijski softver

Još jedna zabluda je da se performanse mjere samo vremenom odziva. Niska latencija je važna, ali operativna pouzdanost je znatno vrijednija. Policajca koji obavlja pregled vozila na cesti ne zanima hoće li se upit završiti za 300 ili 800 milisekundi ako sustav povremeno zakaže tijekom vršnog opterećenja ili postane nedostupan jer je jedan vanjski registar privremeno izvan mreže.

Otporna arhitektura pretpostavlja da će se dogoditi kvarovi.

Vanjske usluge postaju nedostupne. Mrežna povezivost je prekinuta. Pojedinačne integracije ne uspijevaju. Pouzdan policijski softver nastavlja s radom u tim uvjetima izolirajući kvarove, održavajući gracioznu degradaciju i osiguravajući da kritični tijekovi rada ostanu dostupni kad god je to moguće.

Sigurnost slijedi isti princip.

Šifriranje, autentifikacija i kontrola pristupa temeljena na ulogama očekuju se u svakom modernom sustavu, ali operativno povjerenje ovisi o nečemu temeljnijem: odgovornosti.

Svaki zahtjev trebao bi se pripisati autentificiranom korisniku. Svaka modifikacija trebala bi proizvesti nepromjenjivi zapis revizije. Svaka razmjena informacija s vanjskim sustavima trebala bi biti sljediva. Kada se pristupa osjetljivim informacijama, sustav bi trebao biti sposoban pokazati ne samo tko je pristupio podacima, već i pod kojim ovlaštenjem, u koju operativnu svrhu i putem kojeg integracijskog puta.


Bez ovakve razine mogućnosti revizije, sama tehnička sigurnost ne može izgraditi institucionalno povjerenje.


Još jedan inženjerski princip koji se često podcjenjuje jest dizajn sučelja.

Od policijskih službenika ne bi se trebalo tražiti da razumiju arhitekturu sustava. Nikada ne bi trebali znati koje ministarstvo posjeduje određenu bazu podataka ili koja vanjska usluga pruža određeni dio informacija. Njihova je odgovornost operativno donošenje odluka, a ne snalaženje u distribuiranim informacijskim sustavima.

Dobro dizajniran softver skriva arhitektonsku složenost iza operativne jednostavnosti.

Postizanje ovoga zahtijeva znatno više inženjerskog napora nego izlaganje pojedinačnih baza podataka putem zasebnih korisničkih sučelja, ali operativna korist je značajna. Policajci provode manje vremena u interakciji sa softverom, a više vremena obavljajući svoje stvarne dužnosti.

Možda najzanemarenija karakteristika pouzdanog policijskog softvera je predvidljivost.

Složeni sustavi neizbježno se razvijaju. Novo zakonodavstvo uvodi dodatne tijekove rada. Nove institucije postaju integracijski partneri. Dobavljači kamera se mijenjaju. Nacionalni registri otkrivaju nova sučelja. Mogućnosti umjetne inteligencije nastavljaju sazrijevati.

Pouzdana platforma mora biti dizajnirana tako da se prilagodi tim promjenama bez potrebe za temeljnim arhitektonskim redizajnom.

Zato su modularnost, interoperabilnost i jasno definirane granice integracije inženjerski zahtjevi, a ne preferencije implementacije. Oni određuju može li se platforma razvijati tijekom sljedećeg desetljeća bez ugrožavanja operativnog kontinuiteta.


Naučene lekcije

Tijekom razvoja kritičnih platformi za provedbu zakona, naši inženjerski timovi naučili su da je najteži izazov rijetko implementacija novih funkcionalnosti. Veći izazov je integracija desetljećima starih institucionalnih sustava uz održavanje operativnog kontinuiteta.

U konačnici, povjerenje se ne uspostavlja demonstracijama proizvoda ili tehničkim specifikacijama.

Uspostavlja se nakon godina pouzdanog rada, transparentne revizije, predvidljivog ponašanja i kontinuirane suradnje s institucijama odgovornim za javnu sigurnost.

Sama tehnologija ne stvara to povjerenje.

Inženjerska disciplina stvara.