Коротко
Scissor PDF никогда не получает ваши файлы. Когда вы открываете инструмент, браузер загружает сайт и PDF-движок. Когда вы выбираете файл, он считывается в память вкладки браузера, обрабатывается этим движком на вашем собственном процессоре, а результат возвращается вам в виде загрузки. Закрытие вкладки стирает всё.
Что где работает
PDF-движок, который объединяет, разделяет, переставляет, поворачивает, сжимает, нумерует, наносит водяные знаки, шифрует и расшифровывает PDF, написан на Rust с использованием открытой библиотеки lopdf и скомпилирован в WebAssembly. WebAssembly — это изолированный формат (песочница), который любой современный браузер выполняет почти с нативной скоростью. Движок работает в фоновом воркере, чтобы страница оставалась отзывчивой.
Предпросмотр страниц и PDF в JPG используют PDF.js — открытый рендерер, встроенный в Firefox, который также работает локально.
Сервер — это обычный хостинг статических файлов. У него нет точки приёма загрузок, базы данных и кода приложения, так что принять документ попросту нечему.
Проверьте сами
Откройте инструменты разработчика в браузере, перейдите на вкладку Network и воспользуйтесь любым инструментом. Вы увидите загрузку собственных файлов страницы и ни одного запроса с вашим документом. Можно также отключиться от интернета после загрузки страницы: все инструменты продолжат работать.
Кроме того, сайт отправляет строгую политику безопасности контента (Content Security Policy), которая велит браузеру не давать странице связываться с любыми другими серверами, поэтому даже ошибка в нашем коде не смогла бы отправить ваши файлы куда-либо.
Работает офлайн, устанавливается как приложение
После первого посещения service worker сохраняет сайт и движок в кеше браузера, поэтому инструменты открываются и работают без подключения. В Chrome или Edge выберите «Установить» в адресной строке. В Safari выберите «Добавить в Dock» (Mac) или «На экран «Домой»» (iPhone и iPad).
Ограничения локальной обработки
Поскольку работа выполняется на вашем устройстве, очень большие файлы ограничены его памятью. Несколько сотен мегабайт — не проблема для обычного ноутбука, а телефоны справляются с повседневными документами. Скорость зависит от вашего процессора, а не от очереди на сервере, и на практике это обычно быстрее, чем загружать и скачивать файлы.