Not three tools. One graph, asked three ways.
Code, cloud and consent share a single model of your personal data. That is why the answers agree with each other, and why questions exist here that no single-purpose tool can ask.
Values followed across functions and files, plus infrastructure definitions, dependencies and committed secrets.
See it →The account the data actually rests in, graded against the same clauses, with drift between snapshots.
See it →A banner, a hash-chained record, and the runtime check that tags did not fire before anyone agreed.
See it →Questions that need more than one module.
Classify a field once.
Deciding whether a field counts as personal data is the input every other view depends on. Make that call once in the data dictionary and it updates the flow map, the RoPA, the blast radius and the findings at the same moment, with no re-scan. In separate tools it is a decision you make repeatedly and inconsistently.