Marketplace și pluginuri/Politica de recenzie a marketplace-ului și lista de verificare
Politica de recenzie a marketplace-ului și lista de verificare
v1.0.x · actualizat 2026-07-19
Fiecare plugin de comunitate trimis prin
cabinetul personal este supus unei recenzii
înainte de a putea fi publicat. Această pagină este lista de verificare publică —
aceleași criterii pe care le folosește recenzia — pentru ca să poți îndeplini fiecare
cerință înainte de a trimite.
Recenzia are două etape: o verificare automată față de această listă de
verificare, apoi un moderator uman care ia decizia finală. Nimic nu este publicat
fără aprobarea moderatorului, iar automatizarea nu aprobă niciodată pe cont propriu.
Cum se ajunge la un verdict
Fiecare criteriu este notat cu pass / warn / fail cu un motiv scurt (iar, pentru
moderator, cu dovada exactă).
Un eșec critic de securitate (orice element din secțiunea A) ⇒ respingere
automată. Primești motivele și poți corecta și retrimite.
Avertismentele sau problemele minore ⇒ trimiterea este semnalată pentru un
om, care le cântărește și decide.
Totul „pass” ⇒ tot ajunge la un om, care ia decizia finală de publicare.
[!IMPORTANT]
Recenzia automată nu publică niciodată un plugin. Un moderator uman ia
întotdeauna decizia finală, iar nimic nu ajunge în catalog fără aceasta.
A. Securitate — un eșec aici respinge automat
Acestea sunt cerințe stricte. Orice eșec respinge trimiterea automat.
A1 — Fără secrete codate în cod. Niciun fel de chei API, token-uri, parole sau
chei private, nicăieri în artefact sau metadate. Declară acreditările după nume
în manifestul de capabilități;
clientul furnizează valorile la momentul instalării.
A2 — Fără cod rău intenționat. Fără reverse shell-uri, evaluare de cod la
distanță, mineri, ransomware sau tipare similare.
A3 — Fără exfiltrare de date. Fără trimiterea datelor utilizatorului, a
acreditărilor sau a memoriei către gazde nedeclarate. Fiecare gazdă pe care o
contactează plugin-ul trebuie listată în network-ul manifestului.
A4 — Fără operațiuni dincolo de capabilitățile declarate. Fără acces la sistemul
de fișiere în afara propriului director al plugin-ului, fără pornirea de procese
decât dacă exec este declarat, fără escaladare de privilegii, fără citirea
secretelor gazdei (env, chei ssh, fișiere de sistem).
A5 — Fără ofuscare. Fără cod împachetat, minificat pentru a ascunde sau ofuscat
în alt mod care disimulează comportamentul.
A6 — Dependențe curate. Fără pachete cunoscute ca rău intenționate sau
vulnerabile; dependențe fixate.
A7 — Capabilitățile declarate corespund cu codul. Manifestul de capabilități
trebuie să reflecte ceea ce face codul în realitate — fără utilizare nedeclarată de
rețea, sistem de fișiere, exec, canale sau acreditări. Aceasta este cea mai
importantă verificare de corectitudine.
A8 — Manipularea sigură a propriei suprafețe. Fără command-injection,
SQL-injection sau path-traversal în codul propriu al plugin-ului.
B. Corectitudine
B1 — Manifest valid.manifest.json are câmpurile obligatorii, un slug valid, o
version semver și un punct de intrare funcțional.
B2 — Se încarcă. Plugin-ul se inițializează fără probleme.
B3 — Capabilități bine formate, minimale. Manifestul de capabilități se parsează
și declară minimul de care are nevoie — nimic în plus.
B4 — Versiune nouă sau incrementată.version-ul este mai mare decât orice
versiune trimisă anterior.
B5 — Fără coliziune de slug. Slug-ul nu se ciocnește cu un nume rezervat sau
propriu.
C. Completitudine — paritate cu pagina de magazin
C1 — Nume și descrieri în RU + EN. Nume, descriere scurtă și completă în ambele
limbi, toate semnificative (fără texte de umplutură).
C2 — Categorie. O categorie din setul permis.
C3 — Pictogramă + cel puțin o captură de ecran. Imagini valide.
C4 — Versiune + jurnal de modificări. O versiune și note de jurnal ușor de
citit.
C5 — Identitatea autorului. Un expeditor identificabil.
C6 — Licență. O licență din setul permis.
C7 — Legături valide. Pagina principală/depozitul, dacă este dat, este un URL
https:// valid. O legătură de donație, dacă este dată, trebuie să fie o
legătură https:// validă către o gazdă de donații cunoscută (de exemplu
Boosty, Patreon, PayPal, YooMoney) — gazdele arbitrare sau de phishing sunt respinse.
C8 — Permisiuni ușor de citit. Câmpul description al manifestului de
capabilități explică, în limbaj simplu, de ce are nevoie plugin-ul și de ce.
D. Politică, aspecte juridice și conținut
D1 — Fără conținut interzis. Nimic ilegal, dăunător sau contrar politicii
platformei.
D2 — Fără uzurpare de identitate. Fără abuz de mărci comerciale sau pretinderea
a fi altă marcă ori echipa AiHummer.
D3 — Fără afirmații înșelătoare. Plugin-ul face ceea ce spune.
D4 — Localizare coerentă. Textul RU și EN este real și coerent, nu o supă de
cuvinte generată automat.
D5 — Nu este spam. Nu este gol, duplicat sau spam.
Ce respinge automat vs. ce decide un om
Rezultat
Declanșator
Respingere automată
Orice eșec critic de securitate din secțiunea A.
Semnalat → om
Avertismente sau probleme minore în B/C/D (descriere slabă, categorie la limită, o mică obiecție la manifest).
Decide un om
Fiecare trimitere care trece de automatizare are totuși nevoie de o aprobare explicită a moderatorului pentru a fi publicată.
Lista de permisiuni a gazdelor de donații
O legătură de donație este opțională și întotdeauna externă — marketplace-ul
nu gestionează niciodată banii. Dacă adaugi una, trebuie să indice o platformă de
donații recunoscută prin https:// (de exemplu Boosty, Patreon, PayPal sau
YooMoney). Legăturile către gazde necunoscute, scurtătoare de URL-uri sau orice
seamănă cu phishing sunt respinse. Plugin-urile de comunitate sunt gratuite;
legătura de donație este pur și simplu un mod prin care utilizatorii recunoscători te
pot susține.
Fiecare plugin de comunitate trimis prin
[cabinetul personal](/ro/v1.0/marketplace/submit-plugin) este supus unei recenzii
înainte de a putea fi publicat. Această pagină este **lista de verificare publică** —
aceleași criterii pe care le folosește recenzia — pentru ca să poți îndeplini fiecare
cerință **înainte** de a trimite.
Recenzia are două etape: o **verificare automată** față de această listă de
verificare, apoi un **moderator uman** care ia decizia finală. Nimic nu este publicat
fără aprobarea moderatorului, iar automatizarea nu aprobă niciodată pe cont propriu.
## Cum se ajunge la un verdict
- Fiecare criteriu este notat cu **pass / warn / fail** cu un motiv scurt (iar, pentru
moderator, cu dovada exactă).
- Un **eșec critic de securitate** (orice element din secțiunea A) ⇒ **respingere
automată**. Primești motivele și poți corecta și retrimite.
- **Avertismentele sau problemele minore** ⇒ trimiterea este **semnalată pentru un
om**, care le cântărește și decide.
- **Totul „pass”** ⇒ tot ajunge la un **om**, care ia decizia finală de publicare.
> [!IMPORTANT]
> Recenzia automată **nu** publică niciodată un plugin. Un moderator uman ia
> întotdeauna decizia finală, iar nimic nu ajunge în catalog fără aceasta.
## A. Securitate — un eșec aici respinge automat
Acestea sunt cerințe stricte. Orice eșec respinge trimiterea automat.
- **A1 — Fără secrete codate în cod.** Niciun fel de chei API, token-uri, parole sau
chei private, nicăieri în artefact sau metadate. Declară acreditările **după nume**
în [manifestul de capabilități](/ro/v1.0/marketplace/submit-plugin#step-3--declare-the-capability-manifest);
clientul furnizează valorile la momentul instalării.
- **A2 — Fără cod rău intenționat.** Fără reverse shell-uri, evaluare de cod la
distanță, mineri, ransomware sau tipare similare.
- **A3 — Fără exfiltrare de date.** Fără trimiterea datelor utilizatorului, a
acreditărilor sau a memoriei către gazde nedeclarate. Fiecare gazdă pe care o
contactează plugin-ul trebuie listată în `network`-ul manifestului.
- **A4 — Fără operațiuni dincolo de capabilitățile declarate.** Fără acces la sistemul
de fișiere în afara propriului director al plugin-ului, fără pornirea de procese
decât dacă `exec` este declarat, fără escaladare de privilegii, fără citirea
secretelor gazdei (env, chei ssh, fișiere de sistem).
- **A5 — Fără ofuscare.** Fără cod împachetat, minificat pentru a ascunde sau ofuscat
în alt mod care disimulează comportamentul.
- **A6 — Dependențe curate.** Fără pachete cunoscute ca rău intenționate sau
vulnerabile; dependențe fixate.
- **A7 — Capabilitățile declarate corespund cu codul.** Manifestul de capabilități
trebuie să reflecte ceea ce face codul în realitate — fără utilizare nedeclarată de
rețea, sistem de fișiere, exec, canale sau acreditări. Aceasta este cea mai
importantă verificare de corectitudine.
- **A8 — Manipularea sigură a propriei suprafețe.** Fără command-injection,
SQL-injection sau path-traversal în codul propriu al plugin-ului.
## B. Corectitudine
- **B1 — Manifest valid.** `manifest.json` are câmpurile obligatorii, un slug valid, o
`version` semver și un punct de intrare funcțional.
- **B2 — Se încarcă.** Plugin-ul se inițializează fără probleme.
- **B3 — Capabilități bine formate, minimale.** Manifestul de capabilități se parsează
și declară **minimul** de care are nevoie — nimic în plus.
- **B4 — Versiune nouă sau incrementată.** `version`-ul este mai mare decât orice
versiune trimisă anterior.
- **B5 — Fără coliziune de slug.** Slug-ul nu se ciocnește cu un nume rezervat sau
propriu.
## C. Completitudine — paritate cu pagina de magazin
- **C1 — Nume și descrieri în RU + EN.** Nume, descriere scurtă și completă în ambele
limbi, toate semnificative (fără texte de umplutură).
- **C2 — Categorie.** O categorie din setul permis.
- **C3 — Pictogramă + cel puțin o captură de ecran.** Imagini valide.
- **C4 — Versiune + jurnal de modificări.** O versiune și note de jurnal ușor de
citit.
- **C5 — Identitatea autorului.** Un expeditor identificabil.
- **C6 — Licență.** O licență din setul permis.
- **C7 — Legături valide.** Pagina principală/depozitul, dacă este dat, este un URL
`https://` valid. O **legătură de donație**, dacă este dată, trebuie să fie o
legătură `https://` validă către o **gazdă de donații cunoscută** (de exemplu
Boosty, Patreon, PayPal, YooMoney) — gazdele arbitrare sau de phishing sunt respinse.
- **C8 — Permisiuni ușor de citit.** Câmpul `description` al manifestului de
capabilități explică, în limbaj simplu, de ce are nevoie plugin-ul și de ce.
## D. Politică, aspecte juridice și conținut
- **D1 — Fără conținut interzis.** Nimic ilegal, dăunător sau contrar politicii
platformei.
- **D2 — Fără uzurpare de identitate.** Fără abuz de mărci comerciale sau pretinderea
a fi altă marcă ori echipa AiHummer.
- **D3 — Fără afirmații înșelătoare.** Plugin-ul face ceea ce spune.
- **D4 — Localizare coerentă.** Textul RU și EN este real și coerent, nu o supă de
cuvinte generată automat.
- **D5 — Nu este spam.** Nu este gol, duplicat sau spam.
## Ce respinge automat vs. ce decide un om
| Rezultat | Declanșator |
|---|---|
| **Respingere automată** | Orice eșec critic de securitate din **secțiunea A**. |
| **Semnalat → om** | Avertismente sau probleme minore în B/C/D (descriere slabă, categorie la limită, o mică obiecție la manifest). |
| **Decide un om** | Fiecare trimitere care trece de automatizare are totuși nevoie de o aprobare explicită a moderatorului pentru a fi publicată. |
## Lista de permisiuni a gazdelor de donații
O legătură de donație este **opțională** și întotdeauna **externă** — marketplace-ul
nu gestionează niciodată banii. Dacă adaugi una, trebuie să indice o **platformă de
donații recunoscută** prin `https://` (de exemplu Boosty, Patreon, PayPal sau
YooMoney). Legăturile către gazde necunoscute, scurtătoare de URL-uri sau orice
seamănă cu phishing sunt respinse. Plugin-urile de comunitate sunt **gratuite**;
legătura de donație este pur și simplu un mod prin care utilizatorii recunoscători te
pot susține.
## Unde mergi mai departe
- [Publicarea unui plugin](/ro/v1.0/marketplace/submit-plugin) — parcurgerea pas cu
pas a trimiterii.
- [SDK pentru plugin-uri](/ro/v1.0/marketplace/sdk) — construiește plugin-ul și
`manifest.json`-ul său.
- [Prezentare generală și niveluri ale marketplace-ului](/ro/v1.0/marketplace/overview-tiers) —
prin ce diferă catalogul oficial de cel al comunității.