Сигурност, разказана просто
Без модни думи. Ето какво правим — и какво не твърдим — за да пазим сайтовете, клиентите и приходите ти.
Криптиране в транзит
Всяка връзка използва TLS 1.3. HSTS preloaded. Отказваме TLS 1.0 / 1.1 и слаби cipher suites. Без изключения за legacy clients.
Криптиране в покой
Database volumes и S3 buckets са криптирани с AES-256. Бекъпите се криптират, преди да напуснат production мрежата.
2-Factor Authentication
TOTP-базирано 2FA е включено във всеки план, с опционален email-OTP fallback. 8 single-use recovery codes на потребител. За администраторите е задължително.
Хостинг само в ЕС
Основен регион: Frankfurt. Резервен: Stockholm. Никакви данни не транзитират към юрисдикции извън ЕИП без документиран Standard Contractual Clause.
Tenant изолация
Всеки customer сайт работи в собствен DB scope. Плъгините се изпълняват в sandbox с disable_functions + open_basedir профил — един tenant не може да засегне друг.
Rate limiting + audit log
Per-IP rate limits на всяка публична форма. Всяко admin действие се записва в activity log със субект, актор, IP и пълен diff на променените полета.
Практики, които спазваме
Годишен външен pen-test
Независима EU-базирана компания. Critical findings се отстраняват, преди отчетът да бъде подписан.
SAST в CI
Всеки PR минава статичен анализ (Psalm + Larastan). PRs не могат да се мерджват със security severity > medium.
Мониторинг на dependencies
Composer + npm dependencies се сканират ежедневно. Critical CVEs предизвикват patch release в същия ден.
Управление на secrets
Никакви secrets в repo-то. Production secrets живеят в HashiCorp Vault с тримесечна ротация.
Бекъпи + restore drills
Ежедневни криптирани snapshots, пазени 30 дни. Изпълняваме пълен restore drill веднъж на тримесечие.
Реакция при инциденти
Документиран runbook. Severity 1 инциденти получават публичен post-mortem в рамките на 14 дни в /blog.
Подписани webhooks
Outbound webhooks са подписани с HMAC-SHA256. Клиентите проверяват per-request, за да предотвратят forgery.
Password hashing
bcrypt при cost 12 (configurable). Никоя парола не напуска request границата нехеширана.
Отговорно разкриване
Намери уязвимост? Изпрати имейл на security@radcms.io със стъпки за възпроизвеждане. Криптирай с нашия PGP key за чувствителни находки.
Нашият ангажимент
- Потвърждаваме доклада ти в рамките на 48 часа.
- Даваме triage решение в рамките на 5 работни дни (in scope / out of scope / duplicate).
- Информираме те, докато проблемът се реши.
- Признаваме те публично (ако искаш), когато fix-ът излезе.
- Плащаме bounty за валидни critical/high находки (case-by-case, в момента до €5000).
Моля, не тествай върху customer данни, не пускай автоматизирани скенери, които генерират обем, и ни дай разумно време за отстраняване преди публично разкриване.
Audit в процес · цел 2026
Налично за Enterprise планове