The test I used to determine whether the sheets should be made visible was a quick, crude test for demonstration purposes. It could be replaced by any test, as complete and complex as you desire.
I'm not sure that the user would notice the disappearing tabs, most trouble comes from users not being aware.
How about this approach? Use the same kind of Change event to make the Public variable Flag True if no change has been made in "Master", then in the ThisWorkbook module, code like
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Flag And (Sh.Name <> "Master") Then
Private Sub Worksheet_Activate()
Flag = True
Private Sub Worksheet_Change(ByVal Target As Range)
Flag = (Target.Value <> "ok")
Public Flag As Boolean