Need two versions of an entire project without needing to manually update 2 different pages or files

I am working on a design for a client who is pitching the product to two different companies. We want to use the exact same screens and prototype I’ve built out, but change the logo/a few small copy changes on the second version.

Since we are constantly iterating, adding screens, and altering some pages’ layouts, I would like to make the changes to entire screens once, and have it update for both versions. Is there a way to do this? I am okay with the prototype needing to be manually reconciled for each version, but I at least need the entire pages (minus small copy changes) to match one another so changes don’t become out of sync. Most pages are already using components for sections, and I basically use auto layout on everything.

I considered making each screen a component, and using an instance of the entire screen component to prototype the second version, but I think this will cause some issues prototyping (I would need to “remove all connections” on the second version and reconnect everything, so it doesn’t end up referencing the wrong prototype). I also think some issues come into play when prototyping an entire screen… I can’t quite remember what/why at the moment.

I could also have a master component, and have both prototypes be using instances. I don’t think a library would be any more beneficial, either.

Any recommendations on how to remedy this?