Implied Technologies: Detections Inferred From Other Detections
An implied technology is one inferred from another rather than seen directly: WooCommerce implies WordPress, which implies PHP and MySQL. Implied entries carry slightly lower confidence than the detection that produced them.
Why it matters
Real stacks are layered. When you detect WooCommerce, you also know WordPress is running. When you find WordPress, you know PHP is running. When you find Next.js, you know Node.js is running. A single strong detection often proves several technologies beneath it, and a detector that surfaces only the top layer hides the full picture.
Implication is how Scalpel Stack follows those chains and surfaces the database engine you never see a direct trace of. Marking them as implied and discounting their confidence keeps the inference honest rather than presenting a guess as a sighting.
How it works
The fingerprint database defines implication rules: if technology A is detected, technology B is implied. The Scalpel Stack engine evaluates a page, finds a technology, and then checks whether any other technologies are implied by it. This process repeats to a fixpoint, safely, without looping on cycles.
Implied technologies inherit a reduced share of their implier's confidence. A WooCommerce detection at 95 confidence might imply WordPress at 85 confidence, which implies PHP at 75 confidence. This gradual reduction reflects the chain of inference: each step down introduces a little more uncertainty.
The engine also respects requires (hard dependency) and excludes (mutually incompatible) relationships, so incompatible technologies are never both reported and impossible dependencies are skipped.
What does not matter
Implication is inference, not fact. A site running WordPress does not necessarily run WooCommerce, even though WooCommerce requires WordPress. Implication flows in one direction: if you see the child, you know the parent exists; but seeing the parent does not prove the child is there.
You cannot trust an implied technology as strongly as a direct detection. A low-confidence implied detection is often just noise.
Code example
A raw detection might look like this in the database:
{
"name": "WooCommerce",
"implies": ["WordPress"]
}
And WordPress in turn implies:
{
"name": "WordPress",
"implies": ["PHP", "MySQL"]
}
If Scalpel Stack detects WooCommerce at 90 confidence, the engine automatically reports:
- WooCommerce: 90 confidence (direct detection)
- WordPress: ~82 confidence (implied by WooCommerce, marked with "implied by WooCommerce")
- PHP: ~74 confidence (implied by WordPress)
- MySQL: ~74 confidence (implied by WordPress)
Each row's expanded evidence shows an "implied by X" trail with the implied vector badge.
How Scalpel Stack shows it
Implied rows appear in the popup indented slightly under their implier, or listed separately with an "implied by" evidence line. The confidence score on an implied tech reflects its distance from the direct detection. Expanding the row reveals the full trail: the vector that fired, the pattern that matched, and which other detection triggered this inference.
You can filter implied technologies out if you prefer to see only direct detections, or trust the engine to surface the full stack.