Umbra
← All docs

Deep Audit · partial-coverage transparency

When a scan hits its time or AI budget mid-run, the report renders with a clear partial-coverage badge. You see what was covered and what wasn't, no silent drop-offs.

Last updated Jun 9, 2026

What it is

Deep Audit scans run with two hard caps:

  • Wall-clock: 12 hours total, 6 hours for Phase 1 (JupiterSec)
  • AI budget: $30 per scan, shared across Triager + Explorer

When either cap fires, the scan completes with whatever was already produced. Triager-confirmed findings persist, Explorer findings from completed tiers persist, the report renders.

But it does so with a clearly visible partial-coverage badge so you know the scan didn’t finish a full pass.

What the badge shows

ReasonBadge text
JupiterSec killed mid-run (time cap)“Scan was killed mid-run · X/Y modules completed”
AI budget reached”AI budget cap reached · K findings unjudged”
Operator cancel”Cancelled by operator at HH:MM:SS”

The findings list is annotated: each persisted finding is labeled with the phase that produced it, so you can tell at a glance what made it through.

Why this matters

The default behaviour of most scanners is: hit a limit, fail the whole scan, return no data. That’s wrong for a paid product. The customer paid $100 and a half-completed scan still has genuine value.

Partial-coverage transparency means:

  1. You’re never silently downgraded. The badge is explicit.
  2. The findings you DO get are real, evidence-backed, and labeled with their phase.
  3. You can re-launch the same audit with different settings (fast mode, smaller scope, different model tier) if the partial result wasn’t enough.

When you’ll see this

For typical SaaS web apps (under 200 endpoints, modest auth complexity), the caps almost never fire. Partial coverage shows up most often on:

  • Very large apps (1000+ endpoints) on the default budget
  • Apps with deep multi-step auth flows that eat Triager budget per-finding
  • First-run scans against new targets where JupiterSec’s recon takes longer than usual

What you can do about it

ApproachWhy
Relaunch with fast mode ONSkips slower JupiterSec modules, finishes the scan in ~30 min
Scope to a sub-pathhttps://target.com/api/ instead of the whole app
Bring auth credentialsAuth’d scans use budget more efficiently than auth-less