Hypothetically, if side-loading were to be allowed it could be buried under a configuration+confirmation flag for security reasons just like with Android or Windows 10.
Thinking more abstractly about this, I already do "sideload" iOS applications when I sign them with enterprise/developer certs and perform OTA installs from systems I control. Presumably, there is still some communication with the mothership going on (certificate revocation checks), but the principles are very similar...