Ya, that is quite the cold war situation there.
I have a random idea, though.😁
Perhaps Apple could make a dynamic method name that changes during run time. Each name might last 30 seconds and then roll over. ( kind of like a rsa dongle ) You query Apple's secure hardware for the method signature ( the hardware that stores touch id for instance with no access ) -- perhaps there is a fixed memory address on the bus in hardware somewhere to get at it. Then call it ( or use it to construct a name ) as a method in your program. If the method does not exist then you crash but you did not want to run on the broken phone anyways. Otherwise, you call this working function that attempts to do something outside your sandbox and or does something not priviledged. If you called it and it returns a failed status then you are not jailbroken. Otherwise, you are jailbroken because it worked when it should not have -- your updated app takes action. Perhaps, when there is a system update they can replace or modify what that randomly named method checks for -- maybe it has its own implementation of fork or other checks etc. Since the name is random and the Xcon folk do not have access to Apple's secure hardware in the phone, they can't patch the name. Atleast, your app might be out of the loop on the check. Fun to think about...