Features Aren't Built in Isolation: How One Customer Case Became External Exposure Assessments
Modules aren't created detached from the product narrative. A new one has to account for the architecture, the APIs, the data structure - and the data has to be reusable as a source for other modules. Here's how one such chain grew from a single customer case into a full external exposure scanner.

Features and modules are not created in isolation, detached from the overall product narrative. A new module has to account for the product architecture, the APIs, the data structure, and many other factors. The data has to be "reused" and act as a source for other modules. That is why planning often turns into a sequence of steps.
In Pentesterra, one such sequence was OSINT → phishing module. A more recent example started with a specific customer case and grew into something much broader.
From supply chain to external exposure
First it was supply chain assessment, which almost immediately evolved into External Exposure Assessments: the ability to passively upload 50,000 companies, run checks quickly, and support compliance workflows.
Then I connected threat feeds and, naturally, found a place for them in the existing Knowledge Base as well. Then I continued by adding passive and active checks without the long pentest part:
- Does this company have botnet activity associated with it?
- Is its mail relay open?
- Has it appeared in data leaks or on the dark web?
The result was a fast scanner that can show information about a company within seconds. Then came monitoring and notifications for added companies, as well as company discovery and alerts.
And yes - naturally, I cannot not offer my services to those companies. The money and the customers are there. I'm also considering adding quick-check forms directly to the website, but I'll probably implement them inside the application, with free registration and usage quotas. That seems like the more reasonable step.
The Knowledge Base, without paid feeds
I do not like relying on paid feeds to populate the Knowledge Base. They create commercial-use licensing questions and additional costs. So, in parallel, crawlers and parsers are running, feeds are being collected, and all of this data is being aggregated - without inflating infrastructure costs to absurd levels.
That is a separate circle of hell: a large number of tasks being processed in parallel. The result is what you see.
Why "multi-tool" scares salespeople
Salespeople and investors lose their minds over this "multi-tool," because it's always easier to sell the simplest possible thing - something that can be explained in two words and solves one clear customer pain.
But the modules feed each other. That's the point.
https://pentesterra.com/blog/features-are-not-built-in-isolation