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