Stanje na granicama Krajine
Učitavanje stanja na granicama.
Pregled sadržaja: 15. oktobar 2026. Ovaj opis prati trenutni kod. Production pravila čuvanja, hosting logova i backup kopija još nisu potvrđena.
Za javnu prijavu nije potreban nalog. Šalju se odabrani prijelaz, smjer i zona kolone, opcionalni broj minuta dosadašnjeg čekanja i oznaka da su minute dosadašnje čekanje. Server dodaje identifikator prijave i vrijeme prijema; baza sadrži i stanje moderacije.
Javno se prikazuju zbirne procjene, broj doprinosa, svježina i historija. Interni identifikatori uređaja i mreže ne ulaze u javni prikaz. Uspješno slanje vraća samo identifikator te prijave.
Pri slanju browser stvara nasumični UUID v4 i čuva ga u localStorage pod ključem krajiske-granice:report-device-id. Aplikacija nema automatski rok isteka ovog lokalnog zapisa. Možeš ga ukloniti brisanjem podataka ove stranice u browseru; time se ne brišu ranije prijave na serveru.
Aplikacijski kod šalje taj UUID samo vlastitom report API-ju, /api/reports, pri slanju prijave. Server ga pretvara u HMAC-SHA-256 pomoću tajnog server ključa. U bazu prijava ide HMAC uređaja, a izvorni UUID se ne pohranjuje u canonical bazu. HMAC služi ograničavanju ponovljenog slanja i izboru najnovijeg doprinosa uređaja.
To je pseudonimni signal browsera, bez potvrde jedinstvene osobe. Drugi browser, brisanje localStorage ili promjena server ključa mogu promijeniti signal. Automatska rotacija ključa nije implementirana.
Trenutna API putanja koristi samo ograničenje po uređaju: jedna prijava za isti prijelaz i smjer u prethodnih pet minuta. Mrežni limiter je isključen i u bazu se šalje prazan mrežni signal. Kod ne smatra proizvoljan IP header pouzdanim izvorom.
Pripremljena mrežna zaštita služila bi ograničavanju zloupotrebe pomoću odvojenog server HMAC-a mrežne adrese, bez upisa izvorne IP adrese u canonical bazu. Aktivacija čeka potvrdu hosting/proxy izvora i provjeru uticaja na putnike koji dijele mrežu. Mrežna adresa nije dokaz jedinstvene osobe.
GPS se traži tek nakon tvog izbora i dozvole browsera. Pomaže da se predloži najbliži prijelaz ili prikaže tvoja lokacija na mapi. Zonu kolone biraš ručno. Raw GPS koordinate ne šalju se report serveru i nisu dio prijave.
Mapa učitava pločice direktno sa tile.openstreetmap.org. Taj provider vidi mrežne zahtjeve, uključujući IP adresu i tražene pločice područja prikaza. Prikaz mape oko tvoje lokacije može otkriti približno područje provideru. Vanjski navigacijski i informativni linkovi otvaraju zasebne servise s vlastitim pravilima privatnosti; ne šaljemo im UUID kroz te linkove.
Kada je slanje omogućeno, čuvaju se kategorija, poruka, dobrovoljni kontakt email, nasumični ključ zahtjeva radi sprečavanja duplikata, vrijeme i status obrade. Ne traže se ime, GPS, nalog ili identifikator uređaja. Prijedlog i kontakt vidi samo ovlašteni administrator.
Zaštita koristi zajedničko ograničenje prihvaćenih prijedloga u bazi; ono nije dokaz jedinstvene osobe i može privremeno ograničiti sve posjetioce. Slanje je isključeno dok migracija i zaštita nisu provjereni. Stvarni rokovi čuvanja, brisanje, backup kopije i infrastrukturni logovi za prijedloge još nisu potvrđeni; ovim opisom se ne obećava rok brisanja. Ne šalji osjetljive podatke.
Implementirano čišćenje predviđa brisanje prijava i potvrda prema vremenu nastanka te zbirnih snapshotova historije prema vremenu presjeka kada su stariji od 30 × 24 sata. Granica se računa pri pokretanju čišćenja; zapisi tačno na granici ostaju do narednog prolaza. Dnevno pokretanje predviđeno je za 03:00 UTC, pa ovo nije obećanje brisanja tačno u trenutku isteka 30 dana.
Primjena migracije i redovno izvršavanje tog čišćenja u produkciji još nisu potvrđeni. Zato stvarni production rok brisanja ostaje otvoren. Isključenje prijave moderacijom nije brisanje: takva prijava se ne koristi u novim procjenama, ali ostaje u ograničenju slanja do isteka njegovog prozora. Raniji snapshotovi se ne prepisuju.
Backup kopije imaju odvojena pravila. Njihov obuhvat, retention, pristup i brisanje nakon isteka ili obnove još nisu potvrđeni. Brisanje iz aktivne baze nije dokaz brisanja iz backup kopija.
Report API u pregledanom kodu ne zapisuje tijelo prijave, izvorni UUID, IP ni GPS u aplikacijske logove; greške vraća generički. To ne potvrđuje postavke hosting, proxy ili database logova. Njihov sadržaj, pristup i rokovi čuvanja još čekaju operatersku potvrdu. Ne obećavamo da pružaoci infrastrukture ne vide mrežne zahtjeve.
U javnom toku ovog koda nema oglasne analitike ni trajnih korisničkih profila. Administratorska prijava koristi zasebnu autentikacijsku sesiju i kolačiće; nije potrebna putnicima za prijavu stanja.
Pilot još nije pokrenut ovom fazom. Planirano je 14 dana dobrovoljnih prijava na Maljevcu, Izačiću i Hadžinom Potoku u oba smjera. Zbirni pregled po prijelazu i smjeru obuhvatio bi broj prijava, broj različitih pseudonimnih uređaja, pokrivenost svježim doprinosima i dostupnost petominutnih snapshotova. Uređaji bi se brojali na serveru bez objave hashova ili lista uređaja; dnevni brojevi ne dokazuju broj jedinstvenih osoba.
Pokrivenost bi bila udio očekivanih petominutnih presjeka s barem jednim svježim prihvatljivim doprinosom, prema stvarno aktivnim smjerovima i trajanju pilota. Nedostajući presjeci ostaju u ukupnom očekivanom broju; vode se odvojeno od uspješno izračunatog stanja bez podataka.
Lokalno je pripremljeno, ali isključeno mjerenje POST ishoda. Nakon zasebne potvrde spremnosti brojilo bi samo zbir po UTC danu, prijelazu i smjeru, validnosti zahtjeva i ishodu 201/400/429/5xx. Validan pokušaj znači zahtjev koji je prošao API provjeru oblika; odbijena zona, ograničenje slanja i server greška ostaju u tom nazivniku. Neispravno tijelo zahtjeva vodi se zasebno, bez odabranog smjera. Nepodržani smjerovi grupišu se kao neraspoređeni. Ne čuvaju se pojedinačni događaji, UUID, hash, IP, GPS, zona, minute ili sadržaj prijave u ovim brojačima.
Greška samog brojanja dala bi samo generički operativni signal bez podataka prijave. Zbir može biti nepotpun pri prekidu servera ili nedostupnosti brojača; sačuvane prijave i odsustvo grešaka nisu dokaz potpunog mjerenja. Browser ne šalje dodatnu telemetriju: mrežni neuspjeh ostaje nemjeren, a ne nula. Novi signal prije API-ja zahtijevao bi zaseban pregled i dopunu ovog opisa.
Predloženo je ograničeno čuvanje novih dnevnih brojača do dnevnog čišćenja nakon 30 dana, uz pristup samo ovlaštenom operatoru. Automatsko čišćenje ovih novih brojača, rok za izvještaje i povratne informacije, backup pravila i logovi još nisu potvrđeni; prikupljanje ostaje isključeno do njihove potvrde. Dnevni broj različitih uređaja računa se iz postojećih prijava na serveru prije njihovog brisanja; hashovi ne ulaze u izvoz. Dnevni brojevi se ne sabiraju kao jedinstveni uređaji cijelog pilota.
Dobrovoljne povratne informacije bilježile bi samo korak, vrstu problema, anonimiziran opis i eventualnu promjenu, bez imena, kontakta, trajnog profila ili povezivanja s prijavama. Ne slati registarske oznake, dokumente, lokacijske tragove ni screenshotove s ličnim podacima. Izostanak odgovora ne znači zadovoljstvo. Pilot ne mjeri završene prelaske i ne dokazuje tačnost ukupnog ili preostalog čekanja.
Za pitanje ili problem pogledaj kontakt i status javne adrese.