A plugin is listed only if all of this holds. The validator (tools/onair_registry.py lint) checks what a program can check; a maintainer decides the rest.
source URL) unless the plugin is only listed, never “reviewed”.docs/CODECS.md); the registry does not host codec builds or links to them.filesystem; credentials, wallets, browser data and system files are never to be touched.network). No hidden functions, no telemetry that is not described on the page..onairplugin package at a stable https URL (a release asset) with the sha256 and size on the page. The package’s id, version, kind and ABI equal the page.revoked.json, not by lowering the version.| Level | Meaning |
|---|---|
listed |
meets the rules above, checked by the validator. Nobody read the code. |
reviewed |
a maintainer read the source (public) and found nothing that breaks the rules. A person looked; it is not a guarantee. |
verified |
reviewed, and a maintainer built it from the tagged source and the build matches the package. Still not a guarantee. |
OnAir has no sandbox for untrusted plugins yet. Every plugin is native code that runs with the program’s rights, whatever its level.
revoked.json is a list of {"id": "...", "version": "*" | "1.2.0" | "<=1.2.0", "reason": "..."}. At the next refresh every OnAir that has the plugin switches it off and shows the reason. The reason is shown to users: keep it factual.