Перевіряється під час кожної збірки
Прозорість
Мовар дає кілька обіцянок. Кожна з них звіряється із зафіксованим кодом на кожній збірці — ті самі перевірки, що формують значок у README. Ось живі результати.
-
Open source
ПеревіреноЩо ми перевірили
root LICENSE is MIT, an OSI-approved open-source license
Де це заявлено: hero badge + footer
-
Non-commercial
ПеревіреноЩо ми перевірили
no payment, advertising, or affiliate dependency in any workspace package; no paid-tier field in the settings schema; and no ad or checkout host in the extension or site source — there is nothing to buy and nothing about you to sell
Де це заявлено: footer + feedback section
-
Nothing leaves your browser
ПеревіреноЩо ми перевірили
manifest declares data collection 'none', no analytics dependency, and no fetch/XHR/WebSocket/sendBeacon in the extension runtime
Де це заявлено: hero badge + OG card + privacy section + limitations
-
On-page filtering stays off until you turn it on
ПеревіреноЩо ми перевірили
`defaultSettings.contentModification` is false in @movar/settings — DOM filtering ships opt-in
Де це заявлено: how-it-works step 2 + limitations
Про перевірку мережевої тиші
Обіцянку «нічого не покидає браузер» перевіряють двічі. На кожному коміті сканування шукає в коді розширення виклики назовні (fetch, XMLHttpRequest, WebSocket, sendBeacon, EventSource). На кожній збірці те саме сканування проходить уже по зібраному пакунку — разом із залежностями та кодом самого фреймворку, — і один збіг провалює збірку. Не ловить воно одного: виклику, який код складає динамічно вже під час роботи, — тож сприймайте це як вагомий доказ, а не абсолютну гарантію. Збірка також підтверджує, що маніфест не декларує збору даних і що в пакунку немає жодної аналітичної залежності.
Чому Мовар не може почати стежити за вами непомітно
Перевірки вище описують ту версію, яку ви маєте. Але побоювання, яке справді озвучують, стосується наступної: розширення поводиться добре сьогодні, а завтра починає збирати дані. Це побоювання заслужене — таке вже траплялося з іншими розширеннями. Ось що стоїть на заваді, і жоден із цих пунктів не зводиться до «просто повірте нам».
-
Кожен рядок публічний — а збірка відтворювана
Мовар має ліцензію MIT і розробляється відкрито: кожен коміт, кожен реліз, кожне обговорення змін. Саме по собі це доводить лише те, що вихідний код чистий, — але не те, що саме з нього зібрано пакунок, який ви встановили. Тому скрипт релізу збирає розширення двічі й падає, якщо два пакунки різняться хоч на байт. Будь-хто може перезібрати позначений тегом коміт і звірити його з пакунком із магазину — файл за файлом, хеш за хешем. Рецензенти Firefox роблять саме це, за інструкціями зі збірки, що лежать у репозиторії.
Перевірте самі
-
Мовар ніколи не просить дозволу, який дав би змогу за вами стежити
Його маніфест запитує три вузькі API: storage — для ваших налаштувань, alarms — щоб тимчасова пауза сама завершилася, і declarativeNetRequest — для мовних уподобань, які він повідомляє сайтам. Доступ до сторінок, які ви відвідуєте, у Chrome і Firefox необовʼязковий: ви надаєте його під час налаштування й можете забрати назад. А заміна мови — декларативна: Мовар передає браузерові правило, і застосовує його браузер. Мовар не бачить ні самого запиту, ні того, що прийшло у відповідь.
Перевірте самі
-
Новий дозвіл не може зʼявитися непомітно
Якщо майбутня версія попросить більше, браузер спершу зупиниться й запитає вас — і це не любʼязність, яку обирає розробник. Chrome повністю вимикає розширення, доки ви не погодитеся на новий дозвіл. Firefox узагалі відмовляється встановлювати оновлення й лишає працювати ту версію, яку ви вже маєте. Немає шляху від «трьох вузьких дозволів» до «читає все, що ви набираєте», який не вивів би діалог на ваш екран.
Перевірте самі
-
Кожне оновлення проходить перевірку, перш ніж дійти до вас
Оновлення приходять через Chrome Web Store, Firefox Add-ons і App Store; власного сервера оновлень у Мовара немає. Усі три перевіряють кожне подання, а не лише перше: Chrome прямо про це пише й найпильніше дивиться саме на широкі дозволи до сайтів та обфускований код. Mozilla для зібраних розширень на кшталт Мовара йде далі: перезбирає додаток із наданого вихідного коду й вимагає, щоб різниці з опублікованим пакунком не було жодної.
Перевірте самі
-
Збірка стає червоною, якщо код навчиться «дзвонити додому»
На кожному коміті та в CI перевірка шукає в коді розширення будь-який мережевий виклик назовні — fetch, XMLHttpRequest, WebSocket, sendBeacon, EventSource — а також будь-яку аналітичну залежність і декларацію, що Мовар не збирає даних. А далі кожна збірка проганяє те саме сканування по щойно зібраному пакунку, разом із залежностями та кодом самого фреймворку, — тож запит, який приїхав усередині чужого пакета, провалює збірку так само гучно. Один збіг будь-де — і збірка спиняється; це не та річ, яку рецензент може поспіхом пропустити. Обидві перевірки — це кілька десятків рядків, які можна прочитати за хвилину.
Перевірте самі
-
З нашого боку немає сервера, який міг би передумати
У Мовара взагалі немає бекенду: ні акаунтів, ні віддалених налаштувань, ні перемикачів функцій — нічого, що можна ввімкнути. Manifest V3 до того ж забороняє розширенням завантажувати код звідкись іззовні: усе, що Мовар виконує, лежить усередині перевіреного пакета. Тож зміна поведінки не може бути перемикачем, який хтось клацнув у вівторок. Це має бути публічний коміт, успішна збірка, перевірка в магазині й нова версія, що прийшла на ваш пристрій.
Перевірте самі
Ніщо з цього не робить стеження неможливим у принципі — для будь-якої програми, яку ви запускаєте, такої гарантії не існує. Але це прибирає всі тихі шляхи. Версія Мовара, яка почала б щось збирати, мусила б пережити публічний коміт, перевірку збірки, написану саме щоб її зловити, три незалежні перевірки магазинів і — щойно їй знадобиться дозвіл, якого вона не має, — запит на вашому власному екрані. Десь у цьому ланцюжку ви про це дізнаєтеся.