There are three places it can run, and the choice shapes everything downstream. Inside a CDP, resolution happens behind a marketing UI and the resolved profile is served back through the platform's APIs. Inside the data warehouse, resolution runs as SQL on the data that's already there, on whatever schedule your dbt job uses. Inside the data pipeline, resolution runs in real time between the event collector and the warehouse, so every event lands already stitched. Each option has a different latency profile, a different ownership story, and a different ceiling on what downstream systems can do.