Vaši podaci ostaju tamo gde im je mesto.
Sažetak za one koji procenjuju IT i bezbednost: kako se SnagBane uvodi, kako kontroliše pristup, kako je zaštićen i šta tačno napušta vaš server.
Uvođenje i podaci
- Na vašem serveru. SnagBane je softver koji instalirate sa Dockerom, na VPS-u ili na cPanelu. Obrasci, odgovori, datoteke i nalozi čuvaju se u vašoj sopstvenoj bazi podataka (MySQL/MariaDB, PostgreSQL ili SQLite) i vašem sopstvenom skladištu.
- Nema zajedničkih podrazumevanih lozinki. Docker baza se pokreće sa instalacionom lozinkom koju instaler zamenjuje jakom nasumičnom lozinkom;
php artisan snagbane:db-passwordje kasnije menja. - Privatno skladište datoteka van korena veb servera, sa nasumičnim nazivima datoteka.
- Radi u internoj mreži. Plan Free ne treba pristup internetu; Business i Enterprise zahtevaju odlazni HTTPS za proveru licence.
Identitet i pristup
- Jedinstvena prijava sa Microsoft Entra ID, Google Workspace, Okta i bilo kojim SAML 2.0 dobavljačem identiteta kao što su AD FS ili Ping (Business i Enterprise) – samo potpisani SAML odgovori na prijave koje je pokrenuo sam SnagBane, svaki prihvaćen samo jednom. Prijave preko imenika nikad ne prave administratore, a mapiranje uloga iz grupa može ulogu samo da podigne.
- Dvostepena prijava za SnagBane naloge: aplikacija za autentifikaciju (njen ključ za podešavanje može u menadžer lozinki) ili FIDO2 bezbednosni ključevi i passkey ključevi — YubiKey, Windows Hello, Google Password Manager, iCloud Keychain. Prvo se traži najjača metoda; jednokratni kodovi za oporavak su put nazad, nikad sama lozinka. Može biti obavezna za administratore, a administrator može da zatraži ponovno podešavanje.
- Zaključavanje naloga posle ponovljenih neuspelih prijava – i za nepoznate adrese, pa ne može da se otkrije koji nalozi postoje – stroga pravila za lozinke i bcrypt heširanje.
- Uloge i radni prostori: vlasnici, administratori, uređivači, čitaoci i ispitanici; pravila pristupa po obrascu, portalu i radnom prostoru. Posetioci bez pristupa vide samo naslov i opis, nikad pitanja.
- Novi ljudi podrazumevano ne dobijaju pravo uređivanja – podrazumevana uloga je ispitanik.
Bezbednost aplikacije
- Stroga Content Security Policy sa nonce vrednostima po zahtevu, zaštita od clickjackinga, HSTS uz HTTPS, nosniff i referrer politika. Zaštita od CSRF-a i fiksiranja sesije.
- Otpremanja se proveravaju listom dozvoljenih ekstenzija i pregledom sadržaja; skripte, izvršne datoteke, SVG/HTML i dvostruke ekstenzije se blokiraju.
- Zaštita od SSRF-a za svaki webhook i svaku integraciju: privatne adrese i adrese metapodataka se blokiraju (otporno na DNS rebinding), uz listu dozvoljenih pouzdanih internih hostova koju vodi administrator.
- Šifrovani tajni ključevi ključem vaše aplikacije. API tokeni, linkovi za odobravanje i linkovi za izmenu i nastavak čuvaju se samo kao heš.
- Provera na serveru svakog odgovora, svake putanje grananja i svakog izračunavanja; tačni odgovori iz kvizova nikad ne stižu do pregledača; ubacivanje formula se neutrališe pri izvozu u CSV, Excel i Google Sheets.
- Linkovi se prave od adrese koju ste podesili, nikad od Host zaglavlja zahteva.
Nadzor i revizija
- Dnevnik revizije prijava, administracije, izvoza i odluka o odobrenju, uključujući ko je promenio odobravaoca i zašto.
- Slanje u SIEM: svaki unos se upisuje i kao jedan ravan JSON red u dnevnu datoteku, spremnu za Microsoft Sentinel, Elastic ili Splunk Universal Forwarder. Izvoz u CSV ili JSON Lines.
- Potpisani webhookovi (HMAC-SHA256 sa vremenskom oznakom), da bi primaoci mogli da provere svaki poziv.
Ažuriranja i lanac snabdevanja
- Potpisana ažuriranja: svako izdanje se pre instalacije proverava Ed25519 ključem i primenjuje u režimu održavanja, uz vraćanje jednim klikom.
- Čista ažuriranja: datoteke uklonjene u nekom izdanju nestaju i sa vašeg servera, pa je ažurirana instalacija ista kao nova.
- Dokazi o licenci se potpisuju i proveravaju ključem ugrađenim u aplikaciju – nijedno podešavanje okruženja ne može da otključa plaćeni plan.
Podešavanja koja vi kontrolišete
Bezbedna podrazumevana podešavanja rade odmah. U odeljku Podešavanja → Bezbednost možete ih dodatno pooštriti:
- Obavezna verifikacija u dva koraka za administratore
- Minimalna dužina lozinke (velika i mala slova i cifre su uvek obavezni) i trajanje sesije
- Dozvoljene ekstenzije datoteka i najveća veličina otpremanja
- Dozvoljeni privatni hostovi za webhookove i integracije – sve ostalo interno se blokira
- Lokacije i nalozi u SharePointu, OneDriveu i Google Driveu koje uređivači smeju da koriste (administratori mogu da izaberu bilo šta)
- Da li Microsoft, Google i Okta nalozi smeju da koriste i lozinku; nalozi isključeni u Entra ID-ju ili Google Workspaceu više ne mogu da se prijave njome
- Upisivanje svakog odgovora u JSON datoteku dnevnika za vaš sakupljač logova
- Čuvanje podataka: automatsko brisanje starih odgovora posle perioda koji izaberete (pogledajte GDPR)

Arhitektura
Jedna veb aplikacija na vašem serveru – bez naše usluge u oblaku na putu vaših podataka.
- Aplikacija: PHP 8.3+ (Laravel) iza vašeg veb servera ili Docker slika. Aplikacija u pregledaču dolazi sa iste adrese; ne učitavaju se skripte, fontovi ni CDN-ovi trećih strana, a Content-Security-Policy dozvoljava samo vaš server.
- Baza podataka: MySQL/MariaDB, PostgreSQL ili SQLite – obrasci, odgovori, odobrenja, nalozi i podešavanja. Lozinke i API ključevi integracija šifrovani su sopstvenim ključem instalacije (
APP_KEY). - Datoteke: otpremljene datoteke, potpisi i generisani PDF-ovi u fascikli
storage, van korena veb servera, sa nasumičnim nazivima; isporučuju se tek posle provere pristupa. - Planer: jedan cron unos (
schedule:runsvakog minuta) šalje podsetnike, primenjuje pravila čuvanja i proverava ažuriranja i licencu. - Javne adrese: obrasci (
/f/…), portali (/p/…), linkovi za odobravanje (/approve/…) i potvrde (/r/…) – svaka proverava sopstveno pravilo pristupa ili potpisani token. Sve ostalo (/app,/api) zahteva prijavljeni nalog; REST API (Business i Enterprise) i SCIM (Enterprise) zahtevaju tokene. - Rezervne kopije su vaše: baza podataka i fascikla
storage, uključujućistorage/.envsa ključem koji dešifruje sačuvane tajne ključeve.
Šta napušta vaš server
SnagBane nema analitiku ni telemetriju. Sam od sebe uspostavlja samo ove veze:
| Veza | Šta se šalje | Kome | Kada |
|---|---|---|---|
| Provera ažuriranja | Izdanje, verzija, verzija PHP-a i adresa sajta. Uz licencu i: licencni ključ, Freemius ID instalacije i nasumični ID instalacije | SnagBane servis za ažuriranja (Cloudflare) | Svakog dana i kada administrator proveri; isključuje se sa SNAGBANE_UPDATES=false |
| Preuzimanje ažuriranja | Samo zahtev za potpisani paket | SnagBane servis za ažuriranja | Kada administrator instalira ažuriranje |
| Aktivacija licence (Business, Enterprise) | Licencni ključ, nasumični ID instalacije, adresa i naziv sajta, verzija, i ime i mejl administratora koji aktivira | Freemius (naš preprodavac) | Jednom, pri dodavanju licence |
| Provera licence (Business, Enterprise) | Licencni ključ, Freemius ID instalacije, nasumični ID instalacije i verzija | Freemius i SnagBane servis za licence | Svakog dana; svakog sata dok provera ne uspe |
A ove samo ako ih podesite:
| Šta uključujete | Šta se šalje | Kome |
|---|---|---|
| E-pošta | Obaveštenja, zahtevi za odobrenje i potvrde | Servis za e-poštu koji podesite (SMTP ili API) |
| Prijava i imenik | Zahtevi za prijavu; čitanje imenika za birače osoba, rukovodioce i grupe | Microsoft Entra ID, Google Workspace, Okta ili vaš SAML dobavljač identiteta |
| Integracije i webhookovi | Odgovori i datoteke koje svaki od njih treba da pošalje | Servisi koje povežete, na događaje koje izaberete |
| Plaćanja u obrascima | Iznos, valuta, šta se plaća i mejl ispitanika ako je poznat – nikad podaci o kartici | Stripe ili PayPal |
| Dnevnik revizije u vaš SIEM | Unosi iz dnevnika revizije | Vaš Sentinel, Splunk, Elastic ili HTTPS endpoint |
| Mašinsko prevođenje | Tekstovi obrazaca koje šaljete na prevod | DeepL, Azure, Google ili LibreTranslate |
| Obaveštenja aplikacije za telefon | Prazan signal za buđenje – telefon zatim preuzima obaveštenje sa vašeg servera | Push servis pregledača te osobe |
| Uvoz obrasca sa linka | Jedan zahtev za javnu stranicu tog obrasca | Google Forms ili Microsoft Forms, kada uređivač uvozi obrazac |
| Izbori sa liste | Jedan zahtev za listu | CSV adresa, SharePoint lista, Excel tabela ili Google tabela koju povežete |
Dokumenti za procenjivače
- Politika prijavljivanja ranjivosti – kako da prijavite bezbednosni problem – i security.txt.
- Ugovor o obradi podataka – za lične podatke koje biste mogli da podelite sa nama u zahtevima za podršku (na engleskom).
- GDPR i zaštita podataka, politika privatnosti i ugovor o licenci (poslednja dva na engleskom).
- Serverski kod se isporučuje uz softver u čitljivom obliku, da bi vaš tim mogao da ga pregleda i testira bezbednost na sopstvenoj instalaciji (EULA, odeljak 2.3).
Ne tvrdimo da imamo sertifikate kao što su ISO 27001 ili SOC 2: SnagBane radi u vašoj infrastrukturi, pod vašim kontrolama i revizijama.
Pitanja procenjivača
Možemo li da ga koristimo bez pristupa internetu?
U planu Free – da, ništa nije potrebno. Business i Enterprise zahtevaju odlazni HTTPS da bi se dokaz o licenci obnavljao najmanje na svaka 2 dana; obrasci, odgovori i odobravanja nastavljaju da rade čak i kada su plaćene funkcije pauzirane.
Ko može da vidi odgovore?
Samo ljudi kojima date pristup radnom prostoru obrasca, kao i odobravaoci za zahteve koji su im dodeljeni. Odobravaoci otvaraju datoteke kroz svoje odobrenje, nikad preko javnog linka.
Kako se podešavaju Microsoft 365 dozvole?
U vašem sopstvenom zakupcu: preporučena PowerShell skripta tamo pravi registraciju aplikacije, pa vidite i kontrolišete svaku dozvolu. Pogledajte dozvole.
Kako da dnevnik revizije stigne u Sentinel ili Splunk?
U planu Enterprise SnagBane ga šalje pravo u Microsoft Sentinel, Splunk, Elastic ili bilo koji HTTPS endpoint. Možete i da usmerite sakupljač na dnevne JSON Lines datoteke u storage/logs/audit. Pogledajte SIEM uputstvo.
Kako da prijavimo bezbednosni problem?
Pišite nam kako je opisano u politici prijavljivanja ranjivosti. Molimo vas da prvo ne otvarate javni issue.
Gde su rezervne kopije?
Tamo gde pravite rezervne kopije servera: baza podataka i fascikla storage. SnagBane ne čuva kopije nigde drugde.