Mmcp.market

Is Signal8 safe?

Yes, with the usual care.

B84/100grade B

Safe to use. Minor gaps such as a missing repository or slower maintenance.

No critical or high findings in the latest scan.

Public scan report

scanner v0.1.3 · 2026-09-19 · same rubric, same numbers if you re-run it

1 low
  • Code scan73 source files scanned25/25
  • Live reliabilityremote reachable in 3293ms17/20
  • Tool poisoning101 tool descriptions checked13/15
  • Auth qualityAPI key sent as a header8/15
  • Maintenancelast push 1 days ago15/15
  • Maintainer identitynamespace and repository owner differ; website matches verified namespace6/10

Findings (1)

  • lowUnusually long tool description (over 2,000 characters)poison.long-description
    tool get_premarket_scan_history: …Historical MARKET-WIDE premarket scan for a single PAST trade date. For the requested ET date, returns every ticker with that day's premarket (default) session volume and its relative volume (RVOL) vs the trailing 30-day same-session baseline — the SAME RVOL math as get_rvol_history, but across the whole market for one date instead of one ticker across many dates. Filter by RVOL, market cap, price, and float to backtest screens like "sub-$500M tickers with premarket RVOL > 5 on 2026-07-20" in one call. Rows are ranked by RVOL descending. A future or non-trading date returns an empty list with an explanatory reason (not an error). Every row also reports "baselineState" (why its RVOL is or is not null), "advRatio" (volume ÷ trailing 30-session average FULL-DAY volume) and "advDays"; set includeNoHistory=true to surface high-volume tickers that have no computable RVOL at all, such as first-session new listings. Each row ALSO publishes the RVOL denominator itself as "baselineVolume" (shares) plus a "baselineThin" flag (true when that denominator is under 200 shares): a 90x RVOL off a 1-share baseline is arithmetically correct and analytically worthless. That is almost entirely an asOfTime-basis effect (0.1% of full-session rows vs ~38% at the 04:30 cutoff, falling to ~9% by 09:15) and it skews to LIQUID LARGE CAPS that simply do not trade early, NOT to microcaps. Screen it out with minBaselineVolume and/or minSessionVolume. The response "meta" also reports asOfApplied / asOfIgnored / asOfIgnoredReason, so a time-of-day request that could not be honoured is visible instead of quietly returning full-session numbers. A price / market-cap / float filter can only be applied to a ticker company_screener_data holds a value for, so a just-renamed or just-listed symbol cannot be rated against it. Those rows are NEVER silently dropped: "meta.unscreened" always reports their count, the filter families involved and the tickers, and includeUnscreened=true returns them in "rows" tagged with "unscreenedFilters". Treat that tag as NOT MEASURED — the value is unknown, not out of range. Charged per your API tier.…
Overall 84/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

Full listing, tools and install