Безопасность

Безопасность строится на правах, происхождении и проверке содержимого.

Pulse Media проверяет доступ на сервере, связывает файл с приложением и средой, контролирует жизненный цикл и отдельно проверяет безопасную выдачу.

Идентификатор

Ключ приложения задаёт границу доступа

Пространство имён, приложение, права и среда определяются на сервере по ключу доступа.

при сомнении — запрет
Выдача

Закрытый доступ по умолчанию

Чтобы сделать файл публичным, нужны отдельные права; закрытые файлы выдаются только через контролируемый механизм.

явно
Жизненный цикл

Удаление проверяет связи файла

Перед физическим удалением проверяются основание для хранения, привязки и состояние жизненного цикла.

надёжный
Содержимое

Тип подтверждается содержимым

Обработка опирается на проверенную структуру файла; имя и MIME-тип используются только как дополнительные сигналы.

по содержимому
Изоляция приложений

Доступ разделён по приложению и среде.

API сохраняет серверный признак принадлежности файла конкретному приложению и среде. Клиентские сведения о владельце участвуют в управлении файлом, а серверная принадлежность остаётся границей доступа.

Аккаунт

Управляет только своими Приложения

Связь с аккаунтом Workspace проверяется при каждом запросе управления.

Приложение

Видит только свои файлы

Чтение или удаление чужого объекта возвращает «не найдено», даже если переданы совпадающие сведения о владельце.

Среда

Production и Staging изолированы

Область среды определяется ключом доступа и сохраняется вместе с файлом.

Загрузка из браузера

Прямая загрузка использует короткоживущее разрешение.

Для этого существует короткоживущее разрешение на прямую загрузку: с ограничением размера, необязательным разрешённым сайтом, сроком действия и созданным сервером ключом идемпотентности.

Секрет остаётся на сервере

pulse_sk хранится только в серверном окружении.

Браузер получает только pulse_ug, ограниченный конкретной операцией. Разрешение на загрузку не может читать другие файлы, менять видимость, управлять ключами доступа или расширять выданные сервером права.

Безопасная выдача файлов

Публичная выдача проходит отдельные проверки.

Выдача добавляет nosniff, безопасный Content-Disposition и предсказуемый ETag. Для потенциально опасных установочных пакетов и обновлений существует отдельное состояние проверки до публичной выдачи.

Проверка
pending_scan → clean
Блокирующие состояния
rejected · quarantined
Заголовки
nosniff · безопасная выдача
Выдача
HEAD · Range · ETag
Вебхуки

Подпись проверяется до JSON.

Для подписи вебхука используются время события, исходное тело запроса и HMAC-SHA256. SDK проверяет допустимый возраст события, подпись и сравнивает её безопасным способом; JSON разбирается только после успешной проверки.

ВЕБХУКпорядок проверки
timestamp parse
→ tolerance check
→ HMAC(timestamp + "." + raw_body)
→ constant-time compare
→ JSON decode