Four steps, and one of them is honest about what we don't know.
Traversal is the product. Everything else exists to keep the output trustworthy enough to act on.
Add a vendor
Search any company and follow it, or upload the inventory CSV you already keep. Free accounts watch one vendor at depth 1.
We traverse the whole chain
Their subprocessors, and theirs, until the chain terminates. Cycles are detected, entities deduplicated, and depth stored as the shortest path from your root.
We classify and suppress
Every diff is typed as one of the changes below. Copyright years and whitespace churn never reach you.
Your rules decide who hears
Conditions over type, country, region, category and depth. Severity, channel and immediate-or-digest are set per rule.
Three states, never collapsed into two.
A vendor that publishes nothing is a fact. A vendor we have not reached is a gap. Conflating them understates your risk, so we don't.
Conditions over codes, not over words.
Rules match on change type, country, region, category, depth and entity ID. Names are deliberately not matchable: companies get renamed, and the same company is spelled differently in different languages. Write a rule in Danish and it evaluates exactly as one written in German.
IF change.type = entity_added
AND entity.region NOT IN [EU, EEA]
AND vendor.id IN [critical vendor set]
THEN severity = critical
channels = [email, slack]
delivery = immediateStart with one vendor. Free, and no card.
Search a company, follow it, and see the chain beneath it. Upgrade when one vendor stops being enough.