IOnclad  /  Features  /  Projects
Workflow · Projects Pro

Your launch is only as safe as its weakest surface.

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.

What a Project is

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?

Web app repo Backend API Marketing site Admin dashboard Mobile / PWA Live URL target + one verdict over all of them

Why a single aggregate verdict matters

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.

1. Attackers target the softest surface, not the average one

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.

2. A clean average hides a critical hole

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.

3. The surface you forgot to scan is the unknown that bites

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 trap

"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.

How the weakest-link verdict is built

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
How IOnclad builds the aggregate

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.

How to use it well

Find every secret before someone else does.

Scan your code and full git history in under a minute. Free verdict, no signup, nothing leaves your machine.