A product isn't one codebase. It's a web app, an API, and a marketing site, and they ship together. Projects groups those surfaces into one unit and gives you a single verdict where the softest target sets the grade. A hardened API can't paper over a leaky marketing site, because that's exactly how a real attacker picks where to break in. The multi-surface aggregate is part of IOnclad Pro; single surfaces are free.
A Project owns one or more Targets. Each Target is a surface you scan on its own: a local repo, a live URL, an API, whatever your product is actually made of. You still get per-surface scans with their own findings. Projects sits on top and rolls them into one aggregate view so you can answer the only question that matters before launch: is the whole thing ready, or not?
Scanning each surface separately feels thorough, but it hides the one fact you most need at launch: the worst result is the one that ships. Here's what a per-surface-only view lets slip.
Nobody breaks into the part you hardened. They look across everything you exposed and pick the weakest entry: a stray admin panel, a forgotten staging API, a marketing site with a leaked form key. An A-grade backend means nothing if the contact form next to it hands over a live credential. Your real security posture is the minimum across surfaces, not the mean.
Three surfaces at 95 and one at 40 do not average to "fine." If you grade the product on the blend, the 40 disappears into a comfortable number and you ship the hole. Projects refuses to average. The aggregate score is the lowest score across your scanned surfaces, full stop.
An unscanned surface isn't a pass. It's a blind spot. If one Target in the Project has never been scanned, the Project can't be called launch-ready, because you can't prove a surface is safe when you never looked at it.
"The main app is clean, so we're good" is how the marketing site or the internal API ships unchecked. The verdict you act on should cover every surface that goes live, not just the one you remembered to scan.
The rollup is deliberately strict so the verdict can't be gamed by a strong surface:
# Four surfaces in one Project web-app score 95 ready ✓ backend-api score 92 ready ✓ admin-panel score 88 ready ✓ marketing-site score 41 ready ✗ <-- the soft target # A naive average would say: (95 + 92 + 88 + 41) / 4 = 79 "looks shippable" # IOnclad's weakest-link rollup says: aggregate score = min(...) = 41 launch-ready = every surface scanned AND every surface ready = NO
Projects rolls your Targets up with pure weakest-link logic. It runs 100% offline, same as every IOnclad scan, and nothing leaves your machine:
LaunchGuard is advisory and surfaces known patterns and common misconfigurations. It is not a pentest, a guarantee, or legal advice.
Scan your code and full git history in under a minute. Free verdict, no signup, nothing leaves your machine.