Нічого не надсилається — ось як це перевірити
Майже кожен файловий конвертер десь має обіцянку про приватність. Майже жоден не дає способу її перевірити. Ця сторінка дає: кожна перевірка нижче займає близько тридцяти секунд, потребує лише браузера, який ви вже відкрили, і одразу викрила б нас, якби ми говорили неправду.
Що саме стверджується
Коли ви конвертуєте файл тут, байти цього файлу нікуди не передаються. Декодери й кодери — це модулі WebAssembly, які браузер завантажує один раз і далі виконує локально, на вашому власному процесорі. У коді цього сайту немає точки прийому файлів, куди вміст міг би потрапити, бо її ніколи не писали.
Це вузьке твердження, і вузьке навмисно. Воно про ваші файли. Це не твердження, що сторінка взагалі не робить мережевих запитів — розділ нижче перелічує ті, які вона робить, бо сторінка, яка їх приховує, не заслуговувала б на довіру і в першому твердженні.
Перевірте самі: вкладка Network
Відкрийте будь-який інструмент на сайті. Перш ніж щось конвертувати, натисніть F12 (або Cmd+Option+I на Mac), щоб відкрити інструменти розробника, і перейдіть на вкладку Network. Увімкніть «Preserve log», якщо така опція є.
Тепер перетягніть файл і конвертуйте його. Дивіться на список. Ви побачите, як уперше завантажується модуль WebAssembly для цього формату — файл на кшталт heic_bg.wasm із цього ж домену — і не побачите нічого, що несе ваш файл у зворотному напрямку. Відсортуйте за розміром або відфільтруйте список за Fetch/XHR: вивантаження мусило б з'явитися як запит із вагою вашого файлу в тілі, і сховати його від цієї панелі неможливо.
Саме ця відсутність і є суттю. Конвертер, який вивантажує файли, не може цього приховати тут, бо браузер показує кожен запит сторінки — зокрема й ті, які сторінка воліла б не показувати.
Сильніша перевірка: вимкніть мережу
Вкладка Network показує, що сторінка зробила. Ця перевірка показує, на що вона взагалі здатна. Відкрийте будь-яку сторінку інструмента, потім від'єднайтеся від Wi-Fi або увімкніть режим польоту — і конвертуйте файл. Він конвертується.
Одне чесне застереження: перша конвертація кожного формату потребує завантаження відповідного модуля WebAssembly, тож зробіть одну конвертацію онлайн, перш ніж вимикати мережу, інакше модуля ще не буде в кеші. Після цього все працює суто локально, і робота в офлайні доводить це так, як жодна обіцянка не зможе.
Перевірка, яку не доводиться робити руками
Кожна сторінка тут віддається із заголовком Content Security Policy: це перелік — який виконує ваш браузер, а не ми — єдиних адрес, куди цій сторінці взагалі дозволено щось надсилати. Наш можна прочитати у заголовках відповіді будь-якої сторінки, у тій самій вкладці Network.
Це важливо, бо це не обіцянка, а обмеження. Якби JavaScript цього сайту спробував надіслати ваше фото на сервер, не названий у політиці, браузер відхилив би запит і зафіксував порушення. Саме політика робить «нічого не надсилається» перевірним машиною, а не питанням репутації.
Що сайт таки надсилає
Сенс цієї сторінки — говорити прямо. На робочому сайті privatetoolkit.org завантажується Google Analytics, який повідомляє, що сторінку переглянули і приблизно з якої частини світу. Він налаштований із вимкненими Google Signals і персоналізацією реклами. Він знає, що на сторінку хтось зайшов; він не отримує — і не міг би отримати — нічого про ваші файли, бо код конвертації й код аналітики ніде не перетинаються.
На сайті також є рекламний слот, який на момент написання повністю вимкнений: жоден рекламний скрипт не завантажується. Якщо його увімкнуть назад, це буде один банер від однієї мережі, і він буде підписаний як реклама.
Це повний перелік. Ні акаунтів, ні власних кук поза тими, що ставить аналітика, ні сховища файлів — і нічого зберігати, бо ваші файли сюди не потрапляють.
Чого коштує такий підхід
Було б нечесно продавати «працює на вашому пристрої» як щось безкоштовне. Роботу виконує ваш процесор, тож довге відео потребує реального часу, а дуже великий файл — достатньо пам'яті, щоб його втримати; серверна ферма була б швидшою. Деякі конвертації, які під силу серверу, у браузері неможливі взагалі.
І конвертація контейнера змінює контейнер, а не кодек. Відео HEVC з iPhone стане файлом MP4, який усе одно не відтвориться на машині без декодера HEVC. Ми кажемо про це одразу, а не повідомляємо про успіх, марність якого ви виявили б згодом.
Часті запитання
Чи справді я можу перевірити це сам, не будучи розробником?
Так. Перевірка у вкладці Network — це відкрити панель і подивитися на список: ви перевіряєте, чи щось там є, а не читаєте код. Офлайн-перевірка потребує ще менше: вимкніть Wi-Fi і подивіться, чи інструмент працює далі.
Чи видаляються мої файли після конвертації?
Немає чого видаляти. Файли не потрапляють на сервер, тож ніде немає копії, яку ми могли б зберігати чи стирати. Більшість конвертерів відповідають на це питання строком зберігання; тут чесна відповідь у тому, що питання не виникає.
Чи є обмеження на розмір файлу?
Ми жодного не встановлюємо. Практична межа — це пам'ять вашого пристрою, бо файл тримається саме там під час конвертації. Нічого не обмежується заради тарифів, бо конвертація нічого нам не коштує.
Чи працює це офлайн?
Так, щойно модуль WebAssembly для потрібного формату вже завантажений. Зробіть одну конвертацію такого типу онлайн — і далі інструмент працюватиме з вимкненою мережею.
Звідки я знаю, що сам модуль WebAssembly не надсилає мій файл кудись?
На нього поширюється та сама Content Security Policy: він виконується всередині сторінки й обмежений тим самим переліком дозволених адрес. Усе, що він спробував би надіслати деінде, браузер заблокував би й зафіксував як порушення.