Маркетплейс и плагины/Политика проверки маркетплейса и чек-лист
Политика проверки маркетплейса и чек-лист
v1.0.x · обновлено 2026-07-19
Каждый community-плагин, отправленный через
личный кабинет, проходит проверку перед
публикацией. Эта страница — публичный чек-лист, те же критерии, что использует
проверка, — чтобы вы могли выполнить все требования до отправки.
Проверка идёт в два этапа: автоматическая по этому чек-листу, затем
модератор-человек, который принимает финальное решение. Ничего не публикуется без
одобрения модератора, и автоматика никогда не одобряет сама.
Как выносится вердикт
Каждый критерий оценивается как pass / warn / fail с короткой причиной (а для
модератора — с точным подтверждением).
Хард-фейл безопасности (любой пункт раздела A) ⇒ автоматический отказ. Вы
получаете причины и можете исправить и отправить заново.
Предупреждения или мелкие замечания ⇒ заявка помечается для человека,
который взвешивает их и решает.
Всё pass ⇒ заявка всё равно идёт к человеку, который принимает финальное
решение о публикации.
[!IMPORTANT]
Автоматическая проверка никогда не публикует плагин. Финальное решение всегда за
модератором-человеком, и ничего не попадает в каталог без него.
A. Безопасность — фейл здесь = авто-отказ
Это жёсткие требования. Любой провал автоматически отклоняет заявку.
A1 — Никаких захардкоженных секретов. Ни API-ключей, ни токенов, паролей или
приватных ключей — нигде в артефакте или метаданных. Указывайте доступы по имени
в capability-манифесте;
значения пользователь вводит при установке.
A2 — Никакого вредоносного кода. Ни reverse-shell, ни выполнения удалённого
кода, ни майнеров, ни ransomware и подобных паттернов.
A3 — Никакой эксфильтрации данных. Нельзя отправлять данные пользователя,
доступы или память на незаявленные хосты. Каждый хост, к которому обращается плагин,
должен быть в поле network манифеста.
A4 — Никаких операций сверх заявленных прав. Нет доступа к файловой системе вне
собственной директории плагина, нет запуска процессов без заявленного exec, нет
повышения привилегий, нет чтения секретов хоста (env, ssh-ключи, системные файлы).
A5 — Никакой обфускации. Нет упакованного, спрятанного минификацией или иначе
обфусцированного кода, скрывающего поведение.
A6 — Чистые зависимости. Нет известно-вредоносных или известно-уязвимых пакетов;
зависимости запинены.
A7 — Заявленные права совпадают с кодом. Capability-манифест должен отражать то,
что реально делает код, — никаких незаявленных сети, файловой системы, exec, каналов
или доступов. Это самая важная проверка корректности.
A8 — Безопасная работа с собственной поверхностью. Нет command-injection,
SQL-injection или path-traversal в коде самого плагина.
B. Корректность
B1 — Валидный манифест. В manifest.json есть обязательные поля, валидный slug,
версия в формате semver и рабочая точка входа.
C7 — Валидные ссылки. Сайт/репозиторий, если указан, — валидный URL https://.
Ссылка на донат, если указана, — валидная ссылка https:// на известный
донат-хост (например Boosty, Patreon, PayPal, ЮMoney); произвольные или фишинговые
хосты отклоняются.
C8 — Человекочитаемые права. Поле description capability-манифеста объясняет
простым языком, что и зачем нужно плагину.
D. Политика, право и контент
D1 — Никакого запрещённого контента. Ничего незаконного, вредоносного или
противоречащего политике платформы.
D2 — Никакого выдавания себя за других. Нет злоупотребления товарными знаками и
выдавания себя за другой бренд или команду AiHummer.
D3 — Никаких вводящих в заблуждение заявлений. Плагин делает то, что заявлено.
D4 — Связный язык локализации. Тексты RU и EN настоящие и связные, а не машинная
каша.
D5 — Не спам. Не пустой, не дубликат и не спам.
Что ведёт к авто-отказу, а что решает человек
Исход
Триггер
Авто-отказ
Любой хард-фейл безопасности из раздела A.
Помечено → человек
Предупреждения или мелкие замечания в B/C/D (слабое описание, спорная категория, мелкое замечание к манифесту).
Решает человек
Любая заявка, прошедшая автоматику, всё равно требует явного одобрения модератора для публикации.
Allowlist донат-хостов
Ссылка на донат необязательна и всегда внешняя — маркетплейс никогда не
обрабатывает деньги. Если вы её добавляете, она должна вести на известную
донат-платформу по https:// (например Boosty, Patreon, PayPal или ЮMoney). Ссылки
на неизвестные хосты, сокращатели или что-либо похожее на фишинг отклоняются.
Community-плагины бесплатны; ссылка на донат — просто способ для благодарных
пользователей поддержать вас.
Каждый community-плагин, отправленный через
[личный кабинет](/v1.0/marketplace/submit-plugin), проходит проверку перед
публикацией. Эта страница — **публичный чек-лист**, те же критерии, что использует
проверка, — чтобы вы могли выполнить все требования **до** отправки.
Проверка идёт в два этапа: **автоматическая** по этому чек-листу, затем
**модератор-человек**, который принимает финальное решение. Ничего не публикуется без
одобрения модератора, и автоматика никогда не одобряет сама.
## Как выносится вердикт
- Каждый критерий оценивается как **pass / warn / fail** с короткой причиной (а для
модератора — с точным подтверждением).
- **Хард-фейл безопасности** (любой пункт раздела A) ⇒ **автоматический отказ**. Вы
получаете причины и можете исправить и отправить заново.
- **Предупреждения или мелкие замечания** ⇒ заявка **помечается для человека**,
который взвешивает их и решает.
- **Всё pass** ⇒ заявка всё равно идёт к **человеку**, который принимает финальное
решение о публикации.
> [!IMPORTANT]
> Автоматическая проверка **никогда** не публикует плагин. Финальное решение всегда за
> модератором-человеком, и ничего не попадает в каталог без него.
## A. Безопасность — фейл здесь = авто-отказ
Это жёсткие требования. Любой провал автоматически отклоняет заявку.
- **A1 — Никаких захардкоженных секретов.** Ни API-ключей, ни токенов, паролей или
приватных ключей — нигде в артефакте или метаданных. Указывайте доступы **по имени**
в [capability-манифесте](/v1.0/marketplace/submit-plugin#шаг-3--задекларируйте-capability-манифест);
значения пользователь вводит при установке.
- **A2 — Никакого вредоносного кода.** Ни reverse-shell, ни выполнения удалённого
кода, ни майнеров, ни ransomware и подобных паттернов.
- **A3 — Никакой эксфильтрации данных.** Нельзя отправлять данные пользователя,
доступы или память на незаявленные хосты. Каждый хост, к которому обращается плагин,
должен быть в поле `network` манифеста.
- **A4 — Никаких операций сверх заявленных прав.** Нет доступа к файловой системе вне
собственной директории плагина, нет запуска процессов без заявленного `exec`, нет
повышения привилегий, нет чтения секретов хоста (env, ssh-ключи, системные файлы).
- **A5 — Никакой обфускации.** Нет упакованного, спрятанного минификацией или иначе
обфусцированного кода, скрывающего поведение.
- **A6 — Чистые зависимости.** Нет известно-вредоносных или известно-уязвимых пакетов;
зависимости запинены.
- **A7 — Заявленные права совпадают с кодом.** Capability-манифест должен отражать то,
что реально делает код, — никаких незаявленных сети, файловой системы, exec, каналов
или доступов. Это самая важная проверка корректности.
- **A8 — Безопасная работа с собственной поверхностью.** Нет command-injection,
SQL-injection или path-traversal в коде самого плагина.
## B. Корректность
- **B1 — Валидный манифест.** В `manifest.json` есть обязательные поля, валидный slug,
версия в формате semver и рабочая точка входа.
- **B2 — Загружается.** Плагин корректно инициализируется.
- **B3 — Корректные, минимальные права.** Capability-манифест парсится и декларирует
**минимум** необходимого — ничего лишнего.
- **B4 — Новая или увеличенная версия.** `version` выше любой ранее отправленной
версии.
- **B5 — Нет коллизии slug.** Slug не совпадает с зарезервированным или первопартийным
именем.
## C. Полнота — паритет с карточкой магазина
- **C1 — Названия и описания на RU + EN.** Название, краткое и полное описание на двух
языках, всё осмысленно (без заглушек).
- **C2 — Категория.** Одна категория из разрешённого набора.
- **C3 — Иконка + хотя бы один скриншот.** Валидные изображения.
- **C4 — Версия + чейнджлог.** Версия и человекочитаемые заметки чейнджлога.
- **C5 — Идентичность автора.** Определимый отправитель.
- **C6 — Лицензия.** Лицензия из разрешённого набора.
- **C7 — Валидные ссылки.** Сайт/репозиторий, если указан, — валидный URL `https://`.
**Ссылка на донат**, если указана, — валидная ссылка `https://` на **известный
донат-хост** (например Boosty, Patreon, PayPal, ЮMoney); произвольные или фишинговые
хосты отклоняются.
- **C8 — Человекочитаемые права.** Поле `description` capability-манифеста объясняет
простым языком, что и зачем нужно плагину.
## D. Политика, право и контент
- **D1 — Никакого запрещённого контента.** Ничего незаконного, вредоносного или
противоречащего политике платформы.
- **D2 — Никакого выдавания себя за других.** Нет злоупотребления товарными знаками и
выдавания себя за другой бренд или команду AiHummer.
- **D3 — Никаких вводящих в заблуждение заявлений.** Плагин делает то, что заявлено.
- **D4 — Связный язык локализации.** Тексты RU и EN настоящие и связные, а не машинная
каша.
- **D5 — Не спам.** Не пустой, не дубликат и не спам.
## Что ведёт к авто-отказу, а что решает человек
| Исход | Триггер |
|---|---|
| **Авто-отказ** | Любой хард-фейл безопасности из **раздела A**. |
| **Помечено → человек** | Предупреждения или мелкие замечания в B/C/D (слабое описание, спорная категория, мелкое замечание к манифесту). |
| **Решает человек** | Любая заявка, прошедшая автоматику, всё равно требует явного одобрения модератора для публикации. |
## Allowlist донат-хостов
Ссылка на донат **необязательна** и всегда **внешняя** — маркетплейс никогда не
обрабатывает деньги. Если вы её добавляете, она должна вести на **известную
донат-платформу** по `https://` (например Boosty, Patreon, PayPal или ЮMoney). Ссылки
на неизвестные хосты, сокращатели или что-либо похожее на фишинг отклоняются.
Community-плагины **бесплатны**; ссылка на донат — просто способ для благодарных
пользователей поддержать вас.
## Что дальше
- [Публикация плагина](/v1.0/marketplace/submit-plugin) — пошаговый разбор отправки.
- [Plugin SDK](/v1.0/marketplace/sdk) — сборка плагина и его `manifest.json`.
- [Маркетплейс: обзор и уровни](/v1.0/marketplace/overview-tiers) — чем отличаются
официальный и community-каталоги.