тонко · точно смотрим глубже детали решают
расширенияchromefirefoxmanifest v3

Manifest v3 и расширение, которое проходит ревью с первого раза

Браузерное расширение — продукт с повышенными требованиями: чужая среда, чужие данные, строгие ревью магазинов. Разбираем, как сделать расширение, которое проходит Chrome Web Store и Firefox Add-ons без доработок.

Почему расширения сложнее обычных продуктов

Расширение живёт в чужой среде: браузер, чужие сайты, чужие данные. Ошибка в расширении может сломать работу пользователя на любом сайте, украсть данные, замедлить браузер. Поэтому магазины (Chrome Web Store, Firefox Add-ons) проверяют расширения строже, чем обычные приложения.

Ревью может занять недели, если:

  • запрашиваете слишком много разрешений;
  • неясно, зачем расширение нужно;
  • политика приватности не соответствует коду;
  • код содержит обфускацию или подозрительные паттерны.

Мы делаем расширения, которые проходят ревью с первого раза. Вот как.

Manifest v3: что изменилось

Manifest v3 — новая архитектура расширений Chrome. Главные изменения:

  • Service Workers вместо background pages (экономия памяти, но сложнее отладка);
  • Декларативные правила вместо программных (быстрее, безопаснее, но менее гибко);
  • Ограничения на удалённый код (весь код должен быть в пакете, нельзя подгружать с сервера).

Manifest v3 сложнее в разработке, но безопаснее и стабильнее. Мы пишем под v3 с первого дня.

Минимальные разрешения

Главное правило: запрашивайте минимум разрешений. Не «доступ ко всем сайтам», а «доступ к конкретному домену». Не «чтение всех вкладок», а «чтение текущей вкладки».

Каждое разрешение — это риск и вопрос ревьюера: «зачем это нужно?». Если не можете объяснить одной фразой — не запрашивайте.

Пример: расширение парсит цены на одном сайте. Запрашиваем host_permissions только для этого домена, не для всех сайтов.

Политика приватности

Политика приватности — не формальность, а обязательный документ. Ревьюеры читают её и сверяют с кодом: если в коде есть телеметрия, а в политике не указано — отказ.

Что должно быть в политике:

  • какие данные собираете;
  • куда отправляете;
  • как используете;
  • как пользователь может удалить данные.

Мы пишем политику до кода, чтобы не было сюрпризов на ревью.

Архитектура контекстов

Расширение работает в нескольких контекстах:

  • Popup — всплывающее окно по клику на иконку;
  • Content Script — скрипт, внедрённый в страницу сайта;
  • Background (Service Worker) — фоновый процесс, живёт постоянно;
  • Options — страница настроек.

Каждый контекст изолирован: content script не видит background, popup не видит content script. Связь — через сообщения (message passing).

Мы проектируем архитектуру до кода: что где живёт, как общается, где хранятся данные.

FAQ

Сколько стоит разработка расширения? От 100 000 ₽ за простой инструмент (одна функция) до 500 000 ₽ за сложную интеграцию с API и аналитикой.

Как быстро можно запустить? Разработка — 2–6 недель. Ревью — 1–3 недели (если всё правильно, то 3–5 дней).

Нужно ли платить за публикацию? Chrome Web Store — разовый платёж 5$ за аккаунт разработчика. Firefox Add-ons — бесплатно.

Какие браузеры поддерживаются? Chrome, Firefox, Edge, Brave, Opera. Manifest v3 — стандарт, работает везде.

Что если расширение сломается после обновления браузера? Мы сопровождаем расширение: обновляем под новые API, фиксим баги, проходим ревью заново. Поддержка — отдельный контракт.