How the HOL plugin Trust Score works
Methodology version 2026-10-21. Updated .
The Trust Score is a 0 to 100 number computed from a static scan of each plugin source. It is a weighted sum of six components, capped when the scan finds high-severity problems, then adjusted by two disclosed policies. Memberships and payments are not inputs.
The formula
Each component is scored from 0 to 100. The Trust Score is their weighted sum, rounded and kept between 0 and 100.
| Component | Weight | How it is scored |
|---|---|---|
| Security | 40% | The scanner security score when the scanner reports one. Otherwise 100 minus a penalty for each finding: 45 critical, 35 high, 12 medium, 5 low. Informational findings do not count. |
| Provenance | 20% | Points for evidence that ties the listing to its source: 35 for a pinned source commit, 35 for a verified manifest digest, 20 for a domain proof, 10 for a verified publisher. |
| Installability | 15% | The lower of two finding scores, one for manifest findings and one for publishability findings. Each starts at 100 and uses the same severity penalties as Security. |
| MCP posture | 10% | Starts at 100 and loses the severity penalties for MCP security findings. A plugin without MCP servers has no such findings and scores 100. |
| Publisher | 10% | 75 when the manifest names a homepage or repository and a developer or display name. 40 otherwise. |
| Maintenance | 5% | Points for files in the source: 30 README, 25 SECURITY.md, 25 a package manifest, 20 a lockfile, 10 a license. Capped at 100. |
Caps for serious findings
A strong score elsewhere cannot hide a serious problem. The first matching rule caps the total.
- Any high or critical finding: at most 39.
- Otherwise, MCP posture below 50: at most 49.
- Otherwise, provenance of 0: at most 59.
Disclosed adjustments
After the caps, two policies multiply the total. Every listing shows the adjustments that apply to it, with the reason.
- Security checks missing from CI (-10%): Security checks are not maintained in the source repository's CI.
- HOL listing badge in README (+2%): The source repository README links to its HOL listing badge. This is an engagement adjustment, not security evidence.
Security labels
The security label comes from the Security component alone, not the total.
- Safe: 90 to 100.
- Review: 70 to 89.
- Caution: 45 to 69.
- Unsafe: below 45.
How the catalog orders results
- Recommended, the default order, is the Trust Score plus a community lift of 5 × log2(1 + upvotes), capped at 20 points.
- Searches use Best match, which orders by relevance to the query.
- Trust, Security and Recently updated sorts use only their own field.
- Paid featured placements are pinned above the Recommended order only and are labeled Sponsored. They never move a listing in Best match or an explicit sort.
- Memberships never change order in any sort.
- Results report the ranking version they were ordered with. The current version is 2026-10-21.1.
Limitations
- The scan is static. It reads source files and manifests; it does not run the plugin or test it for exploits.
- A high score is not a safety guarantee. Review permissions and source before installing anything.
- Scores are not normalized per runtime. The same weights apply to Claude Code, Codex, Cursor and every other runtime, so a difference between two listings is a difference in evidence, not a curve.
- Provenance signals that a listing cannot prove yet, such as a domain proof, score 0 rather than being assumed.
- HOL Blue and Gold memberships, paid placements and upvotes are not inputs to the Trust Score.