Splitting interfaces: making trust between applications and operating systems configurable | Synapse