Building dbt models containing different sensitivity classifications

Does anyone have models that materialize to a table that reference sensitive source data that doesn’t make it to that table? I want developers to be able to reference the materialized table but they can’t have access to the source data to build it themselves. So what I’m thinking is to have some “source” models that do the work with the sensitive data, and that’s all they do. Then in a separate hierarchy, simply define those tables as sources and reference those tables with source() instead of ref(). There are a few downsides, like needing to duplicate the schema definition, and needing to trigger dbt run twice to fully rebuild when data is updated, but I can’t think of a better way to support this. Does anyone have experience with this or know of any better way of supporting this?