Sigurnost, jednostavno
Bez buzzwordova. Evo što radimo — i što ne tvrdimo — kako bismo tvoje sajtove, klijente i prihod držali sigurnima.
Enkripcija u prijenosu
Svaka veza koristi TLS 1.3. HSTS preloaded. Odbijamo TLS 1.0 / 1.1 i slabe cipher suiteove. Bez iznimki za legacy klijente.
Enkripcija u mirovanju
Database volumeni i S3 bucketi šifrirani su AES-256. Backupi se šifriraju prije nego što napuste produkcijsku mrežu.
2-Factor Authentication
TOTP 2FA uključen je na svakom planu, uz opcionalni email-OTP fallback. 8 jednokratnih recovery kodova po korisniku. Adminima je obavezan.
Hosting samo u EU
Primarna regija: Frankfurt. Sekundarna: Stockholm. Podaci nikad ne prolaze kroz jurisdikcije izvan EGP-a bez dokumentirane Standard Contractual Clause.
Tenant izolacija
Svaki klijentski sajt vrti se u vlastitom DB scopeu. Dodaci se izvršavaju u sandboxu s disable_functions + open_basedir profilom — jedan tenant ne može utjecati na drugog.
Rate limiting + audit log
Per-IP rate limiti na svakoj javnoj formi. Svaka admin radnja bilježi se u activity log sa subjektom, akterom, IP-jem i punim diffom izmijenjenih polja.
Prakse kojih se držimo
Godišnji vanjski pen-test
Neovisna EU tvrtka. Critical findings popravljaju se prije nego što se izvještaj potpiše.
SAST u CI-ju
Svaki PR pokreće statičku analizu (Psalm + Larastan). PR-ovi se ne mogu mergeati sa security severity > medium.
Praćenje ovisnosti
Composer + npm ovisnosti skeniraju se dnevno. Critical CVE-i pokreću patch release istog dana.
Upravljanje secretsima
Bez secretsa u repou. Produkcijski secretsi žive u HashiCorp Vaultu uz tromjesečnu rotaciju.
Backupi + restore drillovi
Dnevni šifrirani snapshoti čuvaju se 30 dana. Puni restore drill izvodimo jednom kvartalno.
Incident response
Dokumentirani runbook. Severity 1 incidenti dobivaju javni post-mortem u roku od 14 dana na /blog.
Potpisani webhookovi
Outbound webhookovi potpisuju se HMAC-SHA256. Klijenti provjeravaju potpis po zahtjevu kako bi spriječili krivotvorenje.
Hashing lozinki
bcrypt s troškom 12 (konfigurabilno). Nijedna lozinka ne napušta granicu requesta nehashirana.
Odgovorno prijavljivanje ranjivosti
Pronašao si ranjivost? Pošalji email na security@radcms.io s koracima reprodukcije. Šifriraj našim PGP ključem za osjetljiva otkrića.
Naša obveza
- Potvrđujemo primitak prijave u roku od 48 sati.
- Pružamo triage odluku u roku od 5 radnih dana (u opsegu / izvan opsega / duplikat).
- Obavještavamo te dok se problem ne riješi.
- Javno te navodimo (ako želiš) kad popravak izađe.
- Isplaćujemo nagradu za valjana critical/high otkrića (od slučaja do slučaja, trenutno do €5.000).
Molimo da ne testiraš nad klijentskim podacima, ne pokrećeš automatizirane skenere koji generiraju volumen i da nam daš razuman rok za popravak prije javnog objavljivanja.
Audit u tijeku · cilj 2026.
Dostupno za Enterprise planove