Hi @Warren This is hard to answer as Zitadel provides different possibilities. Depending on your needs you might need different solutions. not sure if you run on Cloud or self hosted, but i try to give an overview
You can either run two completaly different Zitadel for your dev and prod env. This gives you the flexibility of upgrading the different environments of Zitadel when you need it. You can first upgrade dev if everything works fine, you can do it in your prod
You can run two virual instancecs in your Zitadel. This means you upgrade the whole system, but you do have separat environments for dev and prod. Also organizations and users are separated, a user in the dev env will not be able to get access to prod and the other way around, but you will also have to manage everything twice
You have one Zitadel environment with 2 different projects dev and prod. In this case the data is not separated and users can be added to the dev and prod app and given permission depending on the need.