movar.fyi

Перевіряється під час кожної збірки

Прозорість

Мовар дає кілька обіцянок. Кожна з них звіряється із зафіксованим кодом на кожній збірці — ті самі перевірки, що формують значок у README. Ось живі результати.

Про перевірку мережевої тиші

Обіцянку «нічого не покидає браузер» перевіряють двічі. На кожному коміті сканування шукає в коді розширення виклики назовні (fetch, XMLHttpRequest, WebSocket, sendBeacon, EventSource). На кожній збірці те саме сканування проходить уже по зібраному пакунку — разом із залежностями та кодом самого фреймворку, — і один збіг провалює збірку. Не ловить воно одного: виклику, який код складає динамічно вже під час роботи, — тож сприймайте це як вагомий доказ, а не абсолютну гарантію. Збірка також підтверджує, що маніфест не декларує збору даних і що в пакунку немає жодної аналітичної залежності.

Чому Мовар не може почати стежити за вами непомітно

Перевірки вище описують ту версію, яку ви маєте. Але побоювання, яке справді озвучують, стосується наступної: розширення поводиться добре сьогодні, а завтра починає збирати дані. Це побоювання заслужене — таке вже траплялося з іншими розширеннями. Ось що стоїть на заваді, і жоден із цих пунктів не зводиться до «просто повірте нам».

  1. Кожен рядок публічний — а збірка відтворювана

    Мовар має ліцензію MIT і розробляється відкрито: кожен коміт, кожен реліз, кожне обговорення змін. Саме по собі це доводить лише те, що вихідний код чистий, — але не те, що саме з нього зібрано пакунок, який ви встановили. Тому скрипт релізу збирає розширення двічі й падає, якщо два пакунки різняться хоч на байт. Будь-хто може перезібрати позначений тегом коміт і звірити його з пакунком із магазину — файл за файлом, хеш за хешем. Рецензенти Firefox роблять саме це, за інструкціями зі збірки, що лежать у репозиторії.

    Перевірте самі

  2. Мовар ніколи не просить дозволу, який дав би змогу за вами стежити

    Його маніфест запитує три вузькі API: storage — для ваших налаштувань, alarms — щоб тимчасова пауза сама завершилася, і declarativeNetRequest — для мовних уподобань, які він повідомляє сайтам. Доступ до сторінок, які ви відвідуєте, у Chrome і Firefox необовʼязковий: ви надаєте його під час налаштування й можете забрати назад. А заміна мови — декларативна: Мовар передає браузерові правило, і застосовує його браузер. Мовар не бачить ні самого запиту, ні того, що прийшло у відповідь.

    Перевірте самі

  3. Новий дозвіл не може зʼявитися непомітно

    Якщо майбутня версія попросить більше, браузер спершу зупиниться й запитає вас — і це не любʼязність, яку обирає розробник. Chrome повністю вимикає розширення, доки ви не погодитеся на новий дозвіл. Firefox узагалі відмовляється встановлювати оновлення й лишає працювати ту версію, яку ви вже маєте. Немає шляху від «трьох вузьких дозволів» до «читає все, що ви набираєте», який не вивів би діалог на ваш екран.

    Перевірте самі

  4. Кожне оновлення проходить перевірку, перш ніж дійти до вас

    Оновлення приходять через Chrome Web Store, Firefox Add-ons і App Store; власного сервера оновлень у Мовара немає. Усі три перевіряють кожне подання, а не лише перше: Chrome прямо про це пише й найпильніше дивиться саме на широкі дозволи до сайтів та обфускований код. Mozilla для зібраних розширень на кшталт Мовара йде далі: перезбирає додаток із наданого вихідного коду й вимагає, щоб різниці з опублікованим пакунком не було жодної.

    Перевірте самі

  5. Збірка стає червоною, якщо код навчиться «дзвонити додому»

    На кожному коміті та в CI перевірка шукає в коді розширення будь-який мережевий виклик назовні — fetch, XMLHttpRequest, WebSocket, sendBeacon, EventSource — а також будь-яку аналітичну залежність і декларацію, що Мовар не збирає даних. А далі кожна збірка проганяє те саме сканування по щойно зібраному пакунку, разом із залежностями та кодом самого фреймворку, — тож запит, який приїхав усередині чужого пакета, провалює збірку так само гучно. Один збіг будь-де — і збірка спиняється; це не та річ, яку рецензент може поспіхом пропустити. Обидві перевірки — це кілька десятків рядків, які можна прочитати за хвилину.

    Перевірте самі

  6. З нашого боку немає сервера, який міг би передумати

    У Мовара взагалі немає бекенду: ні акаунтів, ні віддалених налаштувань, ні перемикачів функцій — нічого, що можна ввімкнути. Manifest V3 до того ж забороняє розширенням завантажувати код звідкись іззовні: усе, що Мовар виконує, лежить усередині перевіреного пакета. Тож зміна поведінки не може бути перемикачем, який хтось клацнув у вівторок. Це має бути публічний коміт, успішна збірка, перевірка в магазині й нова версія, що прийшла на ваш пристрій.

    Перевірте самі

Ніщо з цього не робить стеження неможливим у принципі — для будь-якої програми, яку ви запускаєте, такої гарантії не існує. Але це прибирає всі тихі шляхи. Версія Мовара, яка почала б щось збирати, мусила б пережити публічний коміт, перевірку збірки, написану саме щоб її зловити, три незалежні перевірки магазинів і — щойно їй знадобиться дозвіл, якого вона не має, — запит на вашому власному екрані. Десь у цьому ланцюжку ви про це дізнаєтеся.

Читати повну політику приватності →