[Upg] refactoring permission provider