This is where the Contract Access module comes into the picture. By including this module, you can restrict external contracts that call into your contract with a white-list of contract addresses. For instance, let’s say your initial DappState contract is S, and your initial Dapp contract is A. You can add A as an authorized contract initially. Later, if you want to deprecate A and introduce a revised Dapp contract B, you can remove A from the Contract Access authorized contracts list and replace it with B.