Adobe chose to link operation of paid copies to the say-so of a remote server, rather than allow independent operation of paid copies. Had they chosen the latter, the gov't order would have been largely moot; what they chose proved devastating.
Designing a fail-safe system involves acknowledging that you may not know why the system may fail, just that something must be done to mitigate the problem if it does. International sanctions proved to be such an unexpected point of failure.