User-Driven Access Control: Rethinking Permission Granting in Modern Operating Systems | Synapse