permission interface