Безопасность
Hostra хранит пароли с помощью argon2id и секретной добавки, использует непрозрачные сессионные cookie, серверные ключи с проверкой HMAC-SHA256, ролевые права для каждого запроса, ограничение частоты запросов, TLS, строгие правила CORS и защищённую цепочку аудита с проверкой целостности. Номера карт никогда не хранятся — Hostra работает только с защищёнными кодами Stripe, что сокращает требования PCI.
Пароли и сессии
- Пароли хранятся в виде хешей argon2id с секретной добавкой на сервере; их нельзя восстановить, и они не попадают в журналы.
- Сессия пользователя — непрозрачный cookie с флагами HttpOnly, Secure, SameSite=None; никаких токенов в хранилище браузера.
- Серверные клиенты входят по ключам (начинаются с hstra_) с проверкой HMAC-SHA256; полный ключ показывается один раз.
- Ролевой доступ: 12 видов прав проверяются для каждого запроса; ключ получает доступ только к разрешённому.
Данные держателей карт
Hostra никогда не получает и не хранит номер карты. Данные карты заменяются защищённым кодом прямо в браузере средствами Stripe.js, и в API попадает только этот код — это заметно сокращает требования PCI DSS. CVV никогда не передаётся в Hostra и не хранится.
Целостность и однократное исполнение
- Атомарная итоговая фиксация не даёт расчёту завершиться дважды.
- Исключительные права на задачу с защитными токенами не дают двум обработчикам выполнить одно поручение.
- Надёжная очередь событий гарантирует, что события не теряются и не выдумываются.
- Перед любым повтором движок сначала уточняет статус у провайдера.
Передача данных и защита периметра
- TLS везде; HSTS на сайте.
- CORS разрешён только для заранее указанных адресов; любые адреса подряд для запросов со входом отклоняются.
- Ограничение частоты запросов на вход и изменения — по пользователю и по IP-адресу.
- Исходящие уведомления подписываются HMAC-SHA256 с меткой времени; проверяйте подпись перед обработкой.
Сообщить об уязвимости
Сообщайте об уязвимостях на security@hostracore.com. Опишите, как воспроизвести проблему, и дайте нам разумное время на исправление до публичного раскрытия.