Введение

Загрузка конфиденциального документа в онлайн‑конвертер может показаться рискованной. Файл может быть перехвачен, храниться дольше, чем ожидалось, или обрабатываться таким образом, который создаёт проблемы с конфиденциальностью. Инженеры‑фронтендеры в SaaS‑компаниях могут снизить этот риск, используя безопасный, ориентированный на конфиденциальность просмотрщик, который контролирует доступ, защищает документы во время обработки и ограничивает время доступности временных файлов.
В этой статье рассматриваются риски, связанные с обычными онлайн‑конвертерами, а затем отделяются два часто путаемых понятия: бесплатный публичный просмотрщик на OnlineDocumentViewer.com и Doconut SDK, который команда SaaS встраивает в свой продукт. Это не один и тот же продукт, и они отвечают на разные вопросы.
Понимание ландшафта угроз для сервисов конвертации файлов
Даже хорошо отлаженный онлайн‑конвертер может раскрыть конфиденциальные данные, если безопасность не учитывается тщательно. Наиболее распространённые риски включают небезопасные передачи, неясные политики хранения и слабый контроль доступа.
| Угроза | Как происходит | Реальное воздействие |
|---|---|---|
| Перехват «человек посередине» | Слабые или небезопасные настройки передачи могут раскрыть файлы во время их загрузки или доступа к ним. | Конфиденциальные контракты, медицинские записи, финансовые отчёты или исходные файлы могут быть раскрыты. |
| Постоянное хранение на сторонних серверах | Некоторые сервисы сохраняют загруженные файлы в течение часов или дней без явной видимости для пользователя. | Это создаёт риски для конфиденциальности, проблемы с соответствием требованиям и опасения по поводу аудита. |
| Слабая изоляция встроенного просмотрщика | Плохо контролируемый встроенный просмотр может увеличить экспозицию к нежелательным скриптам или неавторизованному доступу. | Содержание конфиденциальных документов находится под большей угрозой, если просмотрщик не изолирован должным образом. |
Для SaaS‑продукта, которому необходимо работать с конфиденциальными файлами, эти уязвимости могут вызвать серьёзные бизнес‑ и комплаенс‑проблемы. Решение состоит не только в использовании защищённой передачи. Необходимо также иметь просмотрщик, который ограничивает раскрытие документов, контролирует доступ и поддерживает рабочие процессы, ориентированные на конфиденциальность.
Два разных продукта, и разница имеет значение
Прежде чем продолжить: OnlineDocumentViewer.com — это бесплатный публичный веб‑сайт. Любой может загрузить файл, просмотреть его, и файл удаляется по окончании сессии. Нет учётных записей, ролей, разрешений и журнала аудита, потому что нет никого, к кому их привязать. Это хорошее решение для «Не могу открыть этот файл», но не отвечает на вопрос «Кто в моей организации может прочитать этот контракт».
Ответом на второй вопрос является Doconut SDK: тот же движок рендеринга, лицензированный и установленный на ваших собственных серверах, при этом ваше приложение обеспечивает аутентификацию, авторизацию, хранение и журналирование вокруг него.
Большая часть этой статьи посвящена второму продукту.
Почему важен ограниченный по времени доступ
Когда просмотрщик встраивается в веб‑приложение, способ доступа к документам — это вся история безопасности. Прямая ссылка на файл проста в реализации и остаётся действительной задолго после того, как получатель перестаёт её нуждаться.
Более безопасный шаблон — это краткоживущий, генерируемый сервером референс, привязанный к одному документу и одной сессии, при этом проверка авторизации выполняется при каждом запросе.
Этот шаблон реализует ваше приложение. Это не свойство компонента просмотрщика и, тем более, не свойство публичного веб‑сайта: у OnlineDocumentViewer.com нет модели идентичности, позволяющей ограничить что‑либо. Вместо этого у него есть сессия, которая заканчивается и вместе с ней удаляется файл.
Автоматическое удаление файлов и конфиденциальность: что нужно проверить
Регулятивные требования по конфиденциальности и внутренние политики безопасности часто требуют от команд не хранить персональные или конфиденциальные данные дольше, чем это необходимо. Многие бесплатные или общие конвертеры упоминают автоматическое удаление, но детали не всегда ясны. Некоторые удаляют файлы только после фиксированной задержки, в то время как другие могут сохранять временные копии дольше, чем ожидается.
При оценке любого просмотрщика документов или конвертера проверьте:
- Как долго загруженные файлы остаются доступными.
- Удаляются ли временные файлы после завершения сеанса просмотра.
- Создаются ли какие‑либо резервные копии или журналы исходных документов.
- Доступна ли история доступа для просмотра.
- Поддерживает ли сервис ваши внутренние требования к конфиденциальности и соответствию.
На этом сайте ответ на все пять пунктов прост: загрузка удаляется, когда сеанс просмотра заканчивается, нет аккаунта и библиотеки, история доступа не сохраняется, потому что нет идентичности, к которой её можно привязать, и никакие сертификаты это не подтверждают. Это хороший вариант для файла, который вы бы всё равно отправили по электронной почте, но неподходящий для служебного дела.
Встраивание просмотрщика без плагинов
Здесь два продукта окончательно расходятся, поэтому будьте точны, какой из них вы оцениваете.
| Бесплатный веб‑сайт | Doconut SDK | |
|---|---|---|
| Где работает | Наши серверы | Ваши |
| Встраиваемый в ваш продукт | Нет | Да |
| Самостоятельный хостинг | Нет | Да |
| Аутентификация и роли | Нет. Аккаунтов нет | Ваше приложение |
| Журнал аудита | Нет | Что бы ни записывал ваше приложение |
| Хранение | Удаляется после сеанса просмотра | Ваша политика |
| Стоимость | Бесплатно | Коммерческая лицензия |
| Форматы | 73 расширения | 75 расширений в 18 семейств, включая DICOM |
Оба решения работают без плагинов и рендерятся на сервере, поэтому ничего не исполняется на машине пользователя. Всё остальное в этом списке — различия, и выбор неверного столбца приводит к плохому результату при проверке безопасности.
Практические рекомендации по интеграции для безопасных SaaS‑рабочих процессов
Это относится к встроенному просмотрщику внутри вашего собственного продукта — то есть к SDK. Они не могут применяться к публичному веб‑сайту, в котором нет вашего сервера.
1. Генерируйте краткосрочный доступ на сервере
Получайте идентификатор документа, принадлежащий приложению, вместо того чтобы раскрывать оригинальный файл. Привязывайте ссылку к одному документу, одной операции и одному сеансу, задавая ей ограниченный срок жизни.
2. Возвращайте только то, что нужно клиенту
Фронтенд должен получать только ссылку для просмотра, никогда не получая путь к хранилищу или учётные данные.
3. Применяйте разрешения по ролям на сервере
Некоторые пользователи только читают; некоторые могут также печатать или экспортировать. Применяйте это на уровне запроса, а не скрывая кнопку в панели инструментов.
4. Записывайте события доступа
Пользователь, арендатор, идентификатор документа, операция, результат авторизации, метка времени. Идентификаторы и результаты — а не содержимое документа, не токены, не URL‑адреса хранилища.
Основные выводы
- Конфиденциальные документы не должны быть доступны через постоянные публичные ссылки.
- Вопрос к хостинговому конвертеру должен касаться хранения, а не шифрования: как долго файл хранится и кто может к нему получить доступ, пока он существует.
- Бесплатный просмотрщик на этом сайте не имеет аккаунтов, ролей и журнала аудита. Он удаляет загрузку после сеанса, и это вся модель доступа.
- Всё, что требует авторизации, разрешений, логирования или самостоятельного хостинга, относится к SDK, работающему внутри вашего приложения.
- Предпросмотр без плагинов удерживает пользователей внутри вашего продукта — но только встроенный SDK предоставляет вам возможность удерживать их.
- Утверждения о соответствии относятся к вашей развернутой системе, а не к компоненту. Мы не имеем сертификатов, и ни один из продуктов этого не меняет.
Часто задаваемые вопросы
В: Могу ли я запретить пользователям скачивать документ?
О: На этом веб‑сайте нельзя — у него нет аккаунтов, ролей и модели разрешений. В вашем собственном приложении с SDK панель инструментов находится под вашим контролем, и ваш сервер всё равно должен авторизовать каждый запрос. Скрытие кнопки не является контролем доступа.
В: Моё приложение хранит документы в облачном хранилище. Можно ли применить этот рабочий процесс?
О: С SDK — да. Ваш бекенд получает идентификатор документа, принадлежащий приложению, определяет его место в хранилище, проверяет, что пользователь имеет к нему доступ, и передаёт файл просмотрщику. Исходный путь к хранилищу никогда не попадает в браузер. Бесплатный веб‑сайт этого не может: у него один ввод — загрузка файла от пользователя.
В: Достаточно ли автоматическое удаление файлов для соответствия требованиям?
О: Нет. Очистка — лишь один из множества контролей; соответствие зависит от вашего рабочего процесса, политик, логирования, контроля доступа и обработки данных. Проверьте поведение хранения в реальной среде, и имейте в виду, что ни один наш сертификат это не подтверждает — у нас их нет.
В: Что если пользователю нужно распечатать документ?
О: Бесплатный просмотрщик умеет печатать; ничего настраивать не требуется и никому не нужно. В вашем собственном приложении печать — это решение, принимаемое по ролям, которое вы реализуете и контролируете на сервере.
Заключение
Загрузка конфиденциального файла в онлайн‑конвертер — это решение, касающееся хранения и доступа, а не формы загрузки. Спросите, как долго файл хранится, кто может к нему получить доступ и где он обрабатывается.
Для одноразового файла, не являющегося конфиденциальным, Онлайн Просмотрщик Документов открывает его бесплатно, без учётной записи, и удаляет его, когда вы закрываете вкладку. Для предварительного просмотра документов внутри вашего собственного SaaS‑продукта — с вашей аутентификацией, вашими правами доступа и вашим хранилищем — вам нужен Doconut SDK, который работает на ваших серверах и никогда не отправляет документ никуда.
Два продукта. Выберите тот, который соответствует документу.